您的位置:首页 > Web前端 > JavaScript

Servlet /jsp 乱码问题解决

2010-11-24 17:15 316 查看
解决最终策略
:

1.
在jsp
页面设置:

<%@
page
language
=
"java"

import
=
"java.util.*"

pageEncoding
=
"utf-8"

%>

<
meta
http-equiv
=
"Content-Type"

content
=
"text/html; charset=utf-8"

>

 

 

2.
数据交互有两种形式:post
和get

其中get
不仅包括表单中的get
方式,
还包括<a>
标签写的链接,
以下是两种方式的处理方法:

2.1Post
方式处理:

添加过滤器
:

2.1.1
Web.xml
中配置
:

<
filter
>

      

<
filter-name
>
encoding
</
filter-name
>

      

<
filter-class
>
com.spoto.oa.filter.EncodingFilter
</
filter-class
>

   

</
filter
>

   

<
filter-mapping
>

      

<
filter-name
>
encoding
</
filter-name
>

      

<
url-pattern
>
/*
</
url-pattern
>

   

</
filter-mapping
>

 

2.1.2
过滤器的类

package

com.spoto.oa.filter;

 

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

EncodingFilter
implements

Filter {

 

   

public


void

destroy() {

 

   
}

 

   

public


void

doFilter(ServletRequest request, ServletResponse
response,

          
FilterChain chain)
throws

IOException, ServletException
{

      
request.setCharacterEncoding(
"UTF-8"
);

      
chain.doFilter(request, response);

   
}

 

   

public


void

init(FilterConfig
arg0)
throws

ServletException {

 

   
}

 

}

 

2.2Get
方式
:

修改
Tomcat
根目录
/conf
/Server.xml

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"   URIEncoding="utf-8"/>

 

 

3.Mysql

数据库的配置
:

url=
jdbc
:
mysql://localhost:3306/oa?autoReconnect=true&useUnicode=true&characterEncoding=
utf-8

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息