java servlet详解

一、Servlet实现方式

1、实现Servlet接口,接口中的方法必须全部实现。此种方式支持最大程度的自定义。

2、继承GenericServlet,service方法必须重写,其他方可根据需求,选择性重写。

使用此种方式,表示只在接收和响应客户端请求这方面有重写的需求,而其他方法可根据实际需求选择性重写,使我们的开发Servlet变得简单。但是,此种方式是和HTTP协议无关的。

3、继承HttpServlet,它是javax.servlet.http包下的一个抽象类,是GenericServlet的子类。如果我们选择继承HttpServlet时,只需要重写doGet和doPost方法,不要覆盖service方法。

使用此种方式,表示我们的请求和响应需要和HTTP协议相关。也就是说,我们是通过HTTP协议来访问的。那么每次请求和响应都符合HTTP协议的规范。请求的方式就是HTTP协议所支持的方式(GET POST PUT DELETE TRACE OPTIONS HEAD )。

二、servlet生命周期

servlet实例化和初始化只会在请求第一次到达Servlet时执行,而销毁只会在Tomcat服务器停止时执行,只会创建一次,销毁一次。

init()方法(初始化的时候执行一次)——doGet/Post——destroy()方法(服务器停止的时候执行一次)

三、线程安全问题

servlet是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱产生线程安全问题。

四、映射方式

servlet有三种映射配置方式

1、只有和映射配置一模一样时,Servlet才会接收和响应来自客户端的请求

2、/开头+通配符的方式  例如:映射为:/servlet/*

访问URL:http://localhost:8585/servlet/aaa 和 http://localhost:8585/servlet/bbb.do

3、通配符+固定格式结尾 例如:映射为:*.do

访问URL:http://localhost:8585/servlet/aaa.do 和 http://localhost:8585/bbb.do

三种映射方式的优先级为:第一种>第二种>第三种

五、servlet创建的时机

1、应用加载时(即服务器启动时),创建Servlet。优点:提高首次请求访问的效率;缺点:浪费内存

2、第一次请求访问的时候创建servlet。优点:节约内存;缺点:有一些要在应用加载时就做的初始化操作,就无法完成

配置<load-on-startup>1</load-on-startup>即可设置servlet何时创建。

六、ServletConfig介绍

每个Servlet都有一个自己的ServletConfig。它的作用是在Servlet初始化期间,把一些配置信息传递给Servlet,生命周期与Servlet相同。

如何配置?

如何获取ServletConfig?

通过init方法传递进来。

//定义Servlet配置对象ServletConfig
private ServletConfig servletConfig;

/**
 * 在初始化时为ServletConfig赋值
 * @param config
 * @throws ServletException
 */
@Override
public void init(ServletConfig config) throws ServletException {
    this.servletConfig = config;
}

 七、ServletContext介绍

1、概念

 2、配置方式

3、常用方法

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值