admin 管理员组文章数量: 1184232
2024年3月7日发(作者:linux装win10)
JSP中的内置对象
<jsp:forward>
或者其他的静态资源(HTML)
特点:
被forward转发的资源必须与发出请求的页面处于相同的上下文环境中,每当遇到此标签时,容器就
会停止执行当前的JSP,转而执行被转发的资源
l
当使用
l
语法1:
l
语法2:
l
l
JSP中的九种内置对象
1.request jsp的内置对象 写法固定(request)
//* 类型是 HttpServletRequest request 根servlet中的类型是一样
//获取上下文路径
String path=textPath();
n(path);
2.Response
l
设置应答头信息
最有用的一个头信息:refresh 刷新
der(“头信息内容”,“头信息参数”)
der(“refresh”,“1”)
der(“refresh”,”2;URL=页面名称“)
l
重定向
direct(跳转路径)
<%
//* response jsp的内置对象 固定的写法(response)
//* 类型是 HttpServletResponse response
//设置应答头信息
//每个一秒刷新当前页面一次
// * refresh 表示刷新,固定写法
// * 1 表示刷新的时间,以秒为单位
der("refresh","1");
%>
当前的系统时间:<%= new Date() %>
这是在一个JSP文件里;
<%
//5秒后转到页面
//5;url= 格式:秒数;url=路径
der("refresh","5;url=");
%>
3. session
Session对象主要用于保存用户的各种信息,直到它的生命周期超时或被人释放掉为止
// * session jsp的内置对象 固定写法(session)
// * 类型是 ssion
// * jsp的标准指令中session 属性表示在jsp页面中是否可以使用jsp的内置对象session
//* true 表示可以使用 默认值
//* false表示不可以使用
//* 当该值是false时,页面不能使用jsp内置对象session 但仍然可以从request对象中获取 HttpSession session1=sion();
//* 从request中获取的session 和 jsp内置对象中的session是同一个对象
HttpSession session1=sion();
n("session "+session);
n("session1 "+session1);
这两个输出的是一个对像,输出的是一样的;
4.Application对象
l
与session类似,也是用来保存信息的,实现在不同页面间参数的共享和传递;但application是所有用户共享的,任何用户都可以访问,而sesion对象则是每个用户私有的
l
Application属于servletContext
l
Application是在整个服务器中只有一个实例对象
在实际应用中往往使用getServletContext()方法代替application
<%=getServletContext().getRealPath(“/”)%>
.getRealPath获得工作目录。
//* application jsp的内置对象 写法固定(application)
//* tContext类型
ServletContext sc=vletContext();
n("application "+application);
n("sc "+sc);这两个输出的是一个;
//
//
//
//
//
//
//
//
//
String nba=tParameter("nba");
n("nba "+nba);
String
realPath=lPath("/jspobject/");
n("realPath "+realPath);
5.out对象
l
在JSP页面中应使用out隐式对象来向客户端发送文本形式的实体内容。
l
out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ter方法返回的PrintWriter对象非常相似。
l
JSP页面中的out隐式对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。
l
JSP页面中的out隐式对象相当于插入到ter方法返回的PrintWriter对象前面的缓冲包装类对象。
l
只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:
ü
设置page指令的buffer属性关闭了out对象的缓存功能
ü
写入到out对象中的内容充满了out对象的缓冲区
ü
整个JSP页面结束
//* out jsp的内置对象 写法固定(out)
//* ter 类型
//* servlet中的字符输出流是 PrintWriter
//jsp页面
//页面的信息写入---> JspWriter --->PrintWriter----->servler引擎(执行输出)
// FileInputStream fis=new FileInputStream("D://");
------->PrintWriter
// BufferedInputStream buf=new BufferedInputStream(fis);
--->JspWriter
// buf---写入信息
// jsp内置对象
JspWriter out1=();
n("out1 "+out1);
n("out "+out);
6.Config对象
l
Config对象一般用来取得服务器的初始化配置参数但若使用此对象应在WEB-INF/中配置
<%--
--%>
<%
// config jsp的内置对象 固定写法(config)
// 类型 tConfig 类型
ServletConfig scf=vletConfig();
n("config "+config);
n(" "+scf);
String it=tParameter("it");
n("it "+it);
7.pageContext对象
l
pageContext对象封装了当前JSP页面的运行信息,它提供了返回JSP页面的其他隐式对象的方法。
l
PageContext类中定义了一个setAttribute方法来将对象存储进pageContext对象内部的一个HashMap对象中,同时也定义了一个getAttribute方法来检索存储在该HashMap对象中的对象。
l
PageContext类除了可以存储和检索自身中的属性对象外,还定义了可以存储和检索其他域范围内的属性对象的方法。
l
getException方法返回exception隐式对象
l
getPage方法返回page隐式对象
l
getRequest方法返回request隐式对象
l
getResponse方法返回response隐式对象
l
getServletConfig方法返回config隐式对象
l
getServletContext方法返回application隐式对象
l
getSession方法返回session隐式对象
l
getOut方法返回out隐式对象
一、page 对象
page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。
二、config 对象
config 对象里存放着一些Servlet 初始的数据结构。
config 对象实现于tConfig 接口,它共有下列四种方法:
public String getInitParameter(name)
public ation getInitParameterNames( )
public ServletContext getServletContext( )
public Sring getServletName( )
三、request 对象
request 对象包含所有请求的信息,如:请求的来源、标头、cookies和请求相关的参数值等等。
request 对象实现rvletRequest接口的,所提供的方法可以将它分为四大类:
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 对象是实现rvletResponse 接口。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对象实现ssion接口,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 对象实现tContext 接口,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对象能够存取其他隐含对象。
ntext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。
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
ntext对象取得其他隐含对象的方法
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
ntext对象提供取得属性的方法
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 riter(out))
版权声明:本文标题:JSP中的内置对象详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1709762529a545621.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论