Servlet学习笔记(一)

本文详细介绍了Servlet的概念及其实现方法,包括创建Servlet类的方法、配置路径、生命周期方法及其作用,同时还探讨了线程安全问题及Servlet优化策略。

Servlet是一个动态web资源

  1. servlet是干什么的?
    处理请求,生成响应

  2. 我们如何创建一个servlet类
    1>实现servlet接口即可
    2>继承javax.servlet.GenericServlet
    3>继承javax.servlet.http.HttpSeverlet

  3. 写好servlet类之后需要给它配置路径, 在web.xml中进行配置

  4. Servlet的生命周期方法
    生命周期指的是: 必须要经历的过程
    对于servlet来讲, 有3个生命周期方法
    1> 出生 ==> init方法 在构造方法之后调用
    2> 使命 ==> service方法, 当请求发来时,处理请求时
    3> 销毁 ==> destroy方法, 当服务器关闭时 会销毁servlet 在销毁之前调用该方法来释放内存

  5. Servlet中的其他方法
    getServletInfo ==> 获得servlet的信息(版本,作者,版权等) 总之没有大用
    getServletConfig ==> 返回servletConfig对象

  6. ServletConfig对象是什么?
    封装了Servlet在web.xml中的配置
    方法:
    1>getServletName ==> 获得配置文件中 servlet-name 元素的内容
    2>getInitParameter ==> 根据 init-param 中的 param-name 获得 param-value
    init-param
    param-name name param-name
    param-value tom param-value
    init-param
    3>getInitParameterNamespace 返回所有 param-name
    4>getServletContext

  7. 关于servlet中优化的问题(其他实现servlet的方式)
    1>GenericServlet:
    帮助我们妥善地保管ServletConfig对象
    实现了ServletConfig的接口 ==> 为了去方便调用
    注意: 不要去重写本身的init方法 需要自己先去创建一个空参的init方法, 然后再去子类中重写
    2>HTTPServlet:
    因为我们web项目都是基于HTTP协议,因此可以进行强制转换的优化, HTTPServletRequest HTTPServletResponse
    重写doGet 和 doPost 方法 其余五种方式均不常用了

  8. Servlet中的其他细节
    1>线程安全问题: singlethreadmodel 并不能够解决根本问题
    在Servlet运行期间只有一个Servlet实例存在,可能会同时处理多个请求.那么我们在Servlet中声明成员变量来存储用户数据是有线程安全问题的.
    使用局部变量保存用户数据来解决这个问题
    2>关于Servlet随着项目的启动而创建
    使用 load - on - startup 配置来实现 数值越小 优先级越高

静动态资源&servlet访问时序图

Servlet相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值