JSP中的九大内置对象

Request对象:

(1)request获取请求参数值。Eg: string str=request.getParameter(“str”);

(2)如果请求参数的文字编码方式与页面不一致造成乱码-解决中文乱码问题:<%=new string(request.getparameter(“str”).getBytes(“gbk2312”,”utf-8”);

(3)获取Form表单所提交的内容,通过参数名称获得传递的值。

(4)获取客户端信息,相关方法如下:   

request获取客户端相关方法说明

 

方法

返回值

相关说明

getHeader(String name)

String

返回指定名称的HTTP头信息

getMethod()

String

获取客户端向服务器发送请求的方法

getContextPath()

String

返回请求的路径

getProtocol()

String

返回请求使用的协议

getRemoteAddr()

String

返回客户端IP地址

getRemoteHost()

String

返回客户端主机名称

getRemotePort()

int

返回客户端发出请求的端口号

getServletPath()

String

返回接受客户端提交信息的页面

getRequestURI()

String

返回部分客户端请求的地址,不包括请求的参数

getRequestURL()

StringBuffer

返回客户端请求的地址

测试JSP代码如下:

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>'index.jsp'</title>

  </head>

  <body>

<div style="width: 600px">

<ul style="line-height:24px">

   <li>客户使用的协议:<%=request.getProtocol() %>

   <li>客户端发送请求的方法:<%=request.getMethod() %>

   <li>客户端请求路径:<%=request.getContextPath() %>

   <li>客户机IP地址:<%=request.getRemoteAddr() %>

   <li>客户机名称:<%=request.getRemoteHost() %>

   <li>客户机请求端口号:<%=request.getRemotePort() %>

   <li>接爱客户信息的页面:<%=request.getServletPath() %>

   <li>获取报头中User-Agent值:<%=request.getHeader("user-agent") %>

   <li>获取报头中accept值:<%=request.getHeader("accept") %>

   <li>获取报头中Host值:<%=request.getHeader("host") %>

   <li>获取报头中accept-encoding值:<%=request.getHeader("accept-encoding") %>

   <li>获取URI<%= request.getRequestURI() %>

   <li>获取URL<%=request.getRequestURL() %>

   </ul>

</div>

  </body>

</html>

Cooike对象的使用

  通过使用cookie可以标识用户身份,记录用户及密码,跟踪重复用户,cookie在服务器端生成并发送给浏览器,浏览将cookie的key-value保存到时某个指定的目录中,通过cookie对象的getCookies方法可以获取到所有的cooike对象集合,然后通过getName方法获取到指定名称的cookie,通过getValue方法可以获取到时cooike对象的值。将一个cookie发送到客户端可以使用response.addCookie方法。

Response对象的使用

Reponse代表的是对客户端的响应,将JSP容器处理过的对象传回到客户端,response对象只在JSP页面中有效,常用方法如下:

reponse对象相关常用方法

方法

返回值

相关说明

addHeader(String name,String value)

void

添加HTTP文件头,如果同名则覆盖

setHeader(Strinh name,String value)

void

设定指定名称的文件并头的值,如果存在则覆盖

addCookie(Cookie cookie)

void

向客户端添加一个cookie对象

sendError(int sc,String msg)

void

向客户端发送错误信息,例如404找不到

sendRedirect(String location)

void

发送请求,重定向到另一个页面

getOutputStream()

ServletOutputStream

获取客户端输出流

getBufferSize(int size)

void

设置缓冲区大小

Warning:重定向操作后,request中的属性全部失效,并且进入一个新的request作用域,地址栏地址为重定向后地址。处理HTTP文件头可以这样response.setHeader(“refresh”,”5”);设置网页5秒刷新一次.

Session对象的使用

Session对象是由服务器自动创建的与用户请求相关的对象,为每一个用户都生成一个对象,用于保存该用户信息,内部采用Map类来保存。常用方法如下:

session对象常用方法

方法

返回值

说明

getAttribute(String name)

Object

获得指定名字的属性

getAttributeNames()

Enumeration

获得所有属性对象

getCreationTime()

long

获得对象创建时间

getId()

String

获得唯一编号

getLastAccessedTime()

long

获得最后一次被操作的时间

getMaxInactiveInterval()

int

获得最大存活时间

isNew()

boolean

是否是一个新的对象

removeAttribute(String name)

void

删除这个对象

invalidate()

void

销毁session对象

setMaxInactiveInterval(int interval)

void

设置最大存活时间

setAttribute(String key,Object obj)

void

设置对象名及值

 

Application对象的使用

Application对象相当于一个全局对象,直到服务器关闭之前,都可以一址直使用。

相关常用方法如下:

application常用方法

方法

返回值

相关说明

getAttribute(String name)

Object

通过名字得到属性值

getAttributeNames()

Enumeration

获取所有对象使用的属性名

setAttribute(String name,Object obj)

void

设置对象的属性

getMajorVersion()

int

得到服务器的版本号

getServerInfo()

String

返回引擎相关信息

removeAttribute(String name)

void

删除指定对象

getRealPath()

String

得到真实路径

getInitParameter(String name)

String

获取指定name的初始值

 

例如访问应用程序的初始化参数,application对象访问应用程序初始化的两个方法:【1】getInitParameter(String name):返回一个已经命名的参数值。【2】getAttributeName():返回所有已经定义的应用程序初始化名称的枚举。Web.xml文件配置如下:

   <context-param> <!-- 定义连接数据库URL -->

<param-name>url</param-name>

<param-value>jdbc:mysql://localhost:3306/db_database</param-value>

</context-param>

<context-param> <!-- 定义连接数据库用户名 -->

<param-name>name</param-name>

<param-value>root</param-value>

</context-param>

<context-param> <!-- 定义连接数据库mim -->

<param-name>password</param-name>

<param-value>123</param-value>

</context-param>

然后通过application对象获取初始化参数:

<%

  //获取初始化参数,与web.xml文件中内容对应

   String url = application.getInitParameter("url");    

   String name = application.getInitParameter("name");

   String password = application.getInitParameter("password");

   out.println("URL: "+url+"<br>");

   out.println("name: "+name+"<br>");

   out.println("password: "+password+"<br>");

%>

Out对象的使用

Out对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out输出数据时,需要用clear()方法清除缓冲区内容,重新开始操作。如果缓冲区内容已经提交,会报出IOException异常,使用clearBuffer()方法,即便已经提交,也能够访问该方法.相关方法如下:

                               out对象相关方法

方法

返回值

相关说明

clear()

void

清除缓冲区尚存的内容

clearBuffer()

void

清除当前缓冲区尚存的内容

flush()

void

刷新流

isAutoFlush()

boolean

检查当前是否是自动清空

getBuffer

int

获取缓冲区大小

pageContext对象

pageContext对象的作用是取得任何范围的参数,通过它可以获取JSP页面的out,request,response,session,application等对象。该对象创建和初始化都是由容器完成的。常用方法如下:

out对象相关方法

方法

返回值

相关说明

forward(String path)

void

将JSP重定向至另外一个页面

getAttribute(String name)

Object

获取属性值

getAttributeNamesInScope(int scope)

Enumeration

获取某范围的参数名称集合

getRequest()

ServletRequest

获取Request对象

getResponse()

ServletResponse

获取Response对象

getOut()

JspWriter

获取Out对象

getSession()

HttpSession

获取Session对象

getPage()

Object

获取Page对象

setAttribute(String name,Object value)

void

设置属性和值

config对象

Config对象主要用于读取web.xml配置文件信息,通过pageContext对象的getServletConfig()方法可以获取一个config对象,当一个Servlet初始化时,容器把某些信息通过config对象传递给这个Servlet.相关方法如下:

out对象相关方法

方法

返回值

相关说明

getInitParameter(String name)

String

获取服务器指定参数的初始值

getInitParameterNames()

Enumeration

获取服务器所有初始参数名称

getServletContext()

ServletContext

获取Servlet上下文

getServletName()

String

获取Servlet服务器名

page对象的使用

Page对象代表JSP本身,只有在JSP页面才是合法的。相关方法如下:

page对象相关方法

方法

返回值

相关说明

getClass()

Object

返回当前对象的类

hashCode()

Object

返回些对象的哈希码

toString()'

String'

转换成字符串对象

equals(Object obj)

boolean

比较与指定对象是否相等

 

Exception对象

Exception对象是用来获取异常信息的,只有在isErrorPage=”true”的页面中才能免使用。相关方法如下:

exception对象相关方法

方法

相关说明

getMessage()

返回异常信息字符串

getLocalizedmessage()

返回本地化异常错误

toString()

信息描述

fillInStackTrace()

重写异常错误的栈执行轨迹

 

你可能感兴趣的:(java,jsp,对象)