servlet_4

Posted 阳光-源泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet_4相关的知识,希望对你有一定的参考价值。

 

 

过滤器入门
	过滤器的概念及执行基本流程
	过滤器的使用场景
	过滤器的实现及基本配置


过滤器链
	过滤器链的配置
		使用注解的方式无法保证过滤器链的执行顺序,所以只能使用web.xml的配置
		按照出现在web.xml的filter-mapping顺序依次经过过滤器
		
异步过滤器
	与异步servlet类似
	
	异步过滤器的配置
	注解方式:设置@webfilter的属性asyncsupport属性为true
	web.xml方式:

与请求分派协作
	dispatcherTypes=DispatcherType.INCLUDE
	

 

 

包装器
	包装器的概念
	包装器类的使用
	
	在servlet api中提供了4个包装器类
	与装饰器的设计模式相类似
	允许将任何方法都包装到servletrequest...之中
	
	javax.servlet.ServletRequestWrapper,在其后加wrapper

 

 



一、servlet
package com.fgy; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/servlet6") public class Servlet6 extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("content")); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } =============================================== 二、过滤器 package com.fgy; import java.io.IOException; import javax.servlet.DispatcherType; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; @WebFilter(urlPatterns="*") public class Filter2 implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { chain.doFilter(new MyWrapper((HttpServletRequest) request), response); } public void init(FilterConfig fConfig) throws ServletException { } } ============================================= 三、包装器 进行修改,实现将请求参数的值1替换为one package com.fgy; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; public class MyWrapper extends HttpServletRequestWrapper { private HttpServletRequest request; public MyWrapper(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { String value = request.getParameter(name); return value.replaceAll("1", "one"); } }

 

以上是关于servlet_4的主要内容,如果未能解决你的问题,请参考以下文章

servlet_4

servlet,过滤器,监听器,拦截器的区别

servlet_4

servlet学习笔记_4

SpringMVC异常_Could not resolve view with name 'javascripts/jquery-2.1.4' in servlet with name

这些 C++ 代码片段有啥作用?