zoukankan      html  css  js  c++  java
  • 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");

  • 相关阅读:
    BOI 2002 双调路径
    BOI'98 DAY 2 TASK 1 CONFERENCE CALL Dijkstra/Dijkstra+priority_queue/SPFA
    USACO 2013 November Contest, Silver Problem 2. Crowded Cows 单调队列
    BOI 2003 Problem. Spaceship
    USACO 2006 November Contest Problem. Road Blocks SPFA
    CEOI 2004 Trial session Problem. Journey DFS
    USACO 2015 January Contest, Silver Problem 2. Cow Routing Dijkstra
    LG P1233 木棍加工 动态规划,Dilworth
    LG P1020 导弹拦截 Dilworth
    USACO 2007 February Contest, Silver Problem 3. Silver Cow Party SPFA
  • 原文地址:https://www.cnblogs.com/A0926/p/5443796.html
Copyright © 2011-2022 走看看