request对象:只要用于接收客户端通过HTTP协议连接传输到服务器端的数据,在客户端的请求中如果有参数,则该对象就有一个参数列表,它通常是HttpServletRequest的子类,起作用域就是一次request请求。
request对象主要方法:
方法
|
说明
|
Object getAttribute(String name)
| 返回name所指定的属性值 |
void setAttribute(String name, Object obj)
| 设定name所指定的属性值为obj |
void removeAttribute(String name)
|
删除name所指定的属性
|
java.util.Enumeration getAttributeNames()
|
返回request对象所有属性的名称集合
|
String getPerameter(String name)
|
从客户端获取name所指定的参数值
|
java.util.Enumeration getParameterNames()
|
从客户端获取所有参数名称
|
String[] getPerameterValues(String name)
|
从客户端获取name所指定参数的所有值
|
int getServerPort()
| 返回服务器接受请求的端口 |
String getServerName()
|
返回服务器名称
|
String getRemoteAddr()
|
获取客户端的IP地址
|
int getRemotePort() |
获取服务器请求端口
|
String getContextPath()
|
返回环境路径(Web服务程序根目录)
|
String getCharacterEncoding()
|
返回请求正文中所使用的字符编码
|
void setCharacterEncoding(String chean)
|
设定请求正文中所使用的字符编码
|
Cookis[] getCookies() |
返回客户端所有的Cookie对象
|
Session getSession()
|
返回请求相关的session对象
|
String getContentType()
|
返回请求正文的MIME类型
|
int getContentLength()
|
返回请求的Body的长度,单位为字节
|
response对象:用于将服务器端数据发送到客户端已响应客户端的请求。response对象实现HttpServletResponse接口,可对客户的请求做出动态的响应,向客户端发送数据,如Cookie、HTTP文件头信息等,一般是HttpServletResponse类或其子类的对象。
response的主要方法:
方法
|
说明
|
void sendRedirect(String redirectURL)
|
将客户端重定向到指定的URL
|
void setContentType(String contentType)
|
设置响应数据内容的类型
|
void setContentLength(int contentLength)
| 设置响应数据内容的长度 |
void setHeader(String name, String value)
|
设置HTTP应答报文的首部字段和值及页面的自动刷新
|
void setStatus(int n)
|
设置响应的状态行
|
ServletOutputStream getoutputStream()
|
获取二进制类型的输出流对象
|
PrintWriter getWriter()
|
获取字符类型的输出流对象
|
String encodeRedirectURL(String url) |
编码指定的URL
|
String encodeRedirectURL(String url)
|
编码指定的URL,以便向sendRedirect发送
|
int getBufferSize()
|
获取缓冲区大小
|
void setBufferSize(int bufferSize) | 设置缓冲区大小 |
void flushBuffer()
|
强制发送当前缓冲区的内容到缓冲区
|
void resetBuffer()
|
清除响应缓冲区中的内容
|
void addCookie(Cookie cookie)
|
向客户端发送一个Cookie
|
void addHeader(String name, String value)
|
添加HTTP文件的头文件
|
boolean isCommitted()
|
判断服务器是否已将数据输出客户端
|
设置刷新:
reponse.setHeader("Reflush", "5"); // 5秒后自动刷新本页面
reponse.setHeader("Reflush", "5; URL=
http://www.baidu.com
"); // 5秒后跳转到新页面
session(会话)对象:该对象是类javax.servlet.Httpsession的一个对象。
访问session中的数据
session.setAttribute("level", new Integer(3)); 设置整数
其他session对象的常用犯法:
在JSP中不需要特别设置程序代码来建立用户session,当程序使用了session对象时,便会自动建立session,下面这行语句是在session中新增变量数据的方式:
session.setAttribute("变量名称", 变量内容); // 变量内容可为字符串或者其他对象类型
在session中设置变量数据:(当前浏览器不同网页都可用)
<%
session.setAttribute("id", "StringValue"); //设置字符串
session.setAttribute("expire", new Date(86400*10)); //设置日期
session.setAttribute("level", new Integer(3)); 设置整数
%>
返回session中的变量:
session.getAttribute("变量名称");
返回session中的所有变量名称:
session.getAttritubeNames();
清除session中的变量:
session.removeAttribute("变量名称");
结束session:
session.invalidate();
方法
|
说明
|
getCreationTime()
|
返回session建立的时间,返回值为从格林威治时间1970.1.1开始算起到session建立时的毫秒数
|
getlastAccessedTime() |
返回客户端对服务器端提出请求至处理session中数据最后的时间,若为新建立的session则返回-1
|
getMaxInactiveInterval()
|
返回客户端未对session提出请求而session开始停滞到自动消失之间所间隔的时间返回值以毫秒为单位
|
intNew()
|
返回布尔值表示是否为新建的session
|
SetMaxInactiveInterval(int interval) |
设置客户端未对session提出请求而session开始停滞到自动消失之间所间隔的时间为interval,以秒为单位
|
application对象:对服务器而言,该对象可视为一个所有联机用户共享的数据存取区,application中的变量数据在程序设置其值是被初始化,而当关闭网页服务器,或者超过预设时间而未有任何用户联机时将自动消失。
除了系统预设的application变量外,要在application中建立application中建立变量数据必须使用setAttribute()方法.
建立application变量的语法如下:
application.setAttribute("变量名称", 变量内容);
<%
application.setAttribute("id", "IDName"); //设置字符串
application.setAttribute("expire", new Date(86400*10)); //设置日期
%>
返回application中的变量:
语法格式如下:
application.getAttribute("变量名称");
如:
<%
object objID = application.getAttribute("id");
out.println(id);
%>
删除application变量:
语法格式如下:
application.removeAttribute("变量名称");
返回所有application变量:
返回application中所有变量名称的几何对象,其数据类型为Enumeration,其语法格式如下:
application.getAttributeNames();
如:
<%
Enumeration all = application.getAttributeNames();
%>
使用application对象取得信息(服务器或者网页中的信息):
方法
|
说明
|
getMajorVersion()
|
返回服务器解释引擎所支持的最新Servlet API版本
|
getMinorVersion()
|
返回服务器解释引擎所支持的最低Servlet API版本
|
getMinmeType(String file)
|
返回文件file的文件格式与编码方式
|
getRealPath(String path)
|
返回虚拟路径path的真是路径
|
getServerInfo()
|
返回服务器解释引擎的信息
|
pageContext对象:
pageContext对象衍生于javax.servlet.jsp.PageContext类 。
主要方法有:
方法
|
说明
|
Object getAttribute(String name)
|
返回当前页面内的name变量
|
void setAttribute(String name, Object obj)
|
设定当前页面内name变量为obj
|
void removeAttribute(String name)
|
删除当前页面的name变量
|
HttpSession getSession()
|
取得页面的session对象
|
ServletContext getServletContext()
|
返回ServletContext对象这个对象对所有的页面都是共享的
|
javax.servlet.ServletRequest getRequest()
|
该方法的返回对象时JSP内置对象request,主要用于获取客户端的信息
|
config对象:
config对象是类javax.servlet.ServletConfig的一个对象,它标识Servlet的配置。Config对象主要用来取得服务器的配置信息,在JSP页面通过JSP Container进行初始化时被传递。使用Config对象,在修改需要在Web服务器中处理的变量时,不需要逐一修改JSP文件,而只需修改响应属性文件的内容,这样就打打简化了网络维护工作,而且能够避免由于忘记修改一些文件二造成的错误,其主要方法有:
方法
|
说明
|
String getInitParameter(String name)
|
返回所指定的初始参数
|
java.util.Enumeration getInitParameterNames()
|
返回所有初始化参数
|
ServletContext getServletContext()
|
返回Servlet相关的上下文对象
|
String getServletName()
|
返回Servlet名称
|
page对象:
page对象代笔了正在运行的由JSP文件产生的类对象(不常用)。page对象指当前JSP程序本身的对象,有点类似类中的this。
exception对象:
exception对象时类java.lang.Throwable的一个对象,是为JSP提供用于处理程序运行时错误的异常对象,可以配合page对象一起使用。
主要方法有:
方法
|
说明
|
String getMessage()
|
返回错误信息
|
String getLocalizedMessage()
|
取得本地语系的错误提示信息
|
void printStackTrace()
|
以标准错误的形式输出一个错误和错误的堆栈
|
String toString()
| 该方法以字符串形式返回一个对异常的描述 |
Throwable fillInStackTrace()
|
重写错误的堆栈
|