(十六):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格式编码,中文的出现乱码,我改其中文一个一个改回
来,运行时居然成功了,中文没有出现乱码!不知道这是不是问题的所在,我把经历的和大家分享,如果有错误,请及时通知我,我会一一更正的!