java servlet详解
创始人
2024-05-26 15:10:15
0

一、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。优点:节约内存;缺点:有一些要在应用加载时就做的初始化操作,就无法完成

配置1即可设置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、常用方法

 

 

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...