我是靠谱客的博主 直率画笔,最近开发中收集的这篇文章主要介绍Servlet的学习前言一、Sevrlet是什么?二、执行原理三、Servlet的生命周期四、Servlet3.0 注解配置总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一、Sevrlet是什么?
  • 二、执行原理
  • 三、Servlet的生命周期
    • 1、被创建
    • 2、提供服务
    • 3、被销毁
  • 四、Servlet3.0 注解配置
    • 1、好处
    • 2、步骤
    • 3.IDEA和Tomcat的配置
    • 4.Servlet的体系结构
  • 总结


前言

Servlet是后端与前端进行交互的关键性接口,只有使用了Servlet才能让Java类被Tomcat识别。


一、Sevrlet是什么?

  server applet :运行在服务器端的小程序,也可以看成是一个接口,它定义了java类被浏览器访问到(tomcat识别)的规则。

二、执行原理

  1. 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找web.xml文件,是否有对应的标签体内容
  3. 如果有,则在找到对应的全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

三、Servlet的生命周期

1、被创建

  1. 执行init方法,只执行一次
  2. Servlet什么时候被创建:默认情况下,第一次被访问时,Servlet被创建
  3. 可以配置执行Servlet的时机
  4. 在 标签下 :   1.第一次被访问时,创建 load-on-startup>值/load-on-startup>值为负数。2.在服务器启动时,创建
    load-on-startup> 值/load-on-startup>值为正数或0
  5. Servlet的init方法,只执行一次,说明一个Servlet在内存中只有一个对象,Servlet是单例(多个用户同时访问时,可能存在线程安全问题)
       解决办法:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值

2、提供服务

  1. 执行service方法,执行多次
  2. 每次访问Servlet时,Service方法都会被调用一次

3、被销毁

  1. 执行destroy方法,执行一次
  2. Servlet被销毁时执行。服务器正常关闭时,Servlet被摧毁(暴力关闭,不执行)
  3. destroy方法在Servlet被关闭之前执行,一般用于释放资源

四、Servlet3.0 注解配置

1、好处

支持注解配置,可以不需要web.xml了。

2、步骤

  1. 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
  2. 定义一个类,实现Servlet接口
  3. 复写方法
  4. 在类上使用@webServlet:@WebServlet(“资源路径”)
public @interface WebServlet {
    String name() default "";

    String[] value() default {};

    String[] urlPatterns() default {};

    int loadOnStartup() default -1;

    WebInitParam[] initParams() default {};

    boolean asyncSupported() default false;

    String smallIcon() default "";

    String largeIcon() default "";

    String description() default "";

    String displayName() default "";

3.IDEA和Tomcat的配置

IDEA为每一个tomcat部署的项目单独部署建立一个配置文件

  1. 查看控制台log:Using CATALINA_BASE: “C:UserszhangAppDataLocalJetBrainsIntelliJIdea2020.1tomcatTomcat_8_5_31_day13_tomcat_2”
  2. 工作空间项目 和 tomcat部署的web项目
      2.1:tomcat真正访问的是"tomcat部署的web项目","tomcat部署的web项目"对应着"工作空间项目"的web目录下的所有资源
      2.2:WEB-INF目录下的资源不能被浏览器直接访问
      2.3:断点调试

4.Servlet的体系结构

Servlet----接口
 GenericServlet-----抽象类
  HttpServlet-------抽象类
   对HTTP协议的封装,简化操作
   步骤:
    定义类继承HttpServlet
    复写doGet/doPost方法
  GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法做为抽象方法(将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可)

总结

Servlet是对前后端交互真正的连接点,构成真正的应用开发过程中我们需要完成的功能,它是非常重要的尤其是其中是使用。

最后

以上就是直率画笔为你收集整理的Servlet的学习前言一、Sevrlet是什么?二、执行原理三、Servlet的生命周期四、Servlet3.0 注解配置总结的全部内容,希望文章能够帮你解决Servlet的学习前言一、Sevrlet是什么?二、执行原理三、Servlet的生命周期四、Servlet3.0 注解配置总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部