詳解JSP中使用過濾器進(jìn)行內(nèi)容編碼的解決辦法
問題
當(dāng)通過JSP頁面,向數(shù)據(jù)庫中插入記錄的時(shí)候,可能因?yàn)镴SP頁面編碼原因,導(dǎo)致插入到數(shù)據(jù)庫中的新紀(jì)錄出現(xiàn)亂碼。因此需要對JSP頁面中的內(nèi)容進(jìn)行編碼操作,從而保證與數(shù)據(jù)庫中的編碼一致。
解決方案
使用JSP中過濾器進(jìn)行處理。處理步驟如下
1.新建一個(gè)servlet,使其實(shí)現(xiàn)javax.servlet.Filter接口
![](http://img.jbzj.com/file_images/article/201709/201791493134228.png?201781493158)
2.修改Servlet/JSP Mapping URL ,將其改為 /EncodingFilter
![](http://img.jbzj.com/file_images/article/201709/201791493205139.png?201781493217)
3.在EncodingFilter.java 的doFilter方法中實(shí)現(xiàn)JSP內(nèi)容的中文過濾
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
//過濾中文
request.setCharacterEncoding("utf-8");
filterChain.doFilter(request, response);
}
4 修改XML文件。通過Myeclipse工具默認(rèn)生成的配置文件不能滿足要求,需要做如下修改
如下是Myeclipse自動生成的代碼
servlet>
description>chinese encoding/description>
display-name>This is the display name of my J2EE component/display-name>
servlet-name>EncodingFilter/servlet-name>
servlet-class>com.nichao.filter.EncodingFilter/servlet-class>
/servlet>
servlet-mapping>
servlet-name>EncodingFilter/servlet-name>
url-pattern>/EncodingFilter/url-pattern>
/servlet-mapping> -->
```
將其修改為
```
filter>
filter-name>EncodingFilter/filter-name>
filter-class>com.sina.filter.EncodingFilter/filter-class>
/filter>
filter-mapping>
filter-name>EncodingFilter/filter-name>
url-pattern>/*/url-pattern>
/filter-mapping>
5 至此,可以完成對JSP頁面內(nèi)容的中文過濾處理
如有疑問請留言或者到本站社區(qū)交流討論,大家共同進(jìn)步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- 通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題
- JSP過濾器Filter配置過濾類型全部匯總
- JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法
- JSP使用Servlet過濾器進(jìn)行身份驗(yàn)證的方法
- JSP過濾器防止Xss漏洞的實(shí)現(xiàn)方法(分享)
- JSP使用過濾器防止SQL注入的簡單實(shí)現(xiàn)
- jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器
- jsp中過濾器選擇過濾器的寫法詳解
- servlet+jsp實(shí)現(xiàn)過濾器 防止用戶未登錄訪問
- JSP使用過濾器防止Xss漏洞
- jsp filter 過濾器功能與簡單用法示例