一.定义与创建servlet类
servlet即能运行在服务器上的普通的java类,要实现servlet有3中方法
(1)实现 javax.servlet.Servlet接口
(2)继承javax.servlet.GenericServlet类
(3)继承javax.servlet.http.HttpServlet类
但是一般我们使用eclipse去创建servlet时,直接创建servlet即可,加上注解也不用去web.xml配置servlet
二.Servlet的配置和映射
<servlet>
<servlet-name>name</servlet-name>
<servlet-class>servlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>root</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>name</servlet-name>
<url-pattern>url</url-pattern>
</servlet-mapping>
解释与注意事项:
(1)servlet-name两个的值必须相同
(2)servlet-class为servlet的全类名,即servlet类所在的包下的目录
(3)同一个servlet可以被映射到多个url中
(4)url-pattern声明访问路径名,有两种书写方式
I. *.扩展名, *代表可以写任何字母,只要扩展名书写正确就能访问到
II. 以/开头 以/*结尾 注意 两种方式不能组合使用
(5)init-param为初始化参数
(6)load-on-startup:指定servlet创建和初始化的时机
I.若是负数,在第一次请求servlet时创建和初始化
II.若是0和正数,在当前web应用加载的时候创建该实例和初始化
III.数值越小越先被创建
IV.放在标签的最后面,否则其他标签会出错
三.servlet的执行顺序和生命周期
1.servlet容器:例如tomcat就是servlet容器,为javaweb应用提供运行时环境
负责管理servlet和jsp的生命周期
2.servlet的生命周期有4个,由servlet容器负责调用
(1)构造器:只能被调用1次,第一次加载servlet时,调用构造器,创建servlet实例,。servlet是单实例的 (方法名:servlet类名)
(2)init:只被调用了1次,在创建好servlet实例后,立刻被调用,负责初始化servlet
(3)service:被调用多次,每次请求都会调用service方法,用于响应请求
(4)destory:只被调用了一次,在当前servlet被web应用卸载的时候进行调用,用于释放当前servlet所占用的资源
3.执行顺序为 构造器(1次)-初始化(1次)-service(多次)-destory(1次)
四.servletConfig接口
封装了当前servlet的配置信息,它代表当前servlet
1.功能:用于读取web.xml中配置的当前servlet的所有信息
2.方法
(1)GetServletName()获取当前servlet在web.xml中的配置的名字返回String类型
(2)GetInitParameter("name")获取当前servlet指定名称的初始化参数的值
(3)GetInitParameterNames()获取当前servlet所有初始化参数的名字的枚举
(4)GetServletContext()获取当前web对象,获取的是当前web应用的根目录
五.状态码
200:请求成功
302:请求服务器重定向
304:若是页面没有修改,再次访问时通知浏览器读取缓存
404:找不到资源
500:代码错误