Java代码审计-Servlet学习

1、Servlet配置

1.1基于 web.xml 配置

<!--servlet的配置入口-->
<servlet> 
    <decription>声明Servlet描述信息</decription>
    <display-name>定义WEB应用的名字</display-name>
    <servlet-name>声明Servlet名称以便在后面的映射使用</servlet-name>
    <servlet-class>指定当前servlet对应的类的路径</servlet-class>
    <init-param>用来定义初始化参数,可以有多个</init-param>
</servlet>

<!--浏览器的访问配置-->
<servlet-mapping>
    <servlet-name>与上面的相对应,名称一样</servlet-name>
    <url-patter>指定配置这个组建的访问路径</url-patter>
</servlet-mapping>

1.2 基于注解的方式配置

启用注解支持

web.xml 的顶层标签 <web-app> 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。

2、Servlet访问流程

在这里插入图片描述

  • HttpRequest对象
  • HttpResponse对象
  • HttpServlet 的 service 方法将上面两个对象作为参数

3、Servlet的工作流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NemlkNsT-1655729336419)(D:\Sec\Java Sec\MS代码审计课程\第四章\images\Servlet核心技术\image-20220620204134693.png)]

4、Servlet的接口方法

4.1 init()接口

在第一次创建servlet的时候被调用,如果servlet已经初始化,那么会跳过这一个方法;也就是说init方法在servlet生命周期中只执行一次

传入参数: ServletConfig (配置信息)

4.2 service()接口

service()方法是实际执行任务的主要方法,一般service方法不需要重写,因为在HttpServlet中有很好的实现

注意:在service方法被Servlet容器调用之前,必须确保init()方法正确执行

4.3 doGet() && doPost() 接口

用户请求经过service()方法转发之后,会到达 doGet() && doPost() 方法,这两个方法处理对应的请求

4.4 其他接口

  • destroy() 接口 停止或者销毁Servlet容器的时候被调用
  • getServletConfig()接口 返回的是ServletConfig对象
  • GetServletInfo()接口 返回的是一个String类型的字符串,包含Servlet的信息

5、Servlet生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kmWOhJXa-1655729336420)(D:\Sec\Java Sec\MS代码审计课程\第四章\images\Servlet核心技术\image-20220620203859779.png)]

Servlet 经历的过程 加载、初始化、接收请求、响应请求和提供服务的过程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值