自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 后端
本文介紹解決JSP開發(fā)Web程序中文顯示三種方法,以及介紹針對(duì)從url中獲取字符串的問題。

方法一:JSP開發(fā)最簡(jiǎn)單也是用的最多的方法

  1. <%@ page language="java" pageEncoding="GBK" %> 

或者這里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。

這個(gè)方法用于jsp頁面中的中文顯示。

方法二:使用過濾器

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

編寫一個(gè)SetCharacterEncodingFilter類。

  1. import java.io.IOException;  
  2. import javax.servlet.Filter;  
  3. import javax.servlet.FilterChain;  
  4. import javax.servlet.FilterConfig;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.ServletRequest;  
  7. import javax.servlet.ServletResponse;  
  8. public class SetCharacterEncodingFilter implements Filter {  
  9. protected String encoding = null;  
  10. protected FilterConfig filterConfig = null;  
  11. protected boolean ignore = true;  
  12. public void init(FilterConfig filterConfig) throws ServletException {  
  13. this.filterConfig=filterConfig;  
  14. this.encoding=filterConfig.getInitParameter("encoding");  
  15. String value=filterConfig.getInitParameter("ignore");  
  16. if(value==null)  
  17.  this.ignore=true;  
  18.   else if(value.equalsIgnoreCase("true"))  
  19.    this.ignore=true;  
  20.   else  
  21.    this.ignore=false;  
  22. }  
  23. public void doFilter(  
  24. ServletRequest request, ServletResponse response, FilterChain chain)  
  25. throws IOException, ServletException {  
  26.  // TODO 自動(dòng)生成方法存根    
  27.  if (ignore    (request.getCharacterEncoding() == null)) {  
  28.  String encoding = selectEncoding(request);  
  29.  if (encoding != null)  
  30.  request.setCharacterEncoding(encoding);  
  31. }  
  32.  chain.doFilter(request, response);  
  33. }  
  34. public void destroy() {  
  35.   // TODO 自動(dòng)生成方法存根    
  36.  this.encoding = null;  
  37.  this.filterConfig = null;  
  38. }  
  39. protected String selectEncoding(ServletRequest request) {  
  40.  return (this.encoding);  
  41. }  

然后再web.xml加上

  1. <!-- Set Character Encoding-->  
  2. ?。糵ilter>  
  3.  ?。糵ilter-name>Set Character Encoding</filter-name>  
  4.  ?。糵ilter-class>com.struts.common.SetCharacterEncodingFilter
  5. </filter-class>  
  6.  ?。糹nit-param>  
  7.  ?。紁aram-name>encoding</param-name>  
  8.  ?。紁aram-value>UTF-8</param-value>  
  9. ?。?init-param>  
  10. </filter>  
  11. <filter-mapping>  
  12.  <filter-name>Set Character Encoding</filter-name>  
  13.  ?。紆rl-pattern>/*</url-pattern>  
  14. ?。?filter-mapping>  
  15. <!-- Set Character Encoding--> 

JSP開發(fā)使用過濾器的好處很多,特別是項(xiàng)目之中。

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

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

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

  1. <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" >  
  2. </Connector>  

這個(gè)方法主要針對(duì)從url中獲取字符串的問題。

JSP開發(fā)在tomcat5.0及以上版本,post和get方法在處理編碼時(shí)有所不同。如果你在url中獲取中文就會(huì)出現(xiàn)?號(hào)。但在tomcat4.1版本沒有問題,因?yàn)閠omcat4.1的post和get方法在處理編碼時(shí)是一樣的。

【編輯推薦】

  1. JSP XML XSLT將輸出轉(zhuǎn)換HTML
  2. 淺析JSP技術(shù)單處理和多任務(wù)處理
  3. JSP變量在規(guī)范中稱作范圍變量
  4. 詳解JSP技術(shù)的方法
  5. JSP變量在規(guī)范中稱作范圍變量
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2022-04-28 07:26:17

PythonDocker容器

2022-12-07 10:20:08

藍(lán)牙物聯(lián)網(wǎng)

2009-07-08 12:56:32

編寫Servlet

2011-08-01 17:41:09

Oraclesqlplus

2009-10-14 14:37:56

調(diào)試.NET程序

2013-01-04 15:47:54

Android開發(fā)平鋪UI設(shè)計(jì)

2011-06-10 10:43:12

Ubuntu應(yīng)用安裝

2009-06-23 10:45:18

Hibernate支持

2009-12-11 18:49:39

預(yù)算編制博科資訊

2022-07-13 16:06:16

Python參數(shù)代碼

2011-04-18 15:32:45

游戲測(cè)試測(cè)試方法軟件測(cè)試

2010-09-14 15:10:49

CSS注釋

2024-11-15 07:00:00

Python發(fā)送郵件

2023-08-14 17:58:13

RequestHTTP請(qǐng)求

2020-06-17 10:52:00

DDoS攻擊網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2016-10-12 13:53:38

JavaByteBufferRandomAcces

2025-04-02 07:22:19

2010-09-08 13:29:48

CSS

2023-02-21 14:58:12

間序列周期數(shù)據(jù)集

2010-11-16 16:11:28

Oracle身份驗(yàn)證
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)