Servlet与JSP学习笔记(二) Servlet核心

这里又把教材换成了孙卫琴老师的《Tomcat与Java Web开发技术详解》。兜了一圈后发觉这本书真是好。Runoob 太浅,《Head First Servlets and JSP》节奏又太慢,也远离应用。而《Tomcat》这本书虽然没有用Eclipse, 但有结构完整的代码,用Sublime当作项目串起来,跟用Eclipse没有什么代沟。

容器与Web应用及上下文的关系

我觉得这是Servlet最核心的地方。

  • Tomcat就是容器,其它替代者有Jetty、JBoss等等。
  • JavaWeb应用就是包含了一组Servlet、JSP、HTML等各种文件的一个集合。就是一定要在WEB-INF\ 目录下有个web.xml文件。

下图的Tomcat的组成结构刚好可以解释Java web里面最常见的一些概念:

  • 顶层的Server元素代表Tomcat容器
  • 一个Server可以包含多个Service组件
  • 一个Service里面可以有多个负责接受与响应客户请求的Connector组件
  • 一个Service只能包含一个Engine组件
  • 一个Engine组件可以包含多个虚拟主机(Host)组件(localhost是默认创建的主机,你还可以创建更多的虚拟主机,并且只要把DNS指向这台机器,就可以访问这个虚拟主机的URL)
  • 一个Host组件可以包含多个Context。一个Context就代表一个Web应用。
  • 容器在启动一个Web应用时就创建一个ServletContext对象和这个应用对应起来,并且这个对象和Web应用的生命周期一致。因此,可以利用这个对象来存储全局数据。

Servlet API与Servlet 生命周期

Sun公司(现在的Oracle)为javax.servlet.Servlet接口定义了5个方法。其中的3个方法由Servlet容器调用:
- init()方法: 负责初始化Servlet对象。容器在创建好Servlet对象后,就会调用该方法。
- service()方法:负责响应客户端的请求。容器收到客户端请求后,就会调用对应Servlet对象的service()方法。
- destroy()方法:负责释放Servlet对象占用的资源。容器在销毁Servlet对象之前调用该方法。

另外两个方法在这里不是很重要。下面来说一下Servlet的生命周期:
1. 初始化阶段:容器加载Servlet类,创建对象,并调用其init()方法。只有在Servlet被第一次请求时,或者Servlet配置了 \

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值