JSP中文过滤器

基于很多java初学者都会碰到的中文乱码问题而发表这个文章.事实上可以在百度搜索中文过滤器也能得到答案.只是我这里吧所有的代码都复制过来了,直接复制,粘贴,部署到工程里面即可.

 

简述一下主要的文件:

SetCharacterEncodingFilter.java文件:



    1. 代码的格式我尝试过了,有时候GB2312可以,有时候GBK可以,或者UTF-8可以。具体情况请大家自己酌情根据自己的环境来设置。
  1. Web.xml代码:
  2.  

其实要解释的WEB配置代码只有如下

    • <filter-class>
    •             sei.ynu.edu.cn.filter.SetCharacterEncodingFilter
    • </filter-class>
    • /***处理字符转码的类文件,包括包命+类名***/
    • <param-value>GB2312</param-value>
    • /**转码的字符编码*/
    • <filter-mapping>
    •         <filter-name>setcharacterencodingfilter</filter-name>
    •         <url-pattern>/*</url-pattern>
    •     </filter-mapping>

/***表示所有的页面都进行字符都要进行处理**/

 

经过这样的设置,本人所有页面的JSP中文乱码都处理了。

 

而且在Mysql数据插入的时候也不会出现中文乱码。即使是JDBC操作数据库也不用在连接的时候采用字符码转换。(注:GBK的范围大于GB2312 ,GB2312仅指简体中文,而GBK不仅指简体中文,还包含了繁体中文等中文。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我为您提供一些关于如何实现您的要求的指导。 1. 在SchoolResult001.jsp页面中,使用HttpSession来获取表单信息。您可以使用JSP内置对象session来获取session对象,并使用EL表达式获取JavaBean对象中的属性值。例如,${sessionScope.school.sname}表示获取session中名为school的JavaBean对象的sname属性值。 2. 创建一个名为EncodingFilter001.java的过滤器,用于完成中文编码。在该过滤器中,您需要使用request.setCharacterEncoding方法将请求的编码设置为UTF-8。 3. 创建一个名为CharacterFilter001.java的过滤器,用于完成“备注”中的过滤功能。在该过滤器中,您需要使用request.getParameter方法获取“备注”参数值,并使用String的replace方法将其中的“好”替换为“棒”。 4. 将EncodingFilter001.java和CharacterFilter001.java文件放置在src目录下,并在web.xml文件中配置过滤器。 示例代码如下: SchoolResult001.jsp页面: ```html <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>School Result</title> </head> <body> <h1>School Result</h1> <p>学校名:${sessionScope.school.sname}</p> <p>学校性质:${sessionScope.school.nature}</p> <p>学科分类:${sessionScope.school.major}</p> <p>学生人数:${sessionScope.school.num}</p> <p>备注:${sessionScope.school.message}</p> </body> </html> ``` EncodingFilter001.java过滤器: ```java 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 EncodingFilter001 implements Filter { private String encoding; public void init(FilterConfig config) throws ServletException { encoding = config.getInitParameter("encoding"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(encoding); chain.doFilter(request, response); } public void destroy() { } } ``` CharacterFilter001.java过滤器: ```java 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 CharacterFilter001 implements Filter { private String target; private String replacement; public void init(FilterConfig config) throws ServletException { target = config.getInitParameter("target"); replacement = config.getInitParameter("replacement"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String message = request.getParameter("message"); message = message.replace(target, replacement); request.setAttribute("message", message); chain.doFilter(request, response); } public void destroy() { } } ``` web.xml文件中的过滤器配置: ```xml <filter> <filter-name>EncodingFilter001</filter-name> <filter-class>EncodingFilter001</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter001</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>CharacterFilter001</filter-name> <filter-class>CharacterFilter001</filter-class> <init-param> <param-name>target</param-name> <param-value>好</param-value> </init-param> <init-param> <param-name>replacement</param-name> <param-value>棒</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterFilter001</filter-name> <url-pattern>/SchoolServlet001</url-pattern> </filter-mapping> ``` 希望这些代码能够对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值