java jsp 字符编码过滤

来源:互联网 发布:自媒体选题 知乎 编辑:程序博客网 时间:2024/06/07 12:53

文件目录 



建立一个过滤器

package zxl.filter;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;/** * Servlet Filter implementation class CharsetFilter */public class CharsetFilter implements Filter {private String charset;private boolean enabled;    /**     * Default constructor.      */    public CharsetFilter() {        // TODO Auto-generated constructor stub    }/** * @see Filter#destroy() */public void destroy() {// TODO Auto-generated method stubSystem.out.println("销毁编码过滤器"); }/** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {// TODO Auto-generated method stub// place your code here// pass the request along the filter chainif (enabled && charset != null) {request.setCharacterEncoding(charset); response.setCharacterEncoding(charset);}chain.doFilter(request, response);}/** * @see Filter#init(FilterConfig) */public void init(FilterConfig fConfig) throws ServletException {// TODO Auto-generated method stubSystem.out.println("初始化编码过滤器");this.charset = fConfig.getInitParameter("charset"); this.enabled = "true".equals(fConfig.getInitParameter("enabled"));System.out.println("字符编码:" + charset + "是否启用:" +enabled);}}

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>unicode</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list>  <filter>    <display-name>CharsetFilter</display-name>    <filter-name>CharsetFilter</filter-name>    <filter-class>zxl.filter.CharsetFilter</filter-class>    <init-param>        <param-name>charset</param-name>        <param-value>gb2312</param-value>    </init-param>    <init-param>        <param-name>enabled</param-name>        <param-value>true</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>CharsetFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Insert title here</title></head><body><form  action="zxl.jsp" method="POST"><input name="name" type="text"> <input type="submit" name="submit" ></form></body></html>

zxl.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%=request.getParameter("name") %> 编码过滤</body></html>








原创粉丝点击