一.session对象:表示一个会话,一个会话就是浏览器与服务器之间的一次通话,从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
ession 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。
<%=session.getCreationTime()%> <%=new Date(session.getCreationTime())%>
<%=session.getId()%>
<%=session.getLastAccessedTime()%> <%=new java.sql. Time(session.getLastAccessedTime())%>
<%=session.getMaxInactiveInterval()%>
<%=session.isNew()?"是":"否"%>
<%
session.putValue("name","王莹");
session.putValue("nmber","123456");
%>
<%
for(int i=0;i
out.println(session.getValueNames()[i]+"="+session.getValue(session.getValueNames()[i]));
%>
二.request对象:该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。
<head>
<meta charset="UTF-8">
<title>会员注册</title>
<meta name="author" >
<style>
.txtBox{
padding: 3px;
width: 300px;
font-size: 16px;
}
</style>
</head>
<body>
<div align="center">请输入注册信息
<form name="form1" method="post" action="reginfo.jsp">
<table border="0" align="center">
<tr>
<td>用户姓名:</td>
<td><input type="text" name="name" value="王莹" class="txtBox" /></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="text" name="blog" value="女" class="txtBox"/></td>
</tr>
<tr>
<td>生日:</td>
<td><input type="text" name="remark" value="12.24" class="txtBox"/></td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input type="checkbox" name="interests" value="足球" />足球
<input type="checkbox" name="interests" value="篮球" />篮球
<input type="checkbox" name="interests" value="羽毛球" />羽毛球
<input type="checkbox" name="interests" value="乒乓球" />乒乓球
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交" />
</td>
<td>
<input type="reset" value="取消" />
</td>
</tr>
</table>
</form>
</div>
</body>
三.response对象:response对象包含了响应客户请求的有关信息,response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。
四.out对象:是向客户端输出内容常用的对象,在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。
<%
for(int i=0;i<2000;i++)
out.println(i+"{"+out.getRemaining()+"}");
%>
<%=out.getBufferSize()%>
<%=out.getRemaining()%>
<%=out.isAutoFlush()%>
<%--out.clearBuffer();--%>
<%--out.clear();--%>
五.application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。
if (application.getAttribute("count") == null) {
application.setAttribute("count", 1);
} else {
int count = (Integer) application.getAttribute("count");
count++;
application.setAttribute("count", count);
}
out.print("访问过本网站的人次为:" + application.getAttribute("count"));
六.config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
七.pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,
</head>
<%
pageContext.setAttribute("name1", "1");
request.setAttribute("name2", "2");
session.setAttribute("name3", "3");
application.setAttribute("name4", "4");
%>
<%
String refName1 = (String)pageContext.findAttribute("name1");
String refName2 = (String)pageContext.findAttribute("name2");
String refName3 = (String)pageContext.findAttribute("name3");
String refName4 = (String)pageContext.findAttribute("name4");
String refName5 = (String)pageContext.findAttribute("name5");
<h1>pageContext.findAttribute方法查找到的属性值:</h1>
<h3>pageContext对象的name1属性:<%=refName1%></h3>
<h3>request对象的name2属性:<%=refName2%></h3>
<h3>session对象的name3属性:<%=refName3%></h3>
<h3>application对象的name4属性:<%=refName4%></h3>
<h3>查找不存在的name5属性:<%=refName5%></h3>
<hr/>
<h1>使用EL表达式进行输出:</h1>
<h3>pageContext对象的name1属性:${name1}</h3>
<h3>request对象的name2属性:${name2}</h3>
<h3>session对象的name3属性:${name3}</h3>
<h3>application对象的name4属性:${name4}</h3>
<h3>不存在的name5属性:${name5}</h3>
八.page对象:page对象是对该页面实例的实际引用,指向当前JSP页面本身
九…exception对象:exception对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。当一个页面在运行过程中发生了例外,就产生这个对象。
<html>
<head>
<meta charset="UTF-8">
<title>使用exception对象获取异常信息</title>
</head>
<body>
<%
request.setAttribute("price", "12.5元");
float price = Float.parseFloat(request.getAttribute("price").toString());
%>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>错误提示页面</title>
</head>
<body>
错误提示为:<%= exception.getMessage() %>
</body>
</html>