servlet基础学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java_collect/article/details/82709482

servlet基础概念

  1. 就是一个运行在WEB服务器上的小的Java程序,用来接收和响应从客户端发送过来的请求,通常使用HTTP协议.用来处理从客户端浏览器发送的请求,并且可以对请求作出响应.用来处理从客户端浏览器发送的请求,并且可以对请求作出响应。用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器接收到该请求后,并不是将 请求直接交给Servlet,而是交给Servlet容器。Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理, 并产生一个响应。这个响应由Servlet容器返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器.
  2. 接口servlet ———> 通用GenericServlet ————> HttpServlet
  3. servlet的生命周期

    • 何时创建:用户第一次访问Servlet创建Servlet的实例。但是可以配置在服务器启动的时候就去创建servlet
    • 何时销毁:当项目从服务器中移除的时候,或者关闭服务器的时候

    用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行

  4. ServletContext是一个域对象,作为范围是整个web工程,Servlet容器在启动时会加载Web应用,并为每个Web应用创建唯一的ServletContext对象。它可以获取全局初始化参数,作为域对象存取数据,读取文件等。在springboot中可以监听ServletContext的创建销毁,完成项目启动时要初始化的一些工作。

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 注意还要添加@ServletComponentScan注解
*/
@WebListener
public class MyServletContextListener implements ServletContextListener{
    private Logger logger =  LoggerFactory.getLogger(this.getClass());

    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        // TODO 
        logger.info("jun: contextDestroyed");
    }

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        // TODO 
        logger.info("jun: ServletContextInitialized");
    }

}

cookie和session

session创建:服务器第一次调用getSession()时创建。
销毁有三种情况:session过期,默认30分钟;非正常关闭服务器,正常关闭会序列化到硬盘;手动调用session.invalidate()。
作用范围:多次请求,一次会话。


cookie有会话级别cookie和持久级别cookie。setDomain(String domain);setPath(String path);setMaxAge(int maxAge);

猜你喜欢

转载自blog.csdn.net/java_collect/article/details/82709482
今日推荐