Servlet /jsp 乱码问题解决

来源:互联网 发布:淘宝详情页设计尺寸 编辑:程序博客网 时间:2024/04/19 20:57

解决最终策略:

1.jsp页面设置:

<%@ pagelanguage="java" import="java.util.*"pageEncoding="utf-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 

 

2.数据交互有两种形式:postget

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

2.1Post 方式处理: 添加过滤器:

2.1.1Web.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, ServletResponseresponse,

           FilterChain chain) throws IOException, ServletException{

       request.setCharacterEncoding("UTF-8");

       chain.doFilter(request, response);

    }

 

    public void init(FilterConfigarg0) 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

 

原创粉丝点击