jsp九大内置对象总结

JSP中使用到的内置对象主要有如下九个:

request内置对象
response内置对象
page内置对象
session内置对象
application内置对象
out内置对象
exception内置对象
config内置对象
pageContext内置对象

request内置对象

request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
request对象常用方法

request对象主要用于客户端请求处理,其中,该对象中所包含的方法有:
getMethod():返回HTTP请求信息中所使用到的方法名称;
getServletPath():返回请求信息中调用Servlet的URL部分;
getQueryString():返回HTTP GET请求信息中URL之后的查询字符串;
getContentType():返回请求实体的MIME类型;
getProtocol():返回请求信息中的协议名名字与版本号;
getPathInfo():返回有关任何路径信息;
getServletName():返回接受请求的服务器主机;
getServletPort():返回服务器的端口号;
getRemoteHost():返回提交请求的客户机的规范名字;
getRemoteAddr():返回提交请求的客户机的IP地址;
getScheme():返回请求使用的模式(协议)名字;
getParameter():返回客户端通过表单提交过来的参数值。例如request.getParameter(“myname”),通过该语句来获取客户端传递过来的myname 参数。
getContextPath():返回HTTP 请求中指示请求上下文的部分。
getHeaderNames():返回一个枚举类型,此枚举集合中包含了请求所含有的所有请求名。
getAuthType():返回用于保护Servlet 的认证模式的名字。例如,BASIC,SSL 或者NULL(没有保护)。
gtRequestURL():返回HTTP 请求信息中的第一行从协议名开始直至查询字符串之间的URL 部分。例如,对HTTP GET 请求http://www.zzbsite.com/helloworld?name=johnson&age=20,这个方法将返回http://www.zzbsite.com/helloworld 字符串。 gtCountLength():返回整数,表示请求实体的长度(以字节为单位)。 gtUestPrincipal():返回java.security 类的Principal 对象,其中包含有目前授权用户的名字。 iUserInRole(String role):返回一个布尔值,指示某个授权用户是否包含在某个具体的逻辑角色role 中。 gtRemoteHost():如果用户已经被授权,则返回提交请求的用户的注册名字,否则返回一个NULL。

实例应用

<%@ page contentType="text/html;charset=GBK" %>
<html>
<head><title> request 内置对象的实例 </title></head>
<body>
<form aciton="request.jsp">
<br>Get request results:
<br><input type="text" name="myname">
<br><input type="submit" name="get value">
</form>
返回HTTP 请求信息中使用的方法名称:<%=request.getMethod()%>
<br>
返回请求信息中调用Servlet 的URL 部分:<%=request.getServletPath()%>
<br>
返回HTTP GET 请求信息中URL 之后的查询字符串:<%=request.getQueryString()%>
<br>
返回请求实体的MIME 类型:<%=request.getContentType()%>
<br>
返回请求信息中的协议名名字和版本号:<%=request.getProtocol()%>
<br>
有关任何路径信息:<%=request.getPathInfo()%>
<br>
返回接受请求的服务器主机:<%=request.getServerName()%>
<br>
返回服务器的端口号:<%=request.getServerPort()%>
<br>
返回提交请求的客户机的规范名字:<%=request.getRemoteHost()%>
<br>
返回提交请求的客户机的IP地址:<%=request.getRemoteAddr()%>
<br>
返回请求中使用的模式(协议)名字:<%=request.getScheme()%>
<br>
返回这个request值,提交过来的值:<%=request.getParameter("myname")%>
</body>
</html>

response内置对象

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
response对象与request对象相对应,它是用于响应客户请求,向客户端输出信息。response是javax.servlet.HttpServletResponse类的对象。
常用方法

setContentLength(int len):此方法用于设置响应头的长度。
setContentType(String type):用于设置HTTP响应的contentType中的MIME类型,其中可以包含字符编码的规则。例如可以把contentType设置为“text/html;charset=GBK”。在Servelet编写过程中,需要调用此方法进行设置,但是在JSP中一般都是使用page指令直接指定contentType的属性。
getOutputStream():此方法返回一个Servlet的输出流。用于在响应中写入二进制数据。Servlet容器不对二进制数据进行编码。
getWriter():此方法返回一个PrintWriter对象,在Servlet编写过程使用的比较频繁,而在JSP文件中,由于out是用getWriter()创建的PrintWriter对象的隐含对象,所以可以直接调用out对象作输出响应。
getCharacterEncoding():该方法获得此时响应所采用的字符编码类型。
sendError(int status):使用指定错误状态码向客户机发送相应的错误信息。
sendError(int status, String message):使用自定义的错误状态码以及描述信息向客户机发送错误的提示信息。
sendRedirect(String location):将请求重新定位到一个不同的URL(页面)上。此方法在实际开发过程中会经常使用到。
setDateHeader(String headername, long date):把指定的头名称以及日期设置为响应头信息。其中日期是用long值表示的,这是按照从新纪元开始算起的毫秒数。
ContainsHeader(String name):检测指定的头信息是否存在。返回一个布尔类型。
setHeader(String headername, String value):此方法使用指定的头名字以及相应的值来设置头信息。如果此头信息已经设置,则新的值会覆盖掉旧的值。如果头信息已经被发送出去,则此方法的设置将被忽略。
addheader(String headername, String value):把指定的头名字以及相应值添加到头信息当中去。
addIntHeader(String headername, int value):把指定的头名字以及整数值设置为头信息。如果头信息已经设置了,则新的设置值将覆盖掉以前的值。
setStatus(int sc):给响应设置状态的代码。
setStatus(int sc, String sm):为响应设置状态代码以及信息。这是在没有错误的时候使用的。

实例应用

public static void printHTML(HttpServletResponse response) throws Exception{
    PrintWriter out = response.getWriter(); //调用HttpServletResponse类中的getWriter()方法。
    out.println("<table border='0' cellpadding='0' cellspacing='0' width='150' align='center'>");
    out.println("<tr><td height='5'>这是HttpServletResponse类中的getWriter()方法的例子</td></tr>");
    out.println("</table>");
    }

page内置对象

page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。
常用方法

getClass():返回当时Object的类。
hashCode():返回此Object的哈希代码。
toString():把此时的Object类转换成字符串。
equals(Object o):比较此对象是否和指定的对象是否相等。
copy(Object o):把此对象复制到指定的对象当中去。
clone():对此对象进行克隆。

实例应用

<%@ page language="java" contentType="text/html;charSet=GBK" %>
<%@ page import="java.lang.Object" %>
<html>
    <body>
        <center><h3>Page内置对象的实例</h3></center>
        <%!Object obj; %> <-- 对象申明 -->
        getClass:<%=page.getClass() %>
        <br>hashCode:<%=page.hashCode()%>
        <br>toString:<%=page.toString()%>
        <br>equals:<%=page.equals(obj) %>
        <br>equlas2:<%=page.equals(this) %>
    </body>
</html>

session内置对象

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
常用方法

getId():此方法返回唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session联合时,或当日志信息与先前的sessions有关时,它被当作键名用。
getCreationTime():返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有用的值,可将此值传给Date constructor 或者GregorianCalendar的方法setTimeInMillis。 getLastAccessedTime():返回session最后被客户发送的时间。最小单位为千分之一秒。 getMaxInactiveInterval():返回总时间(秒),负值表示session永远不会超时。 getAttribute(String key):通过给定的关键字获取一个存储在session中相对应的信息。例如,Integer item = (Integer) session.getAttrobute("item")setAttribute(String key, Object obj):提供一个关键词和一个对象值,然后存在session当中。例如,session.setAttribute("ItemValue", itemName)

application内置对象

application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。

常用方法

getAttribute(String key):通过一个关键字返回用户所需要的信息,返回类型为对象(Object),类似于session中的getAttribute(String key)方法。 getAttributeNames():返回所有可用的属性名,返回类型为枚举(Enumeration)。 setAttribute(String key, Object obj):保存一个对象信息,并指定给一个关键字。 removeAttribute(String key):通过关键字来删除一个对象信息。 getServletInfo():返回JSP引擎的相关信息。 getRealPath(String path):返回虚拟路径的真实路径。 getContext(String URLPath):返回执行Web应用的application对象。 getMajorVersion()getMinorVersion():返回服务器所支持的Servlet API最大和最小版本号。 getMineType(String file):返回指定文件的MIME类型。 getResource(String path):返回指定资源的URL路径。 getResourceAsStream(String path):返回指定资源的输入流。 getRequestDispatcher(String URLPath):返回指定资源的RequestDispatcher对象。 getServlet(String name):返回指定名称的ServletgetServlets():返回所有的Servlet,返回类型为枚举型。 getServletNames():返回所有的Servlet名称,返回类型为枚举型。 log(String msg):把指定信息写入到Servlet的日志文件中。 log(String msg, Throwable throwable):把栈轨迹以及给出的Throwable异常的说明信息写入Servlet的日志文件。

out内置对象

out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
常用方法

print():在页面中打印出字符串信息,不换行; println():在页面中打印出字符串信息,并且换行; clear():清除掉缓冲区中尚存在的内容。 clearBuffer():此方法清除掉当前缓冲区中尚存在的内容。 flush():清除掉数据流。 getBufferSize():返回缓冲区的内存大小,单位为字节流。如果不进行缓冲区的设置,大小为0getRemaining():此方法返回缓冲区还剩下多少字节数可以使用。 isAutoFlush():检查当前缓冲区是设置为自动清空,还是满了就抛出异常。 close():关闭输出流。

实例应用

<%@ page buffer=1kb” autoFlush=true” contentType=”text/html;charSet=GBK” %>
<html>
<body>
<% for(int i=0;i<135;i++) //迭代输出 Out.println(“Hello world, “+i+” “); %>
<br>BufferSize: <%=out.getBufferSize() %>
<br>BufferRemain: <%=out.getRemaining() %>
<br>AutoFlush: <%=out.isAutoFlush() %>
<% out.clearBuffer(); %>
</body>
</html>

exception内置对象

exception 对象的作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。
常用方法

getMessage()getLocalizedMessage():这两种方法分别返回exception对象的异常消息字符串和本地化语言的异常错误。 printStackTrace():显示异常的栈跟踪轨迹。 toString():返回关于异常错误的简单消息描述。 fillInStackTrace():重写异常错误的栈执行轨迹。

config内置对象

config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

pageContext内置对象

pageContext对象是一个比较特殊的对象。它相当于页面中所有其他对象功能的最大集成者,即使用它可以访问到本页面中所有其他对象,例如前面已经描述的request、response以及application对象等。
常用方法

getRequest():返回当前页面中的request对象。 getResponse():使用此方法将返回当前页面中的response对象。 getPage():此方法返回当前页面中的page对象。 getSession():返回当前页面中的session对象。 getOut():返回当前页面中的out对象。 getException():返回当前页面中的exception对象。 getServletConfig():返回当前页的config对象。 getServletContext():返回当前页中的application对象。 setAttribute(String name):给指定的属性名设置属性值。 getAttribute(String name):根据属性名称找到相应的属性值。 setAttribute(String name, Object obj, int scope):在给定的范围内设置相应的属性值。 getAttribute(String name, int scope):在指定的范围内获取到相应的属性值。 findAttribute(String name):寻找一个属性并返回,如果没有找到则返回一个nullremoveAttribute(String name):通过属性名删除掉某个属性。 removeAttribute(String name, int scope):在指定的某个范围内删除某个属性。 getAttributeScope(String scope):返回某属性的作用域。 getAttributeNamesInScope(int scope):返回指定范围内的所有属性名的枚举。 release():释放掉pageContext()所占的所有资源。 forward(String relativeURLpath):使用当前页面重导到另一个页面。 include(String relativeURLpath):使用当前位置包含的另一个页面。

实例应用

<html>
<body>
<% request.setAttribute(MyName,”zzb1”); //把MyName保存在request范围中 session.setAttribute(“MyName”,”zzb2”); //将MyName再保存再session范围中 application.setAttribute(“MyName”,”zzb3”); //将MyName保存在application范围中 %>
request: <%=pageContext.getRequest().getAttribute(MyName)%>
<br>session: <%=pageContext.getSession().getValue(MyName)%>
<br>application: <%=pageContext.getServletContext().getAttribute(MyName)%>
</body>
</html>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值