`
wx1569484809
  • 浏览: 63766 次
文章分类
社区版块
存档分类
最新评论

JSP隐含对象

 
阅读更多

1、out隐含对象 (输出对象)
直接用于在JSP页面输出内容
javax.servlet.jsp.JspWriter(抽象类) 继承自java.io.Writer

JSP中的out对象最终被转化成servlet中的JspWriter对象

2、request内置对象 (请求对象)
用于获取Http请求相关信息,比如查询字符串,表单数据
javax.servlet.http.HttpServletRequest

3、page对象 (页面对象)
表示对应单个JSP页面, servlet中如下声明:
final java.lang.Object page = this; // page表示当前的servlet对象,并且是Object类型

4、pageContext (页面上下文)
final javax.servlet.jsp.PageContext pageContext;
页面上下文可以使用setAttribute(String, String) 设置当前页面中所存储的信息,页面间不共享数据
使用getAttribute(String)方法获取在页面上下文中设置的属性

5、session对象(会话对象)
会话对象可以保存用户的基本信息, 如一个用户登录到一个网站,该网站可以记录此用户的信息,并且用户信息在网站的所有页面间
共享
会话信息存储在服务器端(数据库,文件系统,WEB容器本身实现的session存储)
在A页面中使用session对象的setAttribute(String, String) 方法存储数据,能在其他页面中直接使用
session.getAttribute(String)方法获取数据

javax.servlet.http.HttpSession session = null;

 



对Tomcat WEB容器来说,一个会话的持有时间为30分钟(会话超时时间,单位为分钟)
在conf目录的web.xml

<session-config>
<session-timeout>30</session-timeout>
</session-config>

 



多用于用户登录时存储用户信息,或者购物车等需要多页面间共享单个用户数据的情况

6、application对象(应用程序对象)
整个应用都能使用的,不限于某个用户。所有用户都能访问的数据应该放在application对象中
同样有setAttribute(String, String)和getAttribute(String)方法
final javax.servlet.ServletContext application;

7、response对象(响应对象)
response.sendRedirect("url") 重定向到某个页面

8、config对象(servlet配置信息)
final javax.servlet.ServletConfig config;
为JSP页面配置servlet

<servlet>
<servlet-name>configServlet</servlet-name>
<jsp-file>/config.jsp</jsp-file><!-- 由哪个JSP页面转化成的servlet -->
<init-param> <!-- servlet初始化参数 -->
<param-name>configName</param-name>
<param-value>myValue</param-value>
</init-param>
<load-on-startup>1</load-on-startup><!-- 在web容器启动时被初始化 -->
</servlet>
<servlet-mapping>
<servlet-name>configServlet</servlet-name>
<url-pattern>/config</url-pattern>
</servlet-mapping>

 


在config.jsp页面中由config对象的getInitParameter()获取初始化参数

9、exception对象(异常对象)
java.lang.Throwable exception =

如果想要使用exception对象,则使用该对象的页面(错误处理页)必须在page指令中声明isErrorPage="true"

10、隐含对象的作用范围
1、pageScope 只能作用于页面 page, out, pageContext
2、requestScope 作用于Http请求,到了另外一个页面,request失效 request
由页面A转发到页面B,则request同时作用于页面A和页面B
3、sessionScope session作用域, 用于所有页面 session
4、applicationScope 应用程序作用域,作用于整个应用程序的所有用户的所有页面 application

javax.serlvet.jsp.PageContext
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext.SESSION_SCOPE
PageContext.APPLICATION_SCOPE

 



11、Cookie
保存网站信息到客户端浏览器, 这个数据可以轻易地被获取到
JSP中,通过Cookie对象保存信息,key-value
通过response.addCookie(Cookie)添加cookie到浏览器端

通过request.getCookies()方法获取由客户端发送过来的Cookie对象数组,如果没有cookie,则返回 null
所以服务端需要进行null判断


1)cookie信息是在浏览器中的,但并不是所有的浏览器都支持cookie功能;

2)cookie对象不能单独使用,必须和request对象或response对象结合使用;

3)不同的浏览器中存储的cookie不是通用的。例如:IE存储的cookie只有IE自己使用;

4)存储在浏览器中的cookie对任何Web服务器都是开放的,所以写入的cookie可能被其它网页读取或覆盖掉

转发和重定向:
转发:
WEB容器内部由一个JSP页面转发到另外一个JSP页面,客户端地址栏URL不会发生改变

request.getRequestDispatcher("url").forward(request, response);

 


转发时指定url前可以加"/", 转发中url相对于ContextPath

转发可以用request的setAttribute给目标页面传递参数,目标页面通过request.getAttribute()方法获取传递过来的参数

重定向:
实际是告诉浏览器由一个页面跳转到另外一个页面,客户端浏览器地址栏会发生改变,显示出目标地址
HTTP Response Status Code: 状态码为302
response.sendRedirect("url");
在重定向中,URL相对于ContextPath来重定向, 所以不需要在url前加“/”
http://localhost:8080/JSPInnerObject/home.jsp
如果加了“/”, http://localhost:8080/home.jsp 404 Not Found

重定向如果想要传递参数到目标url,则需要使用查询字符串
response.sendRedirect("http://localhost:8080/login.jsp?name=aa");

 

转载于:https://my.oschina.net/A0926/blog/736423

分享到:
评论

相关推荐

    jsp隐含对象详细解析

    ### jsp隐含对象详细解析 #### 一、概述 JSP(Java Server Pages)是一种基于Java技术的服务器端动态网页开发技术。它允许开发者在HTML文档中嵌入Java代码来实现动态内容的生成。在JSP开发中,有一些内置的对象...

    jsp隐含对象 chm

    jsp隐含对象 jsp隐含对象 jsp隐含对象 jsp隐含对象

    JSP隐含对象.ppt

    JSP 隐含对象 JSP 隐含对象是 Web 容器加载的一组类,它们不像一般的 Java 对象那样用” new” 去获取实例,而是可以直接在 JSP 页面使用的对象。这些隐式对象的名称是 JSP 的保留字,JSP 使用 Java 定义的隐式对象...

    JAVA网络编程:第3章 JSP隐含对象.ppt

    JSP隐含对象是Java Server Pages(JSP)中预定义的一组特殊变量,开发者在编写JSP页面时可以直接使用,无需显式声明。这些对象提供了对服务器端编程的强大支持,涵盖了从客户端获取数据、向客户端发送响应、管理数据...

    JAVA网络编程:第3章 JSP隐含对象1.ppt

    JSP隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。 在3.3节中,重点讲解了与属性作用域相关的`session`对象。HTTP协议本身是无状态的,这意味着服务器对每个请求的处理都是独立的,不保留任何...

    Java Web应用开发技术实用教程-第3章 JSP隐含对象.pptx

    Java Web应用开发技术实用教程-第3章 JSP隐含对象.pptx

    jsp隐含对象

    jsp 内置文档对象,可通过该文档进行简单查询!

    JSP内置对象实验报告.doc

    4. **pageContext对象**:pageContext对象是所有JSP页面范围内的数据共享机制。它提供了对当前页面、请求、会话和应用范围内的对象的访问。`pageContext.getAttribute()`和`pageContext.setAttribute()`用于获取和...

    JSP EL隐含对象

    EL隐含对象是JSP EL提供的一组预定义变量,无需显式声明即可直接在EL表达式中使用,极大地提高了开发效率。 1. **pageContext对象** pageContext对象提供了对JSP页面所有作用域的访问,包括page、request、session...

    JSP的九个隐含对象

    **正文** ...在JSP中,有九个预定义的对象,被称为"隐含对象"。这些对象是JSP容器在编译JSP页面时自动创建并提供给开发者...在Java EE和Spring框架中,JSP隐含对象的使用也是不可或缺的一部分,是Web开发中的重要知识点。

    JAVA网络编程:第3章 JSP隐含对象1

    【JAVA网络编程:第3章 JSP隐含对象1】主要介绍了JSP中与Web应用程序交互的核心概念——隐含对象,特别是与会话管理相关的对象。JSP隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。 3.1 JSP隐含...

    JSP隐含对象response实现文件下载

    简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL也会带来一些负面的影响,例如容易被其它网站盗链,...

    详细了解JSP中九个隐含对象

    详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象

    JAVA网络编程:第3章 JSP隐含对象

    总的来说,JSP隐含对象极大地增强了JSP页面的交互性和功能性,使得开发人员能够更高效地处理HTTP请求、响应、会话管理、异常处理以及Servlet配置。了解并熟练使用这些对象是成为一名合格的JSP开发者的必备技能。

    Jsp中九个隐含对象的区别.doc

    在JavaServer Pages (JSP) 技术中,隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。它们提供了对Servlet API的便捷访问,简化了开发过程。以下是JSP中九个主要的隐含对象及其区别: 1. **page**:...

    JSP的内置对象详细讲解

    6.1 JSP 隐含对象概述 JSP的内置对象包括`out`、`request`、`response`、`session`、`application`、`exception`和`pageContext`。它们在JSP转换成Servlet时自动创建并注入。 6.2 `out` 对象 `out`对象用于向客户端...

Global site tag (gtag.js) - Google Analytics