欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

struts2 中文亂碼的解決辦法分享

 更新時(shí)間:2014年02月10日 16:01:55   作者:  
這篇文章主要介紹了struts2 中文亂碼的解決辦法,需要的朋友可以參考下

適合情況 -> 從jsp傳入到action時(shí)的亂碼情況,這里以GBK為例

1.建立一個(gè)用于轉(zhuǎn)換編碼的filter
文件位置舉例:src.util.SetCharacterEncodingFilter.java

復(fù)制代碼 代碼如下:

package util;

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;
import javax.servlet.UnavailableException;

/**
 * Example filter that sets the character encoding to be used in parsing the
 * incoming request
 */
public class SetCharacterEncodingFilter implements Filter {

    /**
     * Take this filter out of service.
     */
    public void destroy() {
    }
    /**
     * Select and set (if specified) the character encoding to be used to
     * interpret request parameters for this request.
     */
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain)throws IOException, ServletException {

    request.setCharacterEncoding("gbk");

    // 傳遞控制到下一個(gè)過濾器
    chain.doFilter(request, response);
    }

    public void init(FilterConfig filterConfig) throws ServletException {
    }
}

2.修改web.xml,在struts的FilterDispatcher映射之前添加2個(gè)filter

復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
    <filter>
  <filter-name>Set Character Encoding</filter-name>
  <filter-class>util.SetCharacterEncodingFilter</filter-class>
 </filter>
 <filter-mapping>
     <filter-name>Set Character Encoding</filter-name>
     <url-pattern>/*</url-pattern>
 </filter-mapping>

    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

   

   
 <filter>
  <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
 </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>

3.你的JSP頭應(yīng)該有
<%@ page language="java" pageEncoding="GBK"%>

4.在struts.xml中修改默認(rèn)的編碼設(shè)定

復(fù)制代碼 代碼如下:

<struts>
 <constant name="struts.i18n.encoding" value="gbk"></constant>

...
...
...

</struts>

基本上就這樣可以解決大多傳入的字符亂碼問題

PS:如果是數(shù)據(jù)庫(kù)提取字符亂碼,比如mysql,確認(rèn)你的數(shù)據(jù)庫(kù)內(nèi)字符是gbk,并且連接字符串指定了字符編碼
<property name="url" value="jdbc:mysql://localhost/database?useUnicode=true&amp;characterEncoding=gbk"></property>

相關(guān)文章

  • Maven2環(huán)境安裝與準(zhǔn)備工作詳解

    Maven2環(huán)境安裝與準(zhǔn)備工作詳解

    這篇文章主要為大家詳細(xì)介紹了Maven2環(huán)境安裝與準(zhǔn)備工作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • springboot項(xiàng)目打包發(fā)布部署的過程及jar和war的區(qū)別

    springboot項(xiàng)目打包發(fā)布部署的過程及jar和war的區(qū)別

    Spring Boot使用了內(nèi)嵌容器,因此它的部署方式也變得非常簡(jiǎn)單靈活,可以將Spring Boot項(xiàng)目打包成JAR包來獨(dú)立運(yùn)行,Spring Boot項(xiàng)目既可以生成WAR包發(fā)布,也可以生成JAR包發(fā)布,那么它們有什么區(qū)別呢
    2022-11-11
  • 詳解spring多線程與定時(shí)任務(wù)

    詳解spring多線程與定時(shí)任務(wù)

    本篇文章主要介紹了spring多線程與定時(shí)任務(wù),詳細(xì)的介紹了spring多線程任務(wù)和spring定時(shí)任務(wù),有興趣的可以了解一下。
    2017-04-04
  • 簡(jiǎn)單實(shí)現(xiàn)Java web服務(wù)器

    簡(jiǎn)單實(shí)現(xiàn)Java web服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了簡(jiǎn)單實(shí)現(xiàn)Java web服務(wù)器的詳細(xì)步驟,感興趣的小伙伴們可以參考一下
    2016-06-06
  • java?Collection集合接口的介紹和使用詳解

    java?Collection集合接口的介紹和使用詳解

    這篇文章主要為大家介紹了java?Collection集合接口的介紹和使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能

    SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能

    這篇文章主要詳細(xì)介紹了SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能的步驟詳解,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的同學(xué)可以借鑒閱讀
    2023-06-06
  • Java實(shí)現(xiàn)自定義阻塞隊(duì)列

    Java實(shí)現(xiàn)自定義阻塞隊(duì)列

    這篇文章主要介紹了Java如何實(shí)現(xiàn)自定義阻塞隊(duì)列,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • 基于ArrayList常用方法的源碼全面解析

    基于ArrayList常用方法的源碼全面解析

    下面小編就為大家?guī)硪黄贏rrayList常用方法的源碼全面解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java中的線程ThreadLocal詳細(xì)解析

    Java中的線程ThreadLocal詳細(xì)解析

    這篇文章主要介紹了Java中的線程ThreadLocal詳細(xì)解析,ThreadLocal是線程本地變量,存儲(chǔ)在ThreadLocal里面的數(shù)據(jù)都是線程安全的,一般ThreadLocal適用的場(chǎng)景多是各個(gè)線程間沒有變量共享需要的同步問題場(chǎng)景,需要的朋友可以參考下
    2023-10-10
  • Java 實(shí)戰(zhàn)范例之員工管理系統(tǒng)的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)范例之員工管理系統(tǒng)的實(shí)現(xiàn)

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)前后端分離的員工管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11

最新評(píng)論