java过滤器---一异步处理

来源:互联网 发布:天蝎网络第三季百度云 编辑:程序博客网 时间:2024/04/27 07:50

过滤器代码如下:

package Filter;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;@WebFilter(filterName="AsynFilter",value="/Servlet/AysnServlet",dispatcherTypes={DispatcherType.ASYNC})public class AsynFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {System.out.println("过滤器成功执行");arg2.doFilter(arg0, arg1);System.out.println("放行成功");}@Overridepublic void init(FilterConfig arg0) throws ServletException {}}

servlet代码如下:

package Servlet;import java.io.IOException;import java.util.Date;import javax.servlet.AsyncContext;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(name="AysnServlet",asyncSupported=true,value="/Servlet/AysnServlet")public class AysnServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("业务开始执行时间"+new Date());          AsyncContext  con=request.startAsync();//   con.getRequest();//   con.getResponse();          //调用线程进行业务的处理          new Thread(new nei(con)).start();;                System.out.println("业务处理完成时间"+new Date());}public class nei  implements  Runnable {private AsyncContext  con;public nei(AsyncContext con){this.con=con;}public void run() {//在run方法里面实现复杂的方法//睡眠十秒代替复杂的处理业务try {Thread.sleep(1000*10);System.out.println("业务处理完毕"+new Date());} catch (InterruptedException e) {e.printStackTrace();}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {}}








0 0