day_3:servlet知识点学习

servelt

今日内容

  • servlet概念
  • servlet步骤
  • servelt配置
  • servelt执行流程
  • servelt生命周期

第一部分:

概念

Servlet 就是运行在服务端的Java小程序, 实质就是java代码,通过java的API 动态的向客户端输出内容

(是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源)

注意: Servlet 技术是JavaWeb中最核心的组件 每个servelt是唯一的,通常设置不同的功能

Servlet主要功能:

1,动态生成HTML文档
2,转发请求给同Web中的另一个Servlet组件
3,转发请求至其他Web应用中的Servlet组件
4.读取以及写入Cookie
5.访问其他服务器资源(数据库 or 基于java的应用程序)

总结一下就是:接受请求数据-处理请求-完成响应

步骤

1.创建JavaEE项目
在这里插入图片描述
2.定义一个类,实现Servlet接口

3.实现接口中的抽象方法

public class Demo implements Servlet {
    public void init(ServletConfig servletConfig) throws ServletException {
        
    }
    public ServletConfig getServletConfig() {
        return null;
    }
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    }
    public String getServletInfo() {
        return null;
    }
    public void destroy() {
    }
}

4.配置Servlet

  • 2.0版本在web.xml中配置
  • 3.0直接使用注解

执行原理

  1. 当服务器会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找是否有对应的url-pattern内容。
  3. 如果有,则在找到对应的类
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

总结:找路径-进内存-调用方法

生命周期

五部分:注册,初始化,服务,销毁,退出

3个生命周期方法:init,service,destroy

1.注册
2.初始化—Servelt对象
  • init()方法

会在Servlet 被加载并实例化的以后执行
第一次访问Servlet时执行只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的

注意: 由于只存在一个对象,在多个浏览器访问时,即多个用户同时访问时,可能存在线程安全问题

解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对修改值
又或者只是定义一个局部变量

注意:
可以设置servelt的创建时间
2.5版本
在web.xml文件中增加一栏 数字 数字为正数servlet对象在服务器启动 时就创建 数字为负数servlet对象在服务器启动 后就创建
3.0版本
在注解中添加 loadOnStartup= 数字

3.服务—Service()方法
  • service()——>doGet() doPost()

该方法负责响应用户请求,为客户提供相应的服务
servelt类调用几次 , 就执行几次
客户端请求到达时,servlet容器会调用servlet实例的service方法对请求进行处理

4.销毁
  • destory

server面板中停止(服务器正常关闭)
服务器关闭时,Servlet被销毁
而destory方法会在Sevlet被系统回收时执行(即在被销毁前执行)

5.退出

问题:
1)Servlet何时创建
默认第一次访问servlet时创建该对象
2)Servlet何时销毁
服务器关闭servlet就销毁了
3)每次访问必然执行的方法
service(ServletRequest req, ServletResponse res)方法

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值