服务器软件
为了使Web服务器/Web应用在不同端系统上进行协作,需要中间件来封装对HTTP协议/Socket通信等的应用代码。
Servlet就是其中最主要的一个接口:任何服务器软件都能访问实现Socket的实现具体任务的类。
而Tomcat作为服务器实现软件,本身就是Servlet容器:搭载具体实现Servlet类供客户使用。
Tomcat文件体系:
- bin:启动/关闭脚本文件
- conf:服务器配置文件
- lib: 服务器及应用可以访问的jar文件
- logs:日志文件
- webapps:Web应用
- work:容器工作目录
配置服务器文件:apache-tomcat/conf/server.xml
<Server>N:代表整个Servlet容器组件:
<Service name="ChrismasIn2015">
<Connector port="80":默认,无需特别打出>N:负责交互:接收/返回请求结果(端口设置)
<Engine>1:负责处理请求:处理同一个Service下,所有Connector接收到的请求
<Host name="虚拟主机域名">定义虚拟主机:默认:localhost
<Context path="指定应用的url入口" docBase="指定应用文件路径">定义Web应用
//应该在/ChrismasIn2015/META-INF/context.xml进行新增修改
工作模式
(1) 独立Servlet
(2) 其他Web服务器进程内/外的Servlet容器
部署JavaWeb应用
1. /ChrismasIn2015
2. /ChrismasIn2015/src/package目录
3. /ChrismasIn2015/WEB-INF/classes:package目录(不可访问)
web.xml:提供容器识别的应用信息
<?xml version="1.0" encoding="UTF-8">
<web-app>
<servlet>1
<servlet-name>appname
<servlet-class>package/Class
<servlet-mapping>N
<servlet-name>appname
<url-pattern>/name
4. /ChrismasIn2015/页面及相关资源文件(夹)
JavaWeb应用生命周期
当容器启动,会启动JavaWeb应用:使用Tomcat可以管理Web应用生命周期相关:localhost:8080/manager/html
1.启动阶段
加载web.xml - 创建ServletContext - 初始化Filter - 初始化特殊Servlet
2.运行时阶段
所有Servlet处于待命状态随时响应 - 调用service()服务方法
3.终止阶段
销毁所有运行时Servlet - 销毁所有运行时Filter - 释放Web应用所有资源
Servlet生命周期
1.启动阶段:当首次访问
//当web.xml设置<load-on-startup>,能在启动应用时就启动Servlet
加载Servlet读入内存 - 创建对应的ServletConfig对象 → 关联ServletContext
创建Servlet对象 - 调用init(ServletConfig conf)方法
2.运行时阶段
当容器收到访问特定Servlet请求:创建ServletRequest/Response对象,
根据不同请求方式(get/post/put/delete...)调用相应Servlet的service()方法(doGet/doPost...)
发送响应结果,销毁RequestResponse对象。
3.终止阶段
调用destory()方法:释放资源,销毁Servlet对象及相关对象。