本文共 4799 字,大约阅读时间需要 15 分钟。
1.在java resource里新建Filter类,包名为ycu.sxxy.lxq.filter,类名为EncodeingFilter.java,然后根据要求编辑代码。
2.在java resource里新建Servlet类,包名为ycu.sxxy.lxq.servlet,类名为EncodeServlet.java,然后根据要求编辑代码。 3.在工程下新建jsp文件。 4.在java文件和jsp文件下写代码,用HTML语言布局,并不断调试。 5.整理个页面,修改布局更美观。1.在java resource里新建Listener类,包名为ycu.sxxy.lxq.Listener,类名为RequestListener.java,然后根据要求编辑代码。
2.在工程下新建jsp文件。 3.在java文件和jsp文件下写代码,用HTML语言布局,并不断调试。 4.整理个页面,修改布局更美观。package ycu.sxxy.lxq.filter;import java.io.IOException;import java.io.PrintWriter;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.annotation.WebInitParam;/** * Servlet Filter implementation class EncodingFilter */@WebFilter( urlPatterns = { "/*" }, initParams = { @WebInitParam(name = "Charset", value = "UTF-8") })public class EncodingFilter implements Filter { private String Charset; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(Charset); response.setContextType("text/html;charset="+Charset); chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { Charset = fConfig.getInitParameter("Charset"); }}
(2)新建处理请求类EncondeServlet.java
package ycu.sxxy.lxq.Servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class EncodeServlet */@WebServlet("/EncodeServlet")public class EncodeServlet extends HttpServlet { private static final long serialVersionUID = 1L; public EncodeServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //response.getWriter().append("Served at: ").append(request.getContextPath()); String msg= request.getParameter("msg"); System.out.println("用户输入的信息是:"+ msg); PrintWriter out = response.getWriter(); out.println("用户输入的信息是:"+""+ msg+"
"); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
(3)新建用户输入信息界面test3过滤器.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>过滤器处理乱码 请留言
package ycu.sxxy.lxq.listener;import java.util.Date;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;import javax.servlet.annotation.WebListener;@WebListenerpublic class RequsetListener implements ServletRequestListener { public void requestDestroyed(ServletRequestEvent arg0) { System.out.println("requestDestroyed"+","+new Date()); System.out.println("当前访问次数"+arg0.getServletContext().getAttribute("count")); } public void requestInitialized(ServletRequestEvent arg0) { System.out.println("requestInitialized"+","+new Date()); Object count = arg0.getServletContext().getAttribute("count"); int num=0; if(count !=null) { num=Integer.valueOf(count.toString()); } System.out.println("历史访问次数:"+count); num++; arg0.getServletContext().setAttribute("count",num); } }
(2)新建类jsp文件test3过滤器.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>监听器监听页面访问次数 您好!
本页面已被访问
<%=application.getAttribute("count") %>次
六、执行结果
//执行结果截图 1.过滤器 (1)初始界面(2)运行界面
2.监听器 运行界面转载地址:http://spqzi.baihongyu.com/