代码结构如下:
$:~/hotel.com/ROOT # index.jsp WEB-INF classes hello HelloFilter.class HelloServlet.class src hello HelloFilter.java HelloServlet.java web.xml
其中web.xml配置
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- Please see the "Using Jikes" section of the Jasper-HowTo --> <filter> <filter-name>helloFilter</filter-name> <filter-class>hello.HelloFilter</filter-class> </filter> <filter-mapping> <filter-name>helloFilter</filter-name> <url-pattern>/hello</url-pattern> </filter-mapping> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>hello.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
HelloServlet.java代码如下
package hello; import java.util.Vector; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletConfig; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloServlet extends HttpServlet { public void init(ServletConfig conf) throws ServletException { super.init(conf); } public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doPost(req, res); } public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String out = "Hello You"; PrintWriter writer = res.getWriter(); writer.write("<html><head></head><body>"); writer.write(out); writer.write("</body></html>"); } // doPost }
HelloFilter.java代码如下
package hello; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class HelloFilter implements Filter { @Override public void init(FilterConfig arg0) throws ServletException { System.out.println("Filter 初始化"); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)req; System.out.println("拦截 URI="+request.getRequestURI()); PrintWriter writer = res.getWriter(); writer.write("<!-- BEGIN -->"); chain.doFilter(req, res); writer.write("<!-- END -->"); } @Override public void destroy() { System.out.println("Filter 结束"); } }
编译运行效果如下
javac -classpath .:/root/apache/apache-tomcat-6.0.37/lib/servlet-api.jar:/usr/share/java/servlet.jar *.java /usr/share/tomcat6/bin/catalina.sh start curl 127.0.0.1:8080/hello <!-- BEGIN --><html><head></head><body>Hello You</body></html><!-- END --> tail -f /var/log/tomcat6/catalina.out 拦截 URI=/hello
相关推荐
1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................
java中有个Filter类专门从事这类工作,下面以一个简单的实例进行演示: 实例说明:假设有一个web应用软件,如果是正常途径登录,我们会在其session中放入一个“user”对象进行标记,在随后的会话中我们都用过滤器...
Servlet过滤器简介 Servlet过滤器实际上就是一个标准的java类,这个类通过实现Filter接口获得过滤器的功能。它在jsp容器启动的时候通过web.xml配置文件被系统加载。Servlet过滤器在接收到用户请求的时候被调用,当...
通常JavaWeb项目启动时我们需要... 下面代码是模拟初始化的一个示例,可以在控制台看到程序的输出,和Listener、Filter、Servlet的启动先后顺序,强烈建议跟我一样喜欢动手的Coder操作一下,废话不多说,直接上代码了。
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
3.3.3.7 静态资源处理器和servlet处理器 17 第4章 tomcat的默认连接器 18 4.1 简介 18 4.2 HTTP1.1的新特性 18 4.2.1 持久化连接 18 4.2.2 编码 18 4.2.3 状态码100的使用 19 4.3 Connector接口 19 4.4 ...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
14 与 Java Servlet 规范 2.5 版本间的兼容性 .............................................................................................. 14 1.6.1 监听器(Listener)顺序 .................................
内容安全策略过滤器(Java) 将“ Content-Security-Policy”或“ Content-Security-Policy-Report-Only”标头添加到响应中。 另请参阅: 通常,您只需要有限的数目,也不需要任何init参数。 如果未定义init参数...
因此,流行的 Jetty 和 Tomcat 容器在异步处理方面有一些“粗糙的边缘”,尤其是与过滤器结合使用时。 Tomcat 码头 入门 调整build.gradle选择容器版本,在 Tomcat 和 Jetty 之间选择,然后gradle run 。 ...
个人自己学习所做的DAO例子,希望对他人起到帮助。关键地方配有注释。
本文实例讲述了jsp filter 过滤器功能与简单用法。分享给大家供大家参考,具体如下: 过滤器的作用是什么?...过滤器的实现要实现 java.servlet.Filter 这个接口类 一个简易的filter 类示例 package demo; impor
7.2.4 filter servlet与listener servlet 小结 第8章 开发高性能的ejb应用 8.1 采用ejb技术的必要性 8.1.1 ejb技术的优势特性 8.1.2 ejb技术体系具有清晰的架构层次 8.1.3 ejb与传统bean相比的性能优势 8.2 ejb的...
全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...
本课程针对有一定程序开发基础并有志于JAVA WEB开发的学员,理解MVC开发模式,能够熟练使用PowerDesigner 设计数据库,熟练使用mybatis进行开发,熟悉Servlet3.0的一些新特性,掌握bootstrap基本用法 课程大纲 ...
35. 使用Java WEB技术编写网页QQ J2EE 框架部分 36. Eclipse工具使用 37. Struts 38. Hibernate 39. Spring J2EE 高级部分 40. EJB 学完上述课程以后,和大家一起开发一个网上书店 先上传第一课,后续会...
Web开发基础,tomcat、servlet、JSP、session、cookie、el、jstl、filter、ajax、json、jdbc、c3p0、DButils等。 这是没有进行前后端分离的项目(高耦合),用于了解java web开发的发展。
JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services...