Servlet JavaWeb

Servlet

下面的博客内容多半是我看尚硅谷视频学来的!

在这里插入图片描述

Servlet的生命周期

public class ServletTest implements Servlet {
    public ServletTest(){
        System.out.println("1.构造器方法");
    }
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("2.初始化方法");
    }

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

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Servlet程序被访问");
    }

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

    @Override
    public void destroy() {
        System.out.println("销毁方法");
    }
}
//输出结果为:
//1.构造器方法
//2.初始化方法
//Servlet程序被访问
//Servlet程序被访问
//Servlet程序被访问
//Servlet程序被访问
//销毁方法

构造器方法和初始化方法只在第一次访问Servlet程序时调用一次,若多次访问,只会调用service方法,结束时调用destroy()方法

但是在开发中,我们一般不会采用这种方法,而是通过继承HttpServlet类来实现,其实上面的也没有白看,可以了解一下,🤭

在这里插入图片描述

ServletConfig类

ServletConfig类从字面上可以看出是Servlet程序的配置信息类

Servlet程序和ServletConfig对象都是Tomcat服务器创建,我们负责使用

Servlet程序默认是第一次访问时创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Servlet2 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
    //servletConfig的使用
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);    //如果重写这个方法,就需要这行代码来保存ServletConfig对象
        //Servlet程序默认是第一次访问时创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象
        //意思是一个Servlet程序对应一个ServletConfig对象 其他的ServletConfig对象是不能访问与其不对应的Servlet程序
        System.out.println("2.初始化方法");
        //1.可以获取Servlet程序的别名servlet-name的值
        System.out.println("ServletTest程序的别名是:"+config.getServletName());
        //2.获取初始化参数init-param
        System.out.println("初始化参数username的值为:"+config.getInitParameter("username"));
        //3.获取ServletContext对象
        System.out.println(config.getServletContext());
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

ServletContext

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

不能访问工程以外的资源

Base标签

base标签的作用就是设置页面相对路径工作是参照的地址

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

静态包含

在这里插入图片描述

动态包含

在这里插入图片描述

在这里插入图片描述

请求转发

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Cookie

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

import com.gl.web.BaseServlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/session")
public class SessionSerlet extends BaseServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     CreatSession(req,resp);
    }
    protected void CreatSession(HttpServletRequest req, HttpServletResponse resp){
        //创建和获取Session会话对象
        HttpSession session = req.getSession();
        //判断 当前Session会话是否是新创建出来的
        boolean aNew = session.isNew();
        System.out.println(aNew);
        //获取session会话的唯一标识id
        String id = session.getId();
        System.out.println(id);
        //向域对象中存值
        req.getSession().setAttribute("key1","value1");
        //获取值
        Object key1 = req.getSession().getAttribute("key1");
        System.out.println(key1);
    }
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Session和浏览器的技术关联

在这里插入图片描述

在这里插入图片描述

解决第二个和第三个问题就要用到验证码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小猪~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值