广告

兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册
PS教程

jsp内置对象和方法是什么?

[复制链接]
tuyuanma 发表于 2017-4-6 10:44:37 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


JSP内置对象在我们使用JSP编程是会经常使用,主要作用是可以不加声明就在JSP页面脚本(Jva程序片和Java表达式)中使用的成员变量。下面我们来介绍一下JSP的内置对象和方法。

  JSP内置对象的九种方法

1-140I0104341O6.jpg

  一、page 对象

page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。

  二、config 对象

config 对象里存放着一些Servlet 初始的数据结构。

config 对象实现于javax.servlet.ServletConfig 接口,它共有下列四种方法:

public String getInitParameter(name)

public java.util.Enumeration getInitParameterNames( )

public ServletContext getServletContext( )

public Sring getServletName( )

  三、request 对象

request 对象包含所有请求的信息,如:请求的来源、标头、cookies和请求相关的参数值等等。

request 对象实现javax.servlet.http.HttpServletRequest接口的,所提供的方法可以将它分为四大类:

  1.储存和取得属性方法;

void setAttribute(String name, Object value)设定name属性的值为value

Enumeration getAttributeNamesInScope(int scope)取得所有scope 范围的属性

Object getAttribute(String name)取得name 属性的值

void removeAttribute(String name)移除name 属性的值

  2.取得请求参数的方法

String getParameter(String name) 取得name 的参数值Enumeration

getParameterNames( ) 取得所有的参数名称String[]

getParameterValues(String name) 取得所有name 的参数值

Map getParameterMap( )取得一个要求参数的Map

  3.能够取得请求HTTP 标头的方法

String getHeader(String name)取得name 的标头

Enumeration getHeaderNames()取得所有的标头名称

Enumeration getHeaders(String name)取得所有name 的标头

int getIntHeader(String name)取得整数类型name 的标头

long getDateHeader(String name) 取得日期类型name 的标头

Cookie [] getCookies( ) 取得与请求有关的cookies

  4.其他的方法

String getContextPath( )取得Context 路径(即站台名称)

String getMethod( )取得HTTP 的方法(GET、POST)

String getProtocol( )取得使用的协议 HTTP/1.1、HTTP/1.0 )

String getQueryString( )取得请求的参数字符串,不过,HTTP的方法必须为GET

String getRequestedSessionId( ) 取得用户端的Session ID

String getRequestURI( )取得请求的URL,但是不包括请求的参数字符串

String getRemoteAddr( )取得用户的IP 地址

String getRemoteHost( )取得用户的主机名称

int getRemotePort( )取得用户的主机端口

String getRemoteUser( ) 取得用户的名称

void etCharacterEncoding(String encoding)设定编码格式,用来解决窗体传递中文的问题

  四、response 对象

response 对象主要将JSP 处理数据后的结果传回到客户端。

response 对象是实现javax.servlet.http.HttpServletResponse 接口。response对象所提供的方法。

  1.设定表头的方法

void addCookie(Cookie cookie)新增cookie

void addDateHeader(String name, long date)新增long类型的值到name标头

void addHeader(String name, String value)新增String类型的值到name标头

void addIntHeader(String name, int value)新增int类型的值到name标头

void setDateHeader(String name, long date)指定long类型的值到name标头

void setHeader(String name, String value)指定String类型的值到name标头

void setIntHeader(String name, int value)指定int类型的值到name标头

  2.设定响应状态码的方法

void sendError(int sc)传送状态码(status code)

void sendError(int sc, String msg)传送状态码和错误信息

void setStatus(int sc)设定状态码

  3.用来URL 重写(rewriting)的方法

String encodeRedirectURL(String url)对使用sendRedirect( )方法的URL予以编码

  五、out 对象

out 对象能把结果输出到网页上。

out主要是用来控制管理输出的缓冲区(buffer)和输出流(output stream)。

void clear( )清除输出缓冲区的内容

void clearBuffer( )清除输出缓冲区的内容

void close( )关闭输出流,清除所有的内容

int getBufferSize( )取得目前缓冲区的大小(KB)

int getRemaining( )取得目前使用后还剩下的缓冲区大小(KB)

boolean isAutoFlush( )回传true表示缓冲区满时会自动清除;false表示不会自动清除并且产生异常处理

  六、session 对象

session对象表示目前个别用户的会话(session)状况。

session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法

long getCreationTime()取得session产生的时间,单位是毫秒

String getId()取得session 的ID

long getLastAccessedTime()取得用户最后通过这个session送出请求的时间

long getMaxInactiveInterval()取得最大session不活动的时间,若超过这时间,session 将会失效

void invalidate()取消session 对象,并将对象存放的内容完全抛弃

boolean isNew()判断session 是否为"新"的

void setMaxInactiveInterval(int interval)设定最大session不活动的时间,若超过这时间,session 将会失效

  七、application对象

application对象最常被使用在存取环境的信息。

因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。

application 对象实现javax.servlet.ServletContext 接口,ServletContext接口容器所提供的方法

int getMajorVersion( )取得Container主要的Servlet API版本

int getMinorVersion( )取得Container次要的Servlet API 版本

String getServerInfo( )取得Container的名称和版本

String getMimeType(String file)取得指定文件的MIME 类型

ServletContext getContext(String uripath)取得指定Local URL的Application context

String getRealPath(String path)取得本地端path的绝对路径

void log(String message)将信息写入log文件中

void log(String message, Throwable throwable)将stack trace 所产生的异常信息写入log文件中

  八、pageContext对象

pageContext对象能够存取其他隐含对象。

1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。

Object getAttribute(String name, int scope)

Enumeration getAttributeNamesInScope(int scope)

void removeAttribute(String name, int scope)

void setAttribute(String name, Object value, int scope)

范围参数有四个,分别代表四种范围:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE

2.PageContext对象取得其他隐含对象的方法

Exception getException( )回传目前网页的异常,不过此网页要为error page,

JspWriter getOut( )回传目前网页的输出流,例如:out

Object getPage( )回传目前网页的Servlet 实体(instance),例如:page

ServletRequest getRequest( )回传目前网页的请求,例如:request

ServletResponse getResponse( )回传目前网页的响应,例如:response

ServletConfig getServletConfig( )回传目前此网页的ServletConfig 对象,例如:config

ServletContext getServletContext( ) 回传目前此网页的执行环境(context),例如:application

HttpSession getSession( )回传和目前网页有联系的会话(session),例如:session

3.PageContext对象提供取得属性的方法

Object getAttribute(String name, int scope)回传name 属性,范围为scope的属性对象,回传类型为Object

Enumeration getAttributeNamesInScope(int scope)回传所有属性范围为scope 的属性名称,回传类型为Enumeration

int getAttributesScope(String name)回传属性名称为name 的属性范围

void removeAttribute(String name)移除属性名称为name 的属性对象

void removeAttribute(String name, int scope)移除属性名称为name,范围为scope 的属性对象

void setAttribute(String name, Object value, int scope)指定属性对象的名称为name、值为value、范围为scope

Object findAttribute(String name)寻找在所有范围中属性名称为name 的属性对象

  九、exception对象

若要使用exception 对象时,必须在page 指令中设定。才能使用。

exception提供的三个方法:

getMessage( )

getLocalizedMessage( )、

printStackTrace(new java.io.PrintWriter(out))

  JSP内置对象方法

1. Throwable fillInStackTrace() ;
   将当前stack信息记录到exception对象中。

2. String getLocalizedMessage() ;
   取得本地语系的错误提示信息。

3. String getMessage()
   取得错误提示信息。

4. StackTrackElement[] getStackTrace() ;
   返回对象中记录的call stack track信息。

5. Throwable initCause( Throwable cause ) ;
   将另外一个异常对象嵌套进当前异常对象中。
  
6. Throwable getCause() ;
   取出嵌套在当前异常对象中的异常。

7. void printStackTrace() ;
   void printStackTrace( printStream s ) ;
   void printStackTrace( printWriter s ) ;
   打印出Throwable及其call stack trace信息。

8. void setStackTrace( StackTraceElement[] stackTrace )
   设置对象的call stack trace信息。


⑨ page - javax.servlet.jsp.HttpJspPage
   page对象代表JSP对象本身,或者说代表编译后的servlet对象,
   可以用( (javax.servlet.jsp.HttpJspPage)page )来取用它的方法和属性。

posted @ 2006-02-12 11:35 活在JAVA岛的日子 阅读(320) | 评论 (0) | 编辑 收藏Servlets/JSP开发技术问答(转贴)为什么GenericServlet在init(ServletConfig config)基础上增加了一个init()方法?

init()方法被GenericServlet.init(ServletConfig config)方法调用。
init()方法方便了开发人员定制Servlet的初始化,而无须去维护ServletConfig对象的存储工作。
重写GenericServlet.init(ServletConfig config)必须要显示的调用super.init(config)方法。



版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

兔源码 QQ交流群:493651246  GMT+8, 2018-12-13 14:22
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

     
快速回复 返回顶部 返回列表