一个用户名和一个留言框的JSP页面:
非常挫的界面 见谅
一个过滤器类,用于过滤名字中出zhangsan并将它换成lisi 以及留言中出现zhongguo的字眼并将它替换成****
一个Servlet类用于接收过滤后的
一个显示结果的JSP页面
web.xml中的配置
显示结果分别为:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>My JSP 'CommentLogin.jsp' starting page</title> </head> <body> <form action="CommentServlet"> username:<input type="text" name="username"><br> Comment:<textarea name="comment" rows="7" cols="7"></textarea> <input type="submit" value="submit"> </form> </body> </html>
非常挫的界面 见谅
一个过滤器类,用于过滤名字中出zhangsan并将它换成lisi 以及留言中出现zhongguo的字眼并将它替换成****
package FilterPackege; import java.io.IOException; 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.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CommentFilter implements Filter{ public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req=(HttpServletRequest)request; HttpServletResponse resp=(HttpServletResponse)response; String username=req.getParameter("username"); String comment=req.getParameter("comment"); username=username.replace("zhangsan", "lisi"); comment =comment.replace("zhongguo", "****"); req.setAttribute("username",username); req.setAttribute("comment", comment); chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { System.out.println("CommentFilter Start"); } }
一个Servlet类用于接收过滤后的
package com.mison; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CommentServlet extends HttpServlet { /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=(String)request.getAttribute("username"); String comment=(String)request.getAttribute("comment"); request.getRequestDispatcher("commentout.jsp").forward(request, response); } }
一个显示结果的JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>My JSP 'commentout.jsp' starting page</title> </head> <body> username:<%=request.getAttribute("username") %><br> comment:<%=request.getAttribute("comment") %> </body> </html>
web.xml中的配置
<filter> <filter-name>CommentFilter</filter-name> <filter-class>FilterPackege.CommentFilter</filter-class> </filter> <filter-mapping> <filter-name>CommentFilter</filter-name> <url-pattern>/CommentServlet</url-pattern> </filter-mapping>
显示结果分别为: