国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

解決JSP開發(fā)Web程序中文顯示的三種方法

2024-09-05 00:19:41
字體:
供稿:網(wǎng)友

方法一:最簡單也是用的最多的方法

<%@ page language="java" pageencoding="gbk" %>

或者<%@ page contenttype="text/html;charset=gbk";>這里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。

這個方法用于jsp頁面中的中文顯示。

方法二:使用過濾器

過濾器使用主要針對表單提交,插入數(shù)據(jù)庫的數(shù)據(jù)都是?號。這也是應(yīng)為tomcat不按request所指定的編碼進行編碼,還是自作主張的采用默認(rèn)編碼方式iso-8859-1編碼。

編寫一個setcharacterencodingfilter類。

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 setcharacterencodingfilter implements filter { protected string encoding = null; protected filterconfig filterconfig = null; protected boolean ignore = true; public void init(filterconfig filterconfig) throws servletexception {  this.filterconfig=filterconfig;  this.encoding=filterconfig.getinitparameter("encoding");  string value=filterconfig.getinitparameter("ignore");  if(value==null)   this.ignore=true;  else if(value.equalsignorecase("true"))   this.ignore=true;  else   this.ignore=false; } public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception { // todo 自動生成方法存根 if (ignore || (request.getcharacterencoding() == null)) {  string encoding = selectencoding(request);  if (encoding != null)   request.setcharacterencoding(encoding); } chain.dofilter(request, response);}public void destroy() { // todo 自動生成方法存根 this.encoding = null; this.filterconfig = null;}protected string selectencoding(servletrequest request) { return (this.encoding);}}

然后再web.xml加上

<!-- set character encoding--><filter> <filter-name>set character encoding</filter-name> <filter-class>com.struts.common.setcharacterencodingfilter</filter-class> <init-param>  <param-name>encoding</param-name>  <param-value>utf-8</param-value> </init-param></filter><filter-mapping> <filter-name>set character encoding</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping><!-- set character encoding-->

使用過濾器的好處很多,特別是項目之中。

而且在使用國際化時就更有用了,只要在頁面指定 <%@ page language="java" pageencoding="utf-8" %>,服務(wù)器就會根據(jù)本地locale來顯示正確的字符集。

所以我特別推薦使用過濾器。

方法三:修改tomcat的server.xml文件中uriencoding

<connector debug="0" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"port="80" redirectport="8443" enablelookups="false" minsparethreads="25" maxsparethreads="75"maxthreads="150" maxpostsize="0" uriencoding="gbk" ></connector>

這個方法主要針對從url中獲取字符串的問題。

在tomcat5.0及以上版本,post和get方法在處理編碼時有所不同。如果你在url中獲取中文就會出現(xiàn)?號。但在tomcat4.1版本沒有問題,因為tomcat4.1的post和get方法在處理編碼時是一樣的。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 米泉市| 浙江省| 远安县| 琼中| 广汉市| 无为县| 肥东县| 静宁县| 江津市| 高台县| 襄垣县| 威远县| 南平市| 庆阳市| 浦县| 芒康县| 新乐市| 临洮县| 赤水市| 从化市| 兴国县| 鄂托克前旗| 柞水县| 贵阳市| 敦煌市| 山西省| 武穴市| 长武县| 延寿县| 章丘市| 三台县| 金寨县| 天祝| 娱乐| 卓资县| 云龙县| 札达县| 桦甸市| 沅陵县| 读书| 新晃|