5-1
out对象out对象是JSPWriter类的实例,是向客户端输出内容常用的对象。
out对象常用的方法如下:
1,out.println():向客户端打印字符串
2,out.clear():清除缓冲区的内容,如果在flush之后调用会抛出异常
3,out.clearBuffer():清除缓冲区的内容,如果在flush之后调用不会抛出异常
4,out.flush():将缓冲区内容输出到客户端
5,int getBufferSize():返回缓冲区的字节数的大小,如不设缓冲区则为0
6,int getRemaining():返回缓冲区还剩余多少可用
7,boolean isAutoFlush():返回缓冲区满时,是自动清空还是抛出异常
8,out.clZ喎�"/kf/ware/vc/" target="_blank" class="keylink">vc2UgOrnYsdXK5LP2wfc8YnI+Cjxicj4KPGJyPgo1LTI8YnI+CnJlcXVlc3TE2tbDttTP8zxicj4Kv827p7bLtcTH68fz0MXPorG7t+LXsNTacmVxdWVzdLbUz/PW0KOszai5/cv8ssXE3MHLveK1vb/Nu6e1xNDox/OjrMi7uvPX9rP2z+zTpqGjy/zKx0h0dHBTZXJ2bGV0UmVxdWVzdMDgPGJyPgo8YnI+Cjxicj4KtcTKtcD9oaNyZXF1ZXN0ttTP877f09DH68fz0/KjrLy0zeqzyb/Nu6e2y7XEx+vH89aux7CjrLjDttTP89K71rHT0NCnoaOzo9PDt723qMjnz8Khozxicj4KMaOsw9zC66O6PCU9IHJlcXVlc3QuZ2V0QXR0cmlidXRlKA=="password") %>
,
2,请求体的MIME类型:<%= request.getContentType() %>
3,协议类型及版本号:<%= request.getProtocol() %>
,
4,服务器主机名:<%= request.getServerName() %>
5,服务器端口号:<%= request.getServerPort() %>
6,请求文件的长度:<%= request.getContentLength() %>
7,请求客户端的IP地址:<%= request.getRemoteAddr() %>
8,请求的真实路径:<%= request.getRealPath(path) %>
9.请求的上下文路径:<%= request.getContextPath() %>
10.设置字符码:request.setCharacterEncoding("utf-8");
11.设置属性值(以设置密码为例):request.setAttribute("password", "123456");
12.获取单个属性值(以用户名为例):<%= request.getParameter("username") %>
13.获取多个属性值(以用户提交的爱好为例):
<%
if(request.getParameterValues("favorite")!=null){
String[] favorites=request.getParameterValues("favorite");
for(String s:favorites){
out.println(s+" ");
}
}
%>
5-3
response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它,它是HttpServletResponse类的实例。
response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response
对象对当前页面无效常用方法如下。
1,response.setContentType("text/html;charset=utf-8");设置响应的MIME类型
2,String getCharacterEncoding();返回响应用的是何种字符编码。
3,PrintWriter getWriter()返回可以向客户端输出字符的一个对象。
4,response.sendRedirect("reg. jsp ");//请求重定向,跳转到指定页面。
注意:PrintWriter中的getWriter和out内置对象的区别:
getWriter输出的内容总是先于out输出的内容
解决办法就是在outer输出的代码前强制out.flush
下面是一个response页面的实例
<%@page import="java.io.PrintWriter"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
response.setContentType("text/html;charset=utf-8");//设置响应的MIME类型
out.println("
response内置对象
");out.println("
");
out.flush();//在输出outer之前清空缓冲区。
PrintWriter outer=response.getWriter();//获取输出流对象
outer.println("outer输出的内容总是先于out输出的内容
解决办法就是在outer输出的代码前强制
out.flush");
//response.sendRedirect("reg.jsp");//请求重定向,跳转到指定页面。
%>
5-4
session内置对象
1,什么是session
session表示客户端与服务器的一次会话。
web中的session指的是用户在浏览某个网站时,从进入网站到 浏览器 关闭所经过的这段时间,也就是用户浏览这个网站所
花费的时间。
从上述定义中可以看到,session实际上是一个特定的时间概念。
2,session对象
session对象是一个JSP内置对象。
session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种方法知道这是一个客户,就需
要session对象。
session对象是HttpSession类的实例。
3,session对象常用的方法如下
1)long getCreationTime():返回session创建时间
2)public String getId():返回session创建时,JSP引擎为它设的唯一ID号
3)public Object setAttribute(String name,Object value):使用指定名称对象绑定到此会话。
4)public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该
名称下,则返回null
5)String[] getValueNames():返回一个包含此session中所有可用属性的数组。
6)int getMaxInactiveInterval():返回两次请求间隔多长时间此session被取消(单位秒)
4,session的生命周期
1)创建:
当客户端第一次访问某个JSP或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务端发送请求
时,都会将此SessionId携带过去,服务端会对此SessionId进行校验。
2)活动:
某次会话当中通过超链接打开的新页面属于同一次会话。
只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一个项目资源时属于同一次会话。
除非本次会话的所有页面都关闭后再重新访问某个JSP或者Servelt将会创建新的会话。
注意:当创建新的会话时,原有的会话还存在,这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它
交予服务端校验。
3)销毁
session的销毁只有三种方式
a,调用了session.invalidate()方法。
b,Session过期(超时)建议用这种销毁方式。
c,服务器重新启动
补充
Tomcat默认session超时时间为30分钟。
设置session超时有两种方式
1,session.setMaxInactiveInterval(时间);//单位是秒
2,在web.xml中配置
时间
//单位是分钟。
5-5
1,application对象
application对象实现了用户间数据的共享,可存放全局变量
与session对象不同的是,所有客户的application对象都是同一个,即所有客户共享application对象,这样
application对象就可以起到一个全局变量的作用
application开始于服务器的启动,终止于服务器的关闭。
在用户的前后链接或不同用户之间的连接中,可以对application对象的同一属性进行操作。
在任何地方对application对象属性的操作,都将影响到其他用户对此的访问
服务器的启动和关闭决定了application对象的生命。
application对象是ServletContext类的实例。
2,application对象的常用方法如下:
1)public void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话。
2)public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该
名称下,则返回null
3)Enumeration getAttributeNames()返回所有可用属性名的枚举。
4)String getServerInfo():返回JSP(Servlet)引擎名及版本号。
5-6
page对象
page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。常用方法如下:
1,class getClass():返回此Object的类
2,int hashCode():返回此Object的hash码。
3,boolean equals(Object obj):判断此Object是否与指定的Object对象相等。
4,void copy(Object obj):把此Object拷贝到自定的Object对象中。
5,Object clone():克隆此Object对象:
6,String toString():把此Object对象转换成String类的对象。
7,void notify():唤醒一个等待的线程
8,void notifyAll():唤醒所有等待的线程
9,void wait(int timeout):使一个线程处于等待直到timeout结束或被唤醒
10,void wait():使一个线程处于等待直到被唤醒
5-7
pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问。
pageContext对象可以访问到本页所在的session,也可以获取本页所在的application的某一属性值。
pageContext对象相当于页面中所有功能的集大成者。
pageContext对象的本类名也叫pageContext。
常用方法如下:
1,JSPWriter getOut():返回当前客户端响应被使用的JspWriter流(out)
2,HttpSession getSession():返回当前页中的HttpSession对象(session)
3,Object getPage():返回当前页的Object对象(page)
4,ServletRequest getRequest():返回当前页的ServletRequest对象(request)
5,ServletResponse getResponse():返回当前页的ServletResponse对象(response)
6,void setAttribute(String name,Object attribute):设置属性及属性值
7,Object getAttribute(String name,int scope):在指定范围内获取属性的值
8,int getAttributeScope(String name):返回某属性的作用范围
9,void forward(String relativeUrlPath):使当前页面重新导向另一个页面
10,void include(String relativeUrlPath);在当前位置包含另一个文件
5-8
Config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过
属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)常用的方法如下:
1,ServletContext getServletContext():返回含有服务器相关信息的ServletContext对象。
2,String getInitParameter(String name()):返回初始化参数的值。
3,Enumeration getInitParameterNames():返回Servlet初始化所需所有参数的枚举。
5-9
Exception对象
exception对象是一个异常对象,当一个页面在运行过程中发生异常,就产生了这个对象,如果一个JSP页面要应用此对象
,就必须把isErrorPage设置为true,否则无法编译,他实际上是java.lang.Throwable的对象,常用方法如下:
1,String getMessage():返回描述异常的消息。
2,String toString():返回关于异常的简短描述消息。
3,void printStackTrace():显示异常及其栈轨迹。
4,Throwable FillInStackTrace():重写异常的执行栈轨迹。
原文地址:http://www.2cto.com/kf/201410/346984.html