JSP隐式对象
(1)什么事JSP隐式对象
JSP隐式对象是Web容器加载的一组实例对象,可以在JSP页面上直接用,不用声明的一组对象。
(2)JSP隐式对象
JSP隐式对象包括:request response pageContext session application out config page exception
每一个对象都可以通过setAttribute(String key , Object value)方法来设置属性,在对象的作用域范围内可以通过getAttribute(String key)来的到设置的属性
输出对象:
request
客户端的请求对象,对象中包含着GET/POST方式传过来的参数
常用方法有
//通过参数名(表单的name)获得参数值
String getParameter(String name) ;
//得到request中的所有参数值
String[ ] getParameterValues (String name);
//得到request中的所有参数名
Enumeration getParameterNames();
//对request中的属性进行操作
setAttribute(); getAttribute(); removeAttribute();
//得到一个session对象
getSession();
//设置request的字符编码方式,可以解决中文乱码问题,但是必须在getParamter之前调用
setCharacterEncoding();
//得到发送request请求的IP地址
getRequestDispatcher(String path);
<%
String strUserId = request.getParameter (“userId”);
String strPassword = request.getParameter(“password”);
String[] channels = request.getParameterValues(“channel”);
%>
<%
//将请求转发到url处
RequestDispatcher requestDispatcher= request.getRequestDispatcher (“URL”);
requestDispatcher.forward(request,response);
%>
response
用于处理JSP生成的响应
//设置作为响应生成的内容的类型和字符编码
void setHeader(String name,String value)
//设置响应头信息
void setContentType (String name)
//发送一个响应给浏览器,指示其请求另一个URL
void sendRedirect (String name)
out
用于向jsp页面发送消息,像java中的System.out对象
write()和print()方法
write只能发送字符,而print可以发送任何对象
作用域通信对象(几乎都是通过set/get属性来进行作用域之间通信)
session
session是一个会话对象,什么是会话呢
从用户进入一个web资源开始,经过多个超链接跳转和请求转发,直到用户关闭所有访问的web资源的网页(或者关闭浏览器)这个过程就是一个会话。
application
JSP的一个应用程序叫做一个Application。应用程序的 JSP 页面组合起来形成一个应用程序,使用范围最广的上下文状态。它允许 JSP 页面的 servlet 与包括在同一应用程序中的任何 Web 组件共享信息 。这个范围最广,尽量少用。
pageContext
使用户可以访问页面作用域中定义的所有隐式对象
它的作用范围是在同一页面
javax.servlet.jsp.PageContext 类的实例
是 JSP 页面本身的上下文
提供惟一一个 API 来管理具有不同作用域的属性
在实现 JSP 自定义标记处理程序时使用得非常多
相比于session和application来说,它是范围最小的。