php8拦截器,Web中的监听器 过滤器 拦截器

public class MyFilter implements javax.servlet.Filter {

2 /**

3 * 初始化

4 */

5 @Override

6 public void init(FilterConfig arg0) throws ServletException {

7 }

8 /**

9 * 销毁

10 */

11 @Override

12 public void destroy() {

13 }

14 /**

15 * 过滤

16 */

17 @Override

18 public void doFilter(ServletRequest arg0, ServletResponse arg1,

19 FilterChain arg2) throws IOException, ServletException {

20 arg0.setCharacterEncoding("utf-8"); //设置request对象的字符集格式

21 arg2.doFilter(arg0, arg1); //继续执行 请求

22 }

23 }

这个是Filter实体的代码,在web.xml文件中我们需要对其需要拦截的请求配置监听范围,或者说过滤哪些url。

2 myfilter

3 com.mine.test.MyFilter

4

5

6 myfilter

7 /*

8

2. 拦截器  我们使用struts预定义过的拦截器时只需要做相应的配置即可,大多数常用的都会在default中有定义,而在struts.xml中不写就默认使用这个default。当我们自己创建了一个Intercepter对象时我们需要对其进行配置,具体配置的方法这里就不赘述了,戳此处 http://www.blogjava.net/brock/archive/2009/08/20/291919.html  。拦截器中有三个基本的方法对应其生命周期。

a.初始化  b.执行拦截  c.销毁。针对action请求进行处理,脱离了servlet API,不处理一般的url请求。

3. Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要是在服务器启动时加载

主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。

package com.lzw.filter.demo;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class InitDataListener implements ServletContextListener {

private static ServletContext servletContext;

public static ServletContext getServletContext() {

return servletContext;

}

@Override

public void contextInitialized(ServletContextEvent contextEvent) {

servletContext = contextEvent.getServletContext();

//final ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

System.out.println("服务器启动完毕!");

System.out.println(servletContext);

}

@Override

public void contextDestroyed(ServletContextEvent sce) {}

}

web.xml

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

com.lzw.filter.demo.InitDataListener

控制台结果:

信息: Starting service Catalina

2013-10-31 15:13:55 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/7.0.42

服务器启动完毕!

org.apache.catalina.core.ApplicationContextFacade@7966340c

2013-10-31 15:13:56 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-apr-8080"]

2013-10-31 15:13:56 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-apr-8009"]

2013-10-31 15:13:56 org.apache.catalina.startup.Catalina start

信息: Server startup in 402 ms

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值