servlet分为 简单Servlet、过滤Servlet、监听Servlet
Servlet声明周期
加载——》初始化——》处理服务——》销毁——》卸载
Servlet跳转
服务器跳转:服务器端跳转既可以传递session范围的属性,也可以传递request范围的属性
客户端跳转:地址栏发生变化,客户端跳转传递session范围的属性,而无法传递request范围的属性
1.简单Servlet
接受HTTP请求并执行某种处理,将处理后的结果向web服务器返回应答。 定义Servlet需继承HttpServlet抽象类
2.过滤Servlet
在没有使用过滤器以前,客户端都是直接请求web资源,但是一旦加入了过滤器,所有的请求都是现交给过滤器处理,然后在访问相应的web资源,可以达到对某些资源的访问限制。 定义过滤Servlet需实现Filter接口
3.监听Servlet
负责监听web的各种操作,当相关的事件触发后将产生事件,并对此事件进行处理。在web中可以对application、session、和request3种操作进行监听。
1.Application状态监听:实现ServletContextListener接口 Application属性监听:实现ServletContextAttributeListener接口
2.session状态监听:实现HttpSessionListener接口 session属性监听:实现HttpSessionAttributeListener接口
3.request状态监听:实现HttpRequestListener接口 request属性监听:实现HttpRequestAttributeListener接口
关于不同的Servlet配置
所有的Servlet程序都必须在web.xml文件中进行配置,如果一个web.xml文件要同时配置简单Servlet、过滤器和监听器的话,则建议按照如下步骤编写配置文件。
1.先配置过滤器:<filter> <filter-mapping>
2.在配置监听器:<listener>
3.最后配置简单Servlet:<servlet> <servlet-mapping>