Jsp翻译成servlet之后,有9个对象定义并且初始化完毕,可以直接使用这些对象
- request 请求对象
- response 响应对象
- out 向客户端输出内容
- session 会话信息
- application 共享信息servletContext
- pageContext
- config 服务器配置可以获取初始化参数
- page 转换servlet类的实例
- exception 异常页面会有该对象
request
接受客户端提交的各种信息。
常用方法
- getParameter(String name) 获取客户端传给服务器的参数值
- getParameterNames() 获取客户端传给服务器的所有参数的名字,返回结果时一个枚举实例
- getCookies()
- getCharacterEncoding()
- getMethod()
- getRequestURL()
- getRemoteAddr() 获取客户端的IP地址
- getServerName() 获取服务器的名字
- getServerPort() 获取服务器的端口号
- getServletPath() 获取客户端请求脚本的路径
<%--客户使用的协议--%>
<h1><%= request.getProtocol()%></h1>
<%--客户端请求脚本的路径--%>
<h1><%= request.getServletPath()%></h1>
<%--提交信息的长度--%>
<h1><%= request.getContentLength()%></h1>
<%--提交信息的方式--%>
<h1><%= request.getMethod()%></h1>
<%--UserAgent头信息--%>
<h1><%= request.getHeader("User-Agent")%></h1>
<%--Host头信息--%>
<h1><%= request.getHeader("Host")%></h1>
<%--Ip地址--%>
<h1><%= request.getRemoteAddr()%></h1>
<%--客户机名称--%>
<h1><%= request.getRemoteHost()%></h1>
<%--服务器名称--%>
<h1><%= request.getServerName()%></h1>
<%--服务器端口号--%>
<h1><%= request.getServerPort()%></h1>
response
对客户请求做出响应。 向客户端发送数据
常用方法
- addCookie(Cookie cookie) 添加一个Cookie对象,保存客户端信息
- addHeader(String name,String value) 添加HTTP头信息
- constrainsHeader(String name) 判断名称头是否已经存在
- flushBuffer() 强制吧缓冲区内容发送客户端
- getBufferSize() 获取缓冲区大小
- setHeader()
- setRedirect(String url) 把响应发送到另一个位置进行处理
<%--自动跳转连接--%>
<%
response.setHeader("refresh","3;URL=http://www.baidu.com");
%>
// 禁用页面缓存
<%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setHeader("Expires","0");
%>
page
page对象表示当前一个JSP页面,可以理解为一个对象本身,即:把一个JSP当作一个对象来看待。
out
out对象用于向客户端发送文本数据
out对象的类型JspWriter,这是一个带有缓存功能的PrintWriter。默认8Kb,如果设置为0代表关闭out缓冲区直接写道response缓冲区。设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存
常用方法
- clear() 清除缓冲区数据
- clearBuffer() 清除缓冲区并向用户输出
- close() 关闭输出流
- flush() 输出缓冲区的内容
- isAutoFlush() 是否为自动刷新
print(String str)
PageContext
通过pageContext获得其他对象
- getException方法返回exception隐式对象
- getPage方法返回page隐式对象
- getRequest方法返回request隐式对象
- getResponse方法返回response隐式对象
- getServletConfig方法返回config隐式对象
- getServletContext方法返回application隐式对象
- getSession方法返回session隐式对象
- getOut方法返回out隐式对象
作为域对象
- setAttribute()
- getAttribute()
- removeAttribute()
- findAttribute()
Session
Session是指客户端与服务器的一次会话,从客户端连到服务器开始到客户端与服务器断开连接
- getAttribute(String name)
- getAttributeNames()
- removeAttribute(String name)
- setAttribute(String name, String value)
- getCreationTimes() 返回创建session的时间
- getId() 返回唯一标识符的Id
- getLastAccessedTime() 返回该session相关的客户端最后发送请求的时间
<%--Session创建时间--%>
<h1><%= session.getCreationTime()%></h1>
<%--创建Session的ID--%>
<h1><%= session.getId()%></h1>
<%--最近一次的请求时间--%>
<h1><%= session.getLastAccessedTime()%></h1>
<%--取消Session使Session不可用--%>
<%--<h1><%= session.invalidate()%></h1>--%>
<%--查看Session是否存在--%>
<h1><%= session.isNew()%></h1>
<%--设置两次请求间隔多长时间--%>
<h1><% session.setMaxInactiveInterval(6000);%></h1>
Application
实现了用户间的数据共享问题,可存放全局变量。开始与服务器的启动直到服务器的关闭。
- Object getAttribute(String name) 返回给定名的属性值
- Enumeration getAttributeNames() 返回所有可用属性名的枚举
- void setAttribute(String name,Object obj) 设定属性的属性值
- void removeAttribute(String name) 删除一属性及其属性值
- String getServerInfo() 返回JSP(Servlet)引擎名及版本号
- String getRealPath(String path) 返回一虚拟路径的真实路径
- ServletContext getContext(String uripath) 返回指定WebApplication的application对象
- int getMajorVersion() 返回服务器支持的Servlet API的最大版本号
- int getMinorVersion() 返回服务器支持的Servlet API的最大版本号
- String getMimeType(String file) 返回指定文件的MIME类型
- URL getResource(String path) 返回指定资源(文件及目录)的URL路径
- InputStream getResourceAsStream(String path) 返回指定资源的输入流
- RequestDispatcher getRequestDispatcher(String uripath) 返回指定资源的RequestDispatcher对象
- Servlet getServlet(String name) 返回指定名的Servlet
- Enumeration getServlets() 返回所有Servlet的枚举
- Enumeration getServletNames() 返回所有Servlet名的枚举
- void log(String msg) 把指定消息写入Servlet的日志文件
- void log(Exception exception,String msg) 把指定异常的栈轨迹及错误消息写入Servlet日志文件
- void log(String msg,Throwable throwable) 把栈轨迹及Throwable异常信息写入Servlet日志文件