詳解JSP中使用過濾器進行內(nèi)容編碼的解決辦法
問題
當通過JSP頁面,向數(shù)據(jù)庫中插入記錄的時候,可能因為JSP頁面編碼原因,導(dǎo)致插入到數(shù)據(jù)庫中的新紀錄出現(xiàn)亂碼。因此需要對JSP頁面中的內(nèi)容進行編碼操作,從而保證與數(shù)據(jù)庫中的編碼一致。
解決方案
使用JSP中過濾器進行處理。處理步驟如下
1.新建一個servlet,使其實現(xiàn)javax.servlet.Filter接口
2.修改Servlet/JSP Mapping URL ,將其改為 /EncodingFilter
3.在EncodingFilter.java 的doFilter方法中實現(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工具默認生成的配置文件不能滿足要求,需要做如下修改
如下是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ū)交流討論,大家共同進步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- 通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題
- JSP過濾器Filter配置過濾類型全部匯總
- JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實現(xiàn)方法
- JSP使用Servlet過濾器進行身份驗證的方法
- JSP過濾器防止Xss漏洞的實現(xiàn)方法(分享)
- JSP使用過濾器防止SQL注入的簡單實現(xiàn)
- jsp實現(xiàn)登錄驗證的過濾器
- jsp中過濾器選擇過濾器的寫法詳解
- servlet+jsp實現(xiàn)過濾器 防止用戶未登錄訪問
- JSP使用過濾器防止Xss漏洞
- jsp filter 過濾器功能與簡單用法示例