(十六):request 对象 (JSP学习第四天)

request主要接收客户端发来的请求信息
 
request主要是javax.servlet.http.HttpServletRequest接口的实例化对象 表示对象应用在HTTP协议上的

javax.servlet.http.HttpServletRequest接口定义如下

public interface HttpServletRequest extends ServletRequest

具体的request内置对象的常用方法请参考JDK_API文档

乱码解决:

在进行参数提交时会出现一些中文乱码的现象

如:request_demo01.jsp

<html>
<head>
<title>测试</title>
</head>
<body>
<form action="request_demo02.jsp" method="post">
 请输入信息:<input type="text" name="info">
 <input type="submit" value="提交">
</form>
</body>
</html>

接收表单的内容:request_demo02.jsp

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>测试</title>
</head>
<body>
<%
 String content=request.getParameter("info");
%>
<h1><%=content%></h1>
</body>
</html>

输入中文,运行时出现了乱码
原因是浏览器默认的编码是UTF-8编码,中文的GBK和UTF-8编码不一样,编码不统一,造成了乱码
这时只要直接通过setCharacterEncoding()方法设置统一的编码即可
则修改程序:request_demo02.jsp

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>测试</title>
</head>
<body>
<%
 request.setCharacterEncoding("GBK");
 String content=request.getParameter("info");
%>
<h1><%=content%></h1>
</body>
</html>

今天对于这个乱码问题搞我整整一上午,原因有好几个,一是文件太多,搞得头脑有点混乱,二是:编辑器带来的问题,

习惯上创建一个记事本,然后修改文件名用Notepad++打开,昨天写的那几篇文章都没有问题,估计不知道是什么时候手贱了

一下,把Notepad++编码改为了UTF-8,里面有两个UTF-8还有个是UTF-8无BOM格式编码,搞得我当时很混乱,,不知道该选择什么

查了百度,介绍的太详细,重要的都似乎都理解,之后我把所有的jsp文件编码改成ANSI格式编码,中文的出现乱码,我改其中文一个一个改回

来,运行时居然成功了,中文没有出现乱码!不知道这是不是问题的所在,我把经历的和大家分享,如果有错误,请及时通知我,我会一一更正的!


 

 

posted @ 2011-09-28 17:28  techstan  阅读(622)  评论(1编辑  收藏  举报