day45Servlet、jsp

本文详细介绍了Web开发中的数据作用域,包括Request、Session和ServletContext,强调了它们各自的有效范围和应用场景。同时,讨论了初始化参数的设置,包括局部和全局初始化参数的配置及获取方式。最后,简述了JSP的基本概念和使用,强调了JSP如何简化数据展示并解释了JSP引擎的工作原理。
摘要由CSDN通过智能技术生成

1. 作用域    
    1.1 数据的使用范围
        setAttribute("属性",object):用于向对应作用域中保存数据
        getAttribute("属性"):        用于在对应作用域中获取数据。
    1.2 Request
        当前请求有效,如果向 request中保存了一个数据,该数据在当前请求结束前有效
        通过测试 页面显示 永远都是1 因为每次新的请求 都是一个新的request对象 数据不共享
        Integer value = (Integer)request.getAttribute("value");
        request.setAttribute("value",value);
    1.3 Session
        当前会话有效,默认一次会话就是打开浏览器一直到浏览器关闭 是一次会话
        当然可以指定session的过期时间
        经常用于登陆校验
        //获取Session
        HttpSession session = request.getSession();
        Integer value = (Integer)session.getAttribute("value");
        session.setAttribute("value",value);
        通过测试 session作用域的范围 是当前会话有效
        当前会话不结束时  数值一次递增,当结束会话的时候,或者是新的浏览器的时候 会从1开始
    1.4 ServletContext
        全局作用域,一般叫application ,只要服务器没关闭,数据一直有效
        //获取ServletContext
        ServletContext application = request.getServletContext();
        Integer value = (Integer)application.getAttribute("value");
        application.setAttribute("value",value);
2. 初始化参数
    request.setCharacterEncoding("UTF-8")
    response.setCharacterEncoding("UTF-8")
    2.1 局部初始化参数
        <!--注册-->
        <servlet>
            <servlet-name>ServletName</servlet-name>            
            <servlet-class>com.ServletNameClass</servlet-class>
        <!--初始化参数,只能让该servlet使用-->
        <init-param>
            <param-name>name</param-name>
            <param-value>value</param-value>
        </init-param>
        </servlet>
        <!--映射-->
        <serlvet-mapping>
            <servlet-name>ServletName</servlet-name>
            <url-pattern>luyou</url-pattern>
        </serlvet-mapping>
    在web.xml中 某个servlet注册的时候,在注册内  指明 初始化的参数
    然后再servlet中可以通过servletConfig对象获取
    ServletConfig servletConfig = getServletConfig();
    String name = servletConfig.getInitParameter("name");
    System.out.println(name);//value
    2.2 全局初始化参数
        <context-param>
            <param-name>Enconding</param-name>
            <param-value>context</param-value>
        </context-param>    
    全局初始化参数可以再所有servlet中 通过servletContext获取
    ServletConfig servletConfig = getServletConfig();
    String enconding =servletConfig.getInitParameter("Enconding");
    System.out.println(enconding);//context
        通过测试 全局初始化参数 可以在任何servlet中获取使用
3. JSP
    3.1 概述
        Servlet中 想要将数据内容打印到页面,需要在java中进行大量的html代码拼接,非常不合理,代码不美观,容易出错
        而jsp就解决了这个问题,数据交给jsp  由他来完成数据的展示工作
        JSP本质就是一个servlet,只不过之前是在java代码中拼接html代码
        现在等于是在html代码中编写部分java代码获取内容
        编写完之后,通过jsp引擎把jsp文件转换为 servlet文件。
        我们再jsp中进行编码,常规的html编码,然后只需要嵌入少量的java代码把内容展示即可
        最终运行这个jsp的时候,会先把jsp转换为java代码,还是转换为 拼接html的方式
    3.2 使用
        三种语法。
        <!--     该servlet的类体 -->
        <%!
        // 私有化成员变量
            private String name = "root";
        %>
        <!-- 该servlet的service方法体 -->
            <%
            // 局部变量
                    int age = 19;
            %>  
        <!--     println() 方法,向页面输出 -->
        <h1><%=name+":"+age %></h1>
        <%--     <%="<h1>"+name+":"+age+"</h1>"%> --%>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值