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

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)普通向客户端增加Cookie
2public 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 Id
2public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值