为了账号安全,请及时绑定邮箱和手机立即绑定

Java Web开发技术应用——过滤器

难度初级
时长 1小时40分
学习人数
综合评分9.53
339人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.3 逻辑清晰
  • @web.xml <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.imooc.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern> </servlet-mapping> <filter> <filter-name>LoginFilter</filter-name> <filter-class>com.imooc.filter.LoginFilter</filter-class> <init-param> <param-name>noLoginPaths</param-name> <param-value>fail.jsp;login.jsp;LoginServlet</param-value> </init-param> <init-param> <param-name>charset</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Ps:Tomcat启动的时候,记得清除已经关闭的项目。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:编码转换案例

    2018-03-22

  • @AsyncServlet.java public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Servlet执行开始时间:"+new Date()); AsyncContext context = request.getAsyncContext(); new Thread(new Executor(context)).start(); System.out.println("Servlet执行结束时间:"+new Date()); } public class Executor implements Runnable { private AsyncContext context; public Executor(AsyncContext context) { this.context = context; } public void run() { // 执行相关复杂业务 try { Thread.sleep(1000 * 10); // context.getRequest(); // context.getResponse(); System.out.println("业务执行完成时间:" + new Date()); } catch (InterruptedException e) { e.printStackTrace(); } } } @输出结果: Start——AsyncFilter Servlet执行开始时间:Sat Mar 12 15:40:26 CST 2016 Servlet执行结束时间:Sat Mar 12 15:40:26 CST 2016 End——AsyncFilter 业务执行完成时间:Sat Mar 12 15:40:36 CST 2016 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @web.xml <servlet> <servlet-name>AsyncServlet</servlet-name> <servlet-class>com.imooc.servlet.AsyncServlet</servlet-class> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>AsyncServlet</servlet-name> <url-pattern>/servlet/AsyncServlet</url-pattern> </servlet-mapping> @AsyncFlter.java @WebFilter(filterName="AsyncFilter",asyncSupported=true,value={"/servlet/AsyncServlet"},dispatcherTypes={DispatcherType.REQUEST,DispatcherType.ASYNC}) public class AsyncFilter implements Filter { public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { System.out.println("Start——AsyncFilter"); filterchain.doFilter(servletrequest, servletresponse); System.out.println("End——AsyncFilter"); } } Ps1:web.xml——AsyncServlet——Async supported:True。 Ps2:记得至少选择JavaEE 6.0版本 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Ps:<error-page>如果【没有】设置且ERROR过滤器【有】设置,则输出错误地址检测不到且ERROR过滤器也失效;<error-page>如果【有】设置且ERROR过滤器【有】设置,则输出错误地址可检测到且ERROR过滤器生效;<error-page>如果【有】设置且ERROR过滤器【没有】设置,则输出错误地址可检测到但ERROR过滤器不会生效(注意:<location>/error.jsp</location>和<url-pattern>/error.jsp</url-pattern>文件一致,否则也会失效);所以无论如何,<error-page>一定要设置,否则一切都扯淡。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @web.xml <error-page> <error-code>404</error-code>//500 <location>/error.jsp</location> </error-page> <filter> <filter-name>ErrorFilter</filter-name> <filter-class>com.imooc.filter.ErrorFilter</filter-class> </filter> <filter-mapping> <filter-name>ErrorFilter</filter-name> <url-pattern>/error.jsp</url-pattern> <dispatcher>ERROR</dispatcher> </filter-mapping> @error.jsp 您输入的路径有误! @ErrorFilter.java public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { System.out.println("检测到有错误的信息!"); filterchain.doFilter(servletrequest, servletresponse);//注意:放行 } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Dispatcher:ASYNC(异步)在JavaEE 6 - Web3.0开始有此功能。目测servlet3.0比servlet2.5某些情况下还要强一些,当doFilter中过滤器处理耗时过长,2.5会一直等待,而3.0由于增加了AsyncContext的异步处理,因此则会异步进行,直接先输出结果,用户体验要好。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Ps:value和urlPatterns同时设置的话,优先使用value。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @middle.jsp <jsp:forward page="main.jsp"></jsp:forward> <jsp:include page="main.jsp"></jsp:include> @main.jsp&index.jsp&middle.jsp <% System.out.println("main.jsp(index.jsp/middle.jsp)"); %> This is my JSP page_main(index/middle). Ps1:总而言之:<jsp:forward>和转发——Dispatcher走FORWARD;<jsp:include>和getRequestDispatcher("main.jsp").include(hsreq, hsres);——Dispatcher走INCLUDE;重定向——Dispatcher走REQUEST。 Ps2:Dispatcher:如果选REQUEST或者都不选,则为REQUEST。<dispatcher>...</dispatcher>不写表示REQUEST。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @web.xml <filter> <filter-name>FirstFilter</filter-name> <filter-class>com.imooc.filter.FirstFilter</filter-class> </filter> <filter-mapping> <filter-name>FirstFilter</filter-name> <url-pattern>/index.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>FirstFilter</filter-name> <url-pattern>/main.jsp</url-pattern> <dispatcher>FORWARD</dispatcher> </filter-mapping> @FirstFilter.java public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException{ HttpServletRequest hsreq = (HSReq) req; HttpServletResponse hsres = (HSRes) res; // 重定向:Dispatcher走REQUEST // hsres.sendRedirect(hsreq.getContextPath()+"/main.jsp"); hsres.sendRedirect(hsreq.getContextPath() + "/middle.jsp"); // 转发:Dispatcher走FORWARD // hsreq.getRequestDispatcher("main.jsp").forward(hsreq, hsres); // hsreq.getRequestDispatcher("main.jsp").include(hsreq, hsres);//同理 }
    查看全部
  • @FirstFilter.java //同下 @SecondFilter.java public class SecondFilter implements Filter { public void init(FilterConfig filterconfig) throws ServletException { System.out.println("2——init"); } public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { System.out.println("2——Start——doFilter"); filterchain.doFilter(servletrequest, servletresponse); System.out.println("2——End——doFilter"); } public void destroy() { System.out.println("2——destroy"); } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Q:Web项目中多个过滤器是如何实现的?多个过滤器对应同一个用户路径执行顺序如何? @输出顺序: //启动服务器 1——init 2——init //浏览页面 1——Start——doFilter 2——Start——doFilter index.jsp 2——End——doFilter 1——End——doFilter //关闭服务器 1——destroy 2——destroy @web.xml <filter> <filter-name>FirstFilter</filter-name> <filter-class>com.imooc.filter.FirstFilter</filter-class> </filter> <filter-mapping> <filter-name>FirstFilter</filter-name> <url-pattern>/index.jsp</url-pattern> </filter-mapping> <filter> <filter-name>SecondFilter</filter-name> <filter-class>com.imooc.filter.SecondFilter</filter-class> </filter> <filter-mapping> <filter-name>SecondFilter</filter-name> <url-pattern>/index.jsp</url-pattern> </filter-mapping> 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 所有的页面
    查看全部
    0 采集 收起 来源:登录案例

    2016-03-11

  • 目测servlet3.0比servlet2.5某些情况下还要强一些,当doFilter中过滤器处理耗时过长,2.5会一直等待,而3.0由于增加了AsyncContext的异步处理,因此则会异步进行,直接先输出结果,用户体验要好
    查看全部
  • WebFilter的常用属性
    查看全部

举报

0/150
提交
取消
课程须知
童鞋们,过滤器是Java Web开发的内容。学习前需要掌握Java基础知识、并熟悉JSP和Servlet。如未学习上述知识,可移步网站相关课程。
老师告诉你能学到什么?
通过本课程的学习,你可以了解过滤器的基础知识,并可以自己动手编写过滤器。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!