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)

转载于:https://blog.51cto.com/10913595/2071309

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值