-
过滤器生命周期 注:1.在web容器启动时依据web.xml实例化 一次 2.初始化 init() 一次 当web服务器启动时自动加载 3.过滤 doFilter() 多次 4.销毁 destroy() 一次 当web容器关闭时查看全部
-
过滤器的工作原理查看全部
-
过滤器链查看全部
-
过滤器的api查看全部
-
过滤器生命周期查看全部
-
过滤器工作原理查看全部
-
过滤器的概念查看全部
-
总结查看全部
-
过滤器在实际开发中的应用查看全部
-
总结: 过滤器的生命周期: 实例化(web.xml)--〉初始化(init())--〉过滤(doFilter())--〉销毁(destory()) 1.过滤器的概念: 过滤器是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤。 1.概念:过滤器是一个服务器上的组件,它可以截取用户端的请求和相应信息,并对其过滤 2.工作原理: 用户请求--〉过滤器将用户请求发送至Web资源--〉web资源--〉web响应发送至过滤器--〉过滤器--〉过滤器将web的响应返回给用户 3.过滤器的生命周期: 实例化(web.xml)--〉初始化(init())--〉过滤(doFilter())--〉销毁(destory()) 4.过滤器的API: init()、doFilter()、destory() 5.多个过滤器(过滤器链) 6.过滤器分类 7.过滤器实例:登录过滤器和编码过滤器 服务器会按照web.xml中过滤器定义的先后顺序组装成一条链查看全部
-
@编码设置,LoginFilter.java ...String noLoginPaths = config.getInitParameter("noLoginPaths"); String charset=config.getInitParameter("charset"); if(charset==null){//如果不设置,默认UTF-8 charset="UTF-8"; } request.setCharacterEncoding(charset);查看全部
-
@web filter的属性查看全部
-
四种形式查看全部
-
登录校验 @LoginServlet.java public void doPost() { 1.进行账号和密码的校验 } @LoginFilter.java public void doFilter() { HttpServletRequest request = (HttpServletRequest) arg0; HttpServletResponse response = (HttpServletResponse) arg1; HttpSession session = request.getSession(); String noLoginPaths = config.getInitParameter("noLoginPaths"); if(noLoginPaths!=null){ String[] strArray = noLoginPaths.split(";"); for (int i = 0; i < strArray.length; i++) { if(strArray[i]==null || "".equals(strArray[i]))continue; if(request.getRequestURI().indexOf(strArray[i])!=-1 ){ arg2.doFilter(arg0, arg1); return; } } } if(session.getAttribute("username")!=null){ arg2.doFilter(arg0, arg1); }else{ response.sendRedirect("login.jsp"); } } public void init(FilterConfig arg0) throws ServletException { config = arg0; } @web.xml 在web.xml的Filter中配置Initial Parameters查看全部
-
我来说说我对异步过滤器的理解吧。根据过滤器的规则,过滤器得等servlet执行结束才能停止,所以如果servlet执行很久,过滤器得等很久,所以说呢,为了使得过滤器早点执行结束,就让servlet在后台执行,过滤器提前结束,这就是异步过滤器的优点所在 @WebServlet(asyncSupported = true, displayName = "/AsyncServlet", urlPatterns={"/servlet/AsyncServlet"}) asyncSupported = true 是必须开启用以支持异步 @WebFilter(filterName="AsynFilter",asyncSupported=true,value={"/servlet/AsyncServlet"},dispatcherTypes={DispatcherType.REQUEST,DispatcherType.ASYNC}) asyncSupported = true 是必须开启用以支持异步 dispatcherTypes={DispatcherType.REQUEST,DispatcherType.ASYNC} DispatcherType.REQUEST必须要加上,否则过滤器就不会生效了 同时注意在过滤的地址和servlet的地址必须相同查看全部
举报
0/150
提交
取消