一、概述
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。传统的CGI是多进程的,与之相比,Servlet是使用性能较高的程序处理方式-----多线程。
二、Servlet的生命周期
servlet的生命周期就是从servlet出现到销毁的全过程。主要分为以下几个阶段:
- 创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。
- 调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次;
- 响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。
- 在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。
或者也可以按方法划分:init()、service()、destroyed():
-
1.创建并初始化:init(),只执行一次
--默认情况下,第一次被访问时,Servlet被创建,然后执行init方法; --可以配置执行Servlet的创建时机; -
2.提供服务:执行service方法,执行多次
-
3.被销毁:当Servlet服务器正常关闭时,执行destroy方法,只执行一次
三、在IDEA的简易用法
工作前提:
1.建立maven webapp项目
2.首先在pom.xml添加我们需要的依赖(只列举一部分,具体可以百度),刷新
3.在main文件夹下分别建立java文件夹以及resources文件夹,在java文件夹放java文件,在resources文件夹放配置文件
接下来正是开始servlet的创建:
4.创建Servlet类继承HttpServlet
5.在webapp/WEB-INF/web.xml添加映射
由此就可以通过访问/login来访问到该类了。
四、工作过程
1.浏览器访问servlet发出http请求
2.Servlet容器接收到http表单并进行解析
3.从web.xml从查询到对应匹配的Servlet类并将请求转到该类的servlet
4.在service()中响应请求,完成相应操作,将相应数据返回给浏览器
此文仅供学习所用,故会略显啰嗦,仅包含当前所学知识,如有不对请指正
Servlet生命周期可见
https://blog.csdn.net/jisuanji198509/article/details/80413707