7 Servlet交互和作用域对象

1.多个web组件进行跳转(加上/就是绝对路径)

WEB组件跳转的三种方式:(组件包括Servlet,jsp,Filiter)
     ①.请求转发(forword)
       request对象.getRequestDispatcher(String path).forword(request,response);
        特点:
         地址栏不变
                 AServlet和BServlet共享同一个请求(共享请求数据)
         页面响应的数据是有BServlet决定的
         不能跨域访问
         可以访问WEB-INF下面的资源
 ②.URL重定向(redirect)
         response对象.sendRedirect(String path);
     特点:
          地址栏中的地址改变
          AServlet和BServlet各自发一个请求(不能共享请求数据)
          页面响应的数据是由BServlet决定的
          可以跨域访问
          不能访问WEB-INF下面的资源

              1.1使用请求转发
           需要在同一个请求对象中共享数据
           需要访问WEB-INF下面的资源
      1.2.使用URL重定向
           需要跨域访问
           使用URL重定向可以防止表单重复提交

          1.3.请求包含(include)

2.需要多个页面跳转共享数据要依赖作用域对象(web组件的3大作用域)

  对象名称                   数据类型                 对象描述

 request                        HttpServletRequest    在一个请求中共享数据
 session                        HttpSession           在一个会话共享数据
(ServletContext)application     ServletContext      在一个应用中共享数据

 所有作用域对象设置/获取数据一样:
     设置共享数据:
         作用域对象.setAttribute(String name,Object value);
     获取共享数据:
         作用域对象.getAttribute(String name);

   各自的作用共享的数据只能在各自的作用域中取出来,不能跨作用域取共享数据

3.ServletContext接口和常用方法

     接口ServletContext就是上下文
 获取ServletContext对象:
         ServletContext ctx=request.getSession().getServletContext();
  获取当前应用的上下文路径:
           String path=ctx.getContextPath();
  获取当前项目的根路径:
           ctx.getRealPath(String name);
  获取全局的初始化参数:
           ctx.getInitParameter(String name);
      获取局部的初始化参数:
           super.getInitParameter(String name);

全局初始化参数的配置:
      <context-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
 </context-param>

4.JSP

 ①.JSP的原理:
   JSP文件-->Servlet类-->编译成字节码-->解释执行

   JSP底层使用Servlet输出流输出HTML代码片段

  JSP语法:
          输出数据到页面上:<%= %>
      相当于在servlet中的service方法写java代码:<% %>

 ②.JSP的三大指令:
        page/include/taglib
  指令的语法:
       <%@  指令名称  属性名称="属性值"%>
      2. include(静态包含,包含其他组件)
            语法:<%@ include file=""%>
        动态包含:<jsp:include page=""/>
          3.taglib(引入外部标签)
          <%@taglib uri="" prefix=""%>
 ③.JSP的九大内置对象
        pageContext   在当前页面共享数据
    request       在一个请求共享数据
    session        在一个会话中共享数据
    application     在一个应用中共享数据
    response        响应对象
    exception       异常对象
    config          获取初始化配置参数对象
    out            输出流对象
    page          当前servlet对象

 ④.JSP的四大作用域
    pageContent
request
session
application
 ⑤.JSP的动作元素
        <jsp:include/>
    <jsp:forward/>
    <jsp:param/>:在包含和转发时,利用该标签传递请求参数

       静态包含和动态包含的区别:
          静态包含在翻译的时候,将多个JSP合并翻译成一个Servlet
      动态包含在翻译时,每个jsp文件都会翻译成对应的Servlet,
      在程序运行加载到JVM中的时候动态合并
       动态包含可以传递参数
 ⑥.改JSP的模版文件
     JSP Files-->Templates-->New JSP File(html)

原文地址:http://blog.51cto.com/10913595/2071309

时间: 2024-08-30 15:18:16

7 Servlet交互和作用域对象的相关文章

Java Web之Servlet的三大作用域对象

Servlet的作用域是干嘛的?答案就是共享数据而存在的,如图: 未完待续... 原文地址:https://www.cnblogs.com/yunquan/p/10230947.html

Struts2的Action中如何操作作用域对象

得到作用域对象有三种方法,这里用代码来解释: 1 package com.cy.action; 2 3 import javax.servlet.ServletContext; 4 import javax.servlet.http.HttpServletRequest; 5 import javax.servlet.http.HttpServletResponse; 6 7 import org.apache.struts2.interceptor.ServletRequestAware; 8

JSP(二):JSP九大内置对象、四个作用域对象

jsp的九大内置对象:        内置对象:            jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象.我们在jsp页面中直接使用即可.        注意:            内置对象在jsp页面中使用,使用局部代码块或者脚本段语句来使用.不能够在全局代码块中使用.        内容:九个对象            pageContext:页面上下文对象,封存了其他内置对象.封存了当前jsp的运行信息.                    注意

作用域对象

生命周期                作用范围HttpServletRequest          一次请求                 一次请求经过的所有servletHttpSession                     一次会话                 一次会话中,所有的servletServletContext            项目从加载到卸载         一个项目中,所有servlet 作用域对象,有三个方法:1.setAttribute(String

Servlet中的request对象、重定向和转发的差别(6)

1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中.我们通过request对象调用里面的方法,能够获得客户发送给webserver的各种信息. 2.request的经常用法 (1)获得客户机信息     getRequestURL方法返回client发出请求时的完整URL.(                                比如:ur

EL作用域对象

EL与jsp的作用域对象对应关系,,,,,及EL具体作用域对象介绍,如下

JSP的9大内置对象和4打作用域对象

一.9大内置对象 二.4大内置作用域对象

Servlet中的request对象、重定向和转发的区别(6)

1.这里所说的request对象指的是HttpServletRequest对象,它代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,我们通过request对象调用里面的方法,可以获得客户发送给web服务器的各种信息. 2.request的常用方法 (1)获得客户机信息     getRequestURL方法返回客户端发出请求时的完整URL.(                                例如:url:http://localh

NX二次开发-UFUN获取显示在NX交互界面的对象UF_OBJ_is_displayable

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_disp.h> 5 #include <uf_obj.h> 6 #include <uf_part.h> 7 8 UF_initialize(); 9 10 //遍历当前显示部件 11 tag_t NextTag = NULL_TAG; 12 int Type1, SubType1; 13 do 14 { 15 NextTag = UF_OBJ_cycle_all