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