1 在html表单中,表单用于用户填写数据并通过提交实现数据的请求,提交有2种方式:1 POST 2 GET。区别如下:
比较 | POST | GET |
是否在url中显示参数 | 否 | 是 |
数据传递是否有长度限制 | 无 | 有 |
数据安全性 | 高 | 低 |
url是否可以传播 | 否 | 是 |
2 request对象:(请求对象)跟out对象一样,是jsp的一个内置对象,可以在jsp中直接调用。该对象的主要方法如下
getParameter(String name) 获得请求中名为name的参数的值,如果请求中没有这个参数,返回null
getParameterValues(String name) 返回请求中名为name的参数值,这个值往往是checkbox控件提交的,因此返回的是一个String数组
getMethod() 返回这个请求使用的HTTP方法(例如:GET、POST、PUT)
2 response对象(响应对象)
3.内置对象:jsp已经准备好的,可以直接使用的对象。
4. 中文乱码问题
4-1 POST方式提交时的解决方案:
设置请求的编码方式: request.setCharacterEncoding("UTF-8");
设置响应的编码方式: response.setCharacterEncoding("UTF-8");也可以在page指令中contentType中的charset设置成"UTF-8"。
4-2 GET方式提交时的解决方案:
1在读取数据时对数据进行修改:new string(s.getbytes(“iso-8859-1”,“utf-8”)) ;
在配置文件中设置:comcat\conf\server.xml文件
〈connector ......URIEcoding="utf-8">
5.页面间的数据传递
5-1 使用属性存取数据:setattribute()方法和getattribute()方法
setattribute()方法:在请求中保存属性值。
语法:setattribute(string name,Objcet o);
该方法没有返回值,参数name表示属性名称,参数0为属性的值,为Object类型。
例如:request.setattribute("mess","注册失败");
getattribute()方法:在请求中获取属性。
语法:getattribute(string name);
该方法返回object类型的值,获取时应先做非null判断,并且要做类型转换。
例如:string mess=(string)request.getattribute(“mes”);
if(mess!=null){}else{};
6.转发和重定向实现的页面跳转
转发又被称为服务器端跳转,重定向又被称为客户端跳转
转发和重定向的区别