第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Filter 字符编码Filter 一

Filter 字符编码Filter 一

时间:2021-03-05 15:56:07

相关推荐

Filter 字符编码Filter  一

使用字符编码Filter

package com.helloweenvsfei.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;public class CharacterEncodingFilter implements Filter {private String characterEncoding;private boolean enabled;@Overridepublic void init(FilterConfig config) throws ServletException {characterEncoding = config.getInitParameter("characterEncoding");enabled = "true".equalsIgnoreCase(characterEncoding.trim())|| "1".equalsIgnoreCase(characterEncoding.trim());}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {if (enabled || characterEncoding != null) {request.setCharacterEncoding(characterEncoding);response.setCharacterEncoding(characterEncoding);}chain.doFilter(request, response);}@Overridepublic void destroy() {characterEncoding = null;}}

web.xml 配置如下

<filter><filter-name>characterEncodingFilter</filter-name><filter-class>com.helloweenvsfei.filter.CharacterEncodingFilter</filter-class><init-param><!-- 编码方式 --><param-name>characterEncoding</param-name><param-value>UTF-8</param-value></init-param><init-param><!-- 是否使用编码 --><param-name>enable</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

注意:页面编码方式必须一致。另外如果使用GET表单提交。需要修改Tomcat /conf/server.xml 里的URIEncoding 修改代码如下

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URIEncoding = "UTF-8"/>

基本所有的javaWeb程序都用该Filter。

附:characteEncoding.jsp验证编码器

1 <%@ page language="java" contentType="text/html; charset=UTF-8"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Insert title here</title> 7 <style> 8 body, input, textarea { 9font-size: 12px; 10 }11 textarea {12width: 400px; 13height: 50px; 14 }15 </style>16 </head>17 <body>18 <pre>19 <b>您输入了</b>:20 ${ param.text }21 </pre>22 <form action="${ param.request.requestURL }" method="post"><textarea23name="text">${ param.text }</textarea> <br />24 <input type="submit"></form>25 26 </body>27 </html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。