JSP内置对象—request和response
1.JSP九大内置对象
先来说说JSP的九大内置对象及其作用域吧,jsp内置对象就是在JSP页面可以直接使用的对象,无需再new了。
内置对象 | 作用 | 作用域 |
---|---|---|
request | 触发服务调用的请求 | request(在当前请求中有效) |
response | 对应请求的应答 | page(在当前页有效) |
session | 为请求的用户创建的session对象 | session(在当前会话中有效) |
application | 从servlet配置对象获得的上下文对象 | application在该应用程序中有效 |
out | 向输出流写入内容 | page(在当前页有效) |
pageContext | 本jsp的页面上下文 | page(在当前页有效) |
page | 实现处理本页当前请求的类的实例 | page(在当前页有效) |
config | 本jsp的servletConfig | page(在当前页有效) |
exception | Jsp页面运行时产生的异常 | page(在当前页有效) |
2.request对象
2.1作用:request对象主要用于处理客户端请求;
2.2request对象常用方法
- String getParameter(String name):根据页面表单组件名称获取页面提交数据;
- String[ ] getParameterValues(String name):获取一个页面表单组件对应多个值时的用户的请求数据 ;
- void setCharacterEncoding(String charset):指定每个请求的编码,在调用getParameter( )之前进行设定,可以解决中文乱码问题;
- String getRemoterAddr():返回提交请求的客户机的IP地址;
3.response对象
3.1作用:动态响应客户端请求,动态生成响应,控制发送给用户的信息;
3.2response对象常用方法
- response.sendRedirect(“url”):将请求重新定位到一个新的页面,即页面重定向;
- response.setContentType(“text/html”):指明响应客户端内容的类型;
4.转发和重定向
4.1
4.1.1转发的作用:在多个页面交互过程中实现请求数据的共享;
4.1.2转发的实现:通过RequestDispatcher对象的forward()方法
RequestDispatcher rd=request.getRequestDispatcher("**.jsp");
rd.forward(request,response);
//平时习惯使用
request.getRequestDispatcher("**.jsp").forward(request,response);
4.2重定向
4.2.1重定向的作用:根据相应条件跳转到指定页面
4.2.2重定向的实现:通过response对象的sendRedirect()方法
response.sendRedirect("*.jsp");
4.3重定向和转发的区别
①转发是服务器端进行的跳转,重定向是在客户端(浏览器端)进行的跳转;
②从地址栏来看,发生在服务器端的转发地址栏不会变化,重定向前后地址栏会变化;
③请求次数不同。转发相当于一次请求,请求域中的数据不会丢失,重定向是两次请求,请求域中的数据会丢失。