JSP request页面乱码

来源:互联网 发布:哪款单反性价比高 知乎 编辑:程序博客网 时间:2024/05/21 06:33

JSP 页面乱码

解决中文乱码问题,主要是解决编码统一的问题,JSP页面默认为ISO-8859-1编码,每个项目或者每个文件里都可以独立的设置text file encoding 编码方式。

我的默认 JSP 文件

都设置为了 UTF-8

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title></head><body></body></html>

JSP页面的处理

不同的提交方式,下面的语句不同的效果,对于 POST 方式,下面的语句有效,对GET方式无效

<%request.setCharacterEncoding("utf-8"); %>

GET 方式获取数据,可以解决中文乱码问题

String name = new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8")

网上的方法都是在 Tomcat 安装目录里的 server.xml的 <Connector..../> 节点,添加下面的语句

URIEncoding="UTF-8"

或者

useBodyEncodingForURI="true" URIEncoding="UTF-8"

但是我的 JSP 页面就是乱码。

后来我在eclipse 里看到一个 Server 项目,是 Tomcat服务器的配置,里面有 server.xml 文件,我去改了改,好像有效。

这里写图片描述

Tomcat server.xml 里的配置

 <Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>

GET 和 POST 提交方式

JSP 表单处理:http://www.runoob.com/jsp/jsp-form-processing.html
GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
明文方式

/test/demo_form.asp?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1Host: w3schools.comname1=value1&name2=value2

有关 POST 请求的其他一些注释:

POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求

0 0