1.request对象
request对象用于获取客户端信息,每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。在客户端发出请求时会创建request对象,在请求结束后,会销毁request对象。
request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
例:
requestform.jsp
<form action="requestobject.jsp" method="post">
<p>UserName: <input type="text" name="username" /> </p>
<p>Age: <input type="text" name="age" /></p>
<input type="submit" value="提交" />
</form>
requestobject.jsp
<%
String username=request.getParameter("username");
String strage=request.getParameter("age");
int age=Integer.parseInt(strage);
%>
<!-- 输出表单域的值 -->
<%="UserName:"+username %>
<br>
<%="Age:"+age %>
request.getParameter(“paramName”)获取的是单个请求参数的参数值,还可以使用request对象的getParameterNames()方法获得从客户端传递过来的所有参数的参数名。即:Enumeration params=request.getParameterNames();
<%
String param="";
//获取所有参数值
Enumeration params=request.getParameterNames();
//循环所有参数值
while(params.hasMoreElements()){
param=(String)params.nextElement();
//打印参数名
out.println("ParamName: "+param+"<br>");
out.println("ParamValues: "+request.getParameter(param)+"<br>");
}
%>
2.response对象
它包含了从JSP页面返回客户端的所有信息,其作用域是它所在的页面。
response对象常用于设置http标题、添加cookie、设置响应内容的类型和状态、发送http重定向和编码URL。
重定向:response.sendRedirect(String url);
3.out对象
out内置对象是一个缓冲的输出流,用来向客户端返回信息。
out.println(dataType dt) 输出Type类型的值然后换行
out.getBufferSize() 获取缓冲区的大小
out.getRemaining() 获取剩余缓冲区的大小
out.flush() 刷新输出流
4.session对象
session对象是会话对象,用来记录每个客户端的访问状态。
常用方法:
getAttribute(String name)
setAttribute(String name,Object value)
5.application对象
这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。
通过向application中添加属性,则所有组成web应用的JSP文件都能访问到这些属性。
<%
String count=(String)application.getAttribute("count");
if(count==null){
count="1";
}else{
count=Integer.parseInt(count)+1+"";
}
application.setAttribute("count",count);
%>
<%="<h3>count的值为:"+count+"</h3>" %>
6.pageContext对象
不仅可以设置page范围内的属性,还可以设置其他范围内的属性。通过pageContext还可以访问本页面中的所有其他对象。
<%
//设置page范围内的属性
pageContext.setAttribute("attributename", "page_scope");
//设置request范围内的属性
request.setAttribute("attributename","request_scope");
//设置session范围内的属性
session.setAttribute("attributename","session_scope");
//设置application范围内的属性
application.setAttribute("attributename","application_scope");
//获取page范围内的属性
String str1=(String)pageContext.getAttribute("attributename",pageContext.PAGE_SCOPE);
//获取request范围内的属性
String str2=(String)pageContext.getAttribute("attributename",pageContext.REQUEST_SCOPE);
//获取session范围的属性
String str3=(String)pageContext.getAttribute("attributename",pageContext.SESSION_SCOPE);
//获取application范围的属性
String str4=(String)pageContext.getAttribute("attributename",pageContext.APPLICATION_SCOPE);
%>
attribute在不同范围的属性值:
<br>
<%="page范围:"+str1 %>
<br>
<%="request范围:"+str2 %>
<br>
<%="session范围:"+str3 %>
<br>
<%="application范围:"+str4 %>
7.page对象
这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。
page 对象就是this对象的同义词。
8.config对象
在Servlet初始化时,可以通过config向Servlet传递信息。
config.getServletName();
它返回包含在<servlet-name>
元素中的servlet名字
9.exception对象
用来处理页面的错误和异常。常在一个页面中使用page指令的errorPage属性,让该属性指向一个专门用于异常处理页面。
exceptiontest.jsp
<%@ page errorPage="exceptionobject.jsp" %>
发生错误的位置:
<br>
<%
int a=5;
int b=0;
%>
输出结果=<%=(a/b)
%>
exceptionobject.jsp
<%--返回exception对象的异常信息 --%>
<%=exception.getMessage() %> <br>
<%--打印异常的栈反向跟踪轨迹 --%>
<%
exception.printStackTrace(new java.io.PrintWriter(out));
%>