Servlet
Posted 咕噜噜zmj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet相关的知识,希望对你有一定的参考价值。
一、简介
1、Servlet:
狭义上的Servlet:仅仅指的是这个servlet接口
广义的Servlet:不仅包含该Servlet接口,还包含该Servlet的接口的子类!
2、Servlet是JavaWeb部分的三大组件:
JavaWeb部分三大组件:Servlet、Filter、Listener,这三个组件都需要交给web服务器管理!
3、Servlet的主要作用
接收请求
处理请求
完成响应
4、创建Servlet的方法:
1>自定义一个Servlet:
1).自定义一个类,实现Servlet接口,并实现接口中的方法
2).将自定义的servlet类在web.xml文件中配置一下!
1 <!-- 使用servlet标签配置我们自定义的servlet --> 2 <servlet> 3 <!-- 在servlet-name该标签中,我们可以配置一个servletName, 4 建议和servlet类的简类名一致 ,该servletName是我们自己使用--> 5 <servlet-name>HelloServlet</servlet-name> 6 <!-- 使用servlet-class标签配置自定义servlet类的全类名, 7 这个全类名是给服务器使用的,服务器会使用这个全类名创建该类所对应的servlet对象 8 --> 9 <servlet-class>com.neuedu.servlet.HelloServlet</servlet-class> 10 </servlet>
1 <!-- 使用servlet-mapping标签配置servlet映射 --> 2 <servlet-mapping> 3 <servlet-name>HelloServlet</servlet-name> 4 <!-- 该url-pattern 是用来请求映射url地址的,也就说 5 该标签中的内容是给浏览器访问使用的! 6 --> 7 <url-pattern>/Hello</url-pattern> 8 </servlet-mapping>
2>直接在项目的某一个包下右键—>New—>Servlet
这种创建方式不用配置web.xml文件,系统会进行自动配置
二、Servlet生命周期
- Servlet生命周期:就是Servlet对象由产生到销毁的过程
涉及到的方法:
1) Servlet构造器:在第一次访问该servlet的时候调用,且只会被调用一次,说明该Servlet是单例的,注意:不要在Servlet中定义非共享的变量。
2) init()方法:在第一次访问该servlet的时候调用【在构造器被调用之后紧接着被调用】,且该方法只会被调用一次
3) service()方法:每次访问该Servlet都会调用一次service()方法,因此业务逻辑代码,主要写在service()方法中
4) destroy()方法:该方法会在项目被卸载(服务器关闭)的时候被调用,且只会被调用一次
2、普通Servlet生命周期:请求的时候才将Servlet对应的字节码文件加载到虚拟机中
3、默认<load-on-startup></load-on-startup>值为负,即普通Servlet
4、设置<load-on-startup>1</load-on-startup>值为正(优先级0,1,2……),当部署的时候就会调用init()方法
三、相关接口
1、ServletConfig
1) 代表:代表当前Servlet的配置信息,每个Servlet对应唯一的一个ServletConfig对象
1 <servlet> 2 <servlet-name>MyServlet1</servlet-name> 3 <servlet-class>com.neuedu.firstservlet.web.MyServlet1</servlet-class> 4 <init-param> 5 <param-name>username</param-name> 6 <param-value>张三</param-value> 7 </init-param> 8 </servlet>
2) 获取:由Tomcat服务器创建,通过参数的形式传递给init()方法
3) 功能:
获取当前servlet的名称【getServletName()】
获取当前servlet的初始化参数【getInitParameter("username")】
获取Servletcontext【getServletContext()】
2、ServletContext:
1) 代表:ServletContext代表的是当前web应用!
2) 获取 :通过ServletConfig对象获取[getServletContext()]
3) 功能:
获取整个web应用的初始化参数【getServletContext()】
可以做为javaweb部分的四大域对象之一使用
可以获取当前项目的名称【getContextPath()】
可以获取文件的绝对路径[getRealPath("/index.html")]
路径:
虚拟路径:http://localhost:8080/servlet01/BServlet
真实路径:是指的在本地磁盘上的具体路径
以上是关于Servlet的主要内容,如果未能解决你的问题,请参考以下文章