jsp九个内置对象及4个作用域

来源:互联网 发布:开源cms php 企业站 编辑:程序博客网 时间:2024/05/14 08:11

jsp九个内置对象及4个作用域:


NO.内置对象类型对象类型作用域描述1pageContext

javax.servlet.jsp.PageContext

页面上下文对象

Page

JSP的页面容器2request

javax.servlet.ServletRequest

请求对象

Request

得到用户的请求信息3response

javax.servlet.SrvletResponse

响应对象

Page

服务器向客户端的回应信息4session

javax.servlet.http.HttpSession

会话对象

Session

用来保存每一个用户的信息5application

javax.servlet.ServletContext

应用程序对象

Application

表示所有用户的共享信息6config

javax.servlet.ServletConfig

配置对象

Page

服务器配置,可以取得初始化参数7out

javax.servlet.jsp.JspWriter

输出对象

Page

页面输出8page

javax.lang.Object

页面对象

Page

表示从页面中表示出来的一个servlet实例9exception

javax.lang.Throwable

例外对象

Page

表示JSP页面所发生的异常,在错误页中才起作用


注(作用域):
page:只在一个页面中保存属性,跳转之后无效。
request:只在一次请求中保存属性,服务器跳转后依然有效。
session:再一次会话范围中保存,无论何种跳转都可以使用,但是新开浏览器无法使用。
application:在整个服务器上保存,所有用户都可以使用。

属性操作方法:
NO.方法类型描述1public void setAttribute(String name,Object o)普通设置属性的名称及内容2public void getAttribute(String name)普通根据属性名称取得属性内容3public void removeAttribute(String name)普通删除指定的属性

request对象:
NO.方法类型描述1public String getParameter(String name)普通接收客户端发来的请求参数内容2public String[] getParameterValues(String name)普通取得客户端发来的一组请求参数内容3pubic Enumeration getParameterNames()普通取得全部请求参数的名称4public String getRemoteAddr()普通得到客户端的IP地址5void setCharacterEncoding(String env) throws UnsupporedEncodingException普通设置统一的请求编码6public boolean isUserInRole(String role)普通进行用户身份验证7public Httpsession getSession()普通取得当前的session对象8public StringBuffer getRequestURL()普通返回正在请求的路径9public Enumeration getHeaderNames()普通取得全部请求的头信息的名称10public String getHeader(String name)普通根据名称取得头信息的内容11public String getMethod()普通取得用户的提交方式12public String getServletPath()普通取得访问的路径13public String getContextPath()普通取得上下文资源路径
response对象:
NO.方法类型描述1public void addCookie(Cookie cookie)普通向客户端增加Cookie2public void setHeader(String name,String value)普通设置回应的头信息3public void sendRedirect(String location)throws IOException普通页面跳转
HTML跳转头信息操作(三秒后跳转页面)
<meta http-equiv="refresh" content="3;url=hello.html">

<jsp:forward>服务器端跳转
地址栏信息不变,跳转页面时后面的部分不会执行
response.sendRedirect()客户端跳转
地址栏信息改变,跳转页面时后面的部分会执行

操作Cookie:

使用Cookie保存信息可以减少客户端的部分操作。
    记住密码功能的实现,这时如果没有及时地清理掉使用的账户,就有可能出现安全隐患,这一点在进行项目开发时必须有所考虑。

Cookie定义的常用方法:
NO.方法类型描述1public Cookie(String name,String value)构造实例化Cookie对象,同时设置名称和内容2public String getName()普通取得Cookie的名称3public String getValue()普通取得Cookie的内容4public void setMaxAge(int expiry)普通设置Cookie的保存时间,以秒为单位
设置Cookie
NO.方法类型描述1public void addCookie(Cookie cookie)普通向客户端设置Cookie
取得Cookie
NO.方法类型描述1public Cookie[] getCookies()普通取得客户端设置的全部Cookie
要想Cookie保存在客户端上,需要为Cookie设置保存时间
                Cookie c = new Cookie("co","cookie");                //定义新的Cookie对象
                c.setMaxAge(60);                                                //Cookie保存60秒
                response.addCookie(c);                                     //向客户端增加Cookie

session对象

NO.方法类型描述1public String getId()普通取得Session Id2public long getCreation Time()普通取得session的创建时间3public long getLastAccessedTime()普通取得session的最后一次操作时间4public boolean isNew()普通判断是否是新的session(新用户)5public void invalidate()普通让session失效6public Enumeration getAttributeNames()普通得到全部属性的名称


实例:
<%@page contentType="text/html;charset=GBK"%><%long start = session.getCreationTime();    //取得创建时间long end = session.getLastAccessedTime();   //取得最后一次操作时间long time = (end-start)/1000;    //得出操作的秒%><h3>您已经停留了<%=time%>秒!</h3>
application对象
NO.方法类型描述1String getRealPath(String path)普通得到虚拟目录对应的绝对路径2public Enumeration getAttributeNames()普通得到所有属性的名称3public String getContextPath()普通取得当前的虚拟路径名称
this.getServletContext()方法与application对象功能是一样的,尽量更多使用this.getServletContext()方法完成操作。

web安全性及config对象

WEB-INF的安全性是最高的。
  在javaEE的标准中,Web目录中的WEB-INF是必须存在的,而且此文件夹的安全性是最高的,在各个程序的开发中,基本上都将一些配置信息保存在此文件夹中。
  在定义WEB-INF目录时一定要注意大小写的问题,这里的字母必须都是大写。

config对象
NO.方法类型描述1public String getInitParameter(String name)普通取得指定名称的初始化参数内容2public Enumeration getInitParameterNames()普通取得全部的初始化参数名称

out对象

    out对象是javax.servlet.jsp.JspWriter类的实例化对象,主要功能就是完成页面的输出操作,使用println()或print()方法输出信息。但是从实际开发来看,直接使用out对象的几率很小,一般使用表达式完成输出的操作。

out对象的其他操作
NO.方法类型描述1public int getBufferSize()普通返回JSP中缓冲区的大小2public int getRemaining()普通返回JSP中未使用的缓冲区大小
pageContext对象
NO.方法类型描述1public abstract void forward(String relativeUrlPath) throwsServletException,IOException普通页面跳转2public void include(String relativeUrlPath) throws ServletException,IOException普通页面包含3public ServletConfig getServletConfig()普通取得ServletConfig对象4public ServletContext getServletContext()普通取得ServletContext 对象5public ServletRequest getRequest()普通取得ServletRequest 对象6public ServletResponse getResponse()普通取得ServletResponse 对象7public HttpSession getSession()普通取得HttpSession 对象取得的操作实际上是request和response对象所在接口的父接口实例。
    pageContext对象中的getRequest()和getResponst()连个方法返回的是ServletRequest和ServletResponse,而常用的request和response分别是HttpServletRequest和HttpServletResponse接口的实例。

0 0
原创粉丝点击