jsp字符拦截器
2015-11-21 09:55
555 查看
很多在学习jsp的时候遇到乱码的问题吧,解决方法其实很简单,自定义一个字符拦截器即可。
为了不耦合在业务代码中,我们应该将字符转换代码独立出来,做成一个字符拦截器
直接上代码:
接下来要让请求先进入字符拦截器中,在web.xml文件中配置
以上便是字符拦截器,独立于业务代码,只需要copy到项目中即可。
一点点学习,一点点成长,有什么疑问和建议可以留言,我会及时处理。
更多干货等你来拿 http://www.itit123.cn/
为了不耦合在业务代码中,我们应该将字符转换代码独立出来,做成一个字符拦截器
直接上代码:
package com.jdbc.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; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CharacterFilter implements Filter { private FilterConfig config; public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; // 从web.xml文件中获取encoding对应的init-param中的param-value String encoding = config.getInitParameter("encoding"); // 只要定义了变量;就要判断是否为空;不然会报空指针异常 if (encoding != null) { // 指明内容请求格式的字符编码集 response.setContentType("text/html ;charset=" + encoding); // 请求时规范字符编码格式 request.setCharacterEncoding(encoding); // 指明输出的格式字符编码集 response.setCharacterEncoding(encoding); } // 进入下一个拦截器 chain.doFilter(request, response); } // FilterConfig 是拦截器的全局变量 public void init(FilterConfig config) throws ServletException { this.config = config; } public void destroy() { } }
接下来要让请求先进入字符拦截器中,在web.xml文件中配置
<!-- 字符编码集拦截器 --> <filter> <filter-name>CharacterFilter</filter-name> <filter-class>com.jdbc.filter.CharacterFilter</filter-class> <!-- 配置初始化参数 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <!-- 映射路径 --> <filter-mapping> <filter-name>CharacterFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
以上便是字符拦截器,独立于业务代码,只需要copy到项目中即可。
一点点学习,一点点成长,有什么疑问和建议可以留言,我会及时处理。
更多干货等你来拿 http://www.itit123.cn/
相关文章推荐
- IOS-30-Hybrid混合开发(二):实现javaScript页面与OC界面互调demo(iOS7之前与之后javascriptCore.framework)
- BZOJ4327 : JSOI2012 玄武密码
- 【JS关键字】
- ExtJS4.2学习(14)基于表格的扩展插件(2)(转)
- 学习日记:json之what,why,where,how及应用
- js原生封装自定义滚动条
- ExtJS4.2学习(13)基于表格的扩展插件---rowEditing
- webpack bable-loader升级无法编译jsx es6
- javascript实现Email邮件显示与删除功能
- JavaScript实现自动生成网页元素功能(按钮、文本等)
- js实现索引图片切换效果
- javascript实现动态统计图开发实例
- 超详细的javascript数组方法汇总
- 分享经典的JavaScript开发技巧
- js if
- js 参数带0丢失的问题
- JS如何获取多个相同class标签并分别再输出各自的文本
- 转: JSP中include指令和include动作的区别
- 使用js获取表单form的数据
- JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里