九大内置对象四大作用域 三大标签库 Servlet的生命周期

九大内置对象 / 九大隐式对象

|

对象翻译内容
out出去带有缓冲的响应对象,效率高于response对象
pageContext页面上下文封存了当前jsp的运行信息,作用于当前的页面
request请求封存当前请求的对象,有Tomcat服务器创建,一次请求
session会话用于存储不同请求的共享数据,一次会话
application申请是ServletContext对象,一个项目只有一个,存储用户共享数据的对象,以及完成其他操作
response响应用于响应请求处理结果给浏览器的对象。设置响应头,重定向

|page|页面|相当于java的this|
|exception|异常|存储当前异常的信息|
|confing|配置|也是ServletConfing,主要获取web.xml中的配置文件,完成一些初始化数据读取|
1.out 缓冲影响

<%--
  Created by IntelliJ IDEA.
  User: love
  Date: 2020/4/16
  Time: 12:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Inert title here</title>
</head>
<body>
    <%
//        out对象输出缓冲
        out.println("firist line <br>");
        response.getWriter().println("second line <br>");
    %>
</body>
</html>

out.jsp输出结果
2.pageContext 获取对象获取request对象

<%--
  Created by IntelliJ IDEA.
  User: love
  Date: 2020/4/16
  Time: 13:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>insert title here</title>
</head>
<body>
    <%
        HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
        String ip = request.getRemoteAddr();
        out.println("本机的IP地址为"+ip);
    %>
</body>
</html>

pageContext.jsp页面输出的结果

四大作用域

对象内容
application作用于整个web,对于每个页面Servlet多有效,通过setAributeh赋值和getAttrbute取值,application里的变量可以被所有用户共享,当application里的变量做了修改 ,其他户再访问是修改后的值,在application作用域中设置的属性如果不手动调用removeAttribute函数进行删除的话,那么application中的属性将永远不会删除,如果Web容器发生重启,此时application范围内的所有属性都将丢失。
session作用:当前会话有效。当向服务器发送第一个请求开始,只要页面不管闭,或者会话未过期(默认30分钟),通过setMaxlnactivelnterval(int)方法进行设置,或者通过invalidate()方法强制结束会话,通过setAttribute赋值和getAttribute取值
reguestrequest可以通过setAttribute()和getAttribute方法存取值实现页面中的信息传递,也可以通过forward()方法进行页面间的跳转(需要注意的是request是转发不是重定向,转发相对于浏览器来说是透明的,也就是无论页面如何跳转,地址栏上显示的依旧是最初的地址,浏览器感知不到),在这些转发页面中都可以使用request中存储的信息。
page作用:当前页面

三大核心标签库

page页面指令
lnclude包含指令
taglib标签仓库
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http:// java.sun.com/jsp/jstl/cre" %>
<%@include file="out.jsp"%> 

Servlet 的生命周期

在这里插入图片描述

import javax.servlet.*;
import java.io.IOException;

    /**
     *   类能够 实现 接口
     *   接口可以继承接口 接口不能实例化   创建对象的过程就是 new的过程
     *   因为抽象方法 抽象方法不够具体  没实现类就没法实例化
     *
     *   抽象方法一定在抽象类中、 抽象 类中 可能没有抽象方法
     *   一个类 实现一个接口就必须覆写里面的全部抽象方法
    */
public abstract class BookServlet implements Servlet {
        /**
         *  专有名词:生命周期
         *      1.初始化   产生 / 出生
         *      2.服务        使用阶段
         *      3.销毁        死亡阶段
         */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    /*
            init 出生阶段
     */
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        /*
                service  服务 / 使用阶段
         */
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        /*
            destory  销毁 (关闭浏览器:不用了就执行了销毁阶段)
         */
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值