Tomcat&Servlet快速入门
web概念
软件架构
C/S:客户端/服务器端
B/s:浏览器/服务器端
资源分类
静态资源
所有用户访问后得到的结果是一样的,即被称为静态资源,比如html、css、javascript
动态资源
每个用户访问后得到的结果是不一样的,被称为动态资源。动态资源访问后需要转换为静态资源返回给浏览器端。比如:servlet、jsp、asp
网络通信三要素
IP
电子设备在网络中的唯一标识
端口
应用程序在计算机中的唯一标识
网络协议
规定了数据传输的规则
tcp:安全协议,三次握手。HTTP、FTP、SMTP、POP3
udp:不安全协议,速度快。DHCP、DNS、RIP、SNTP
web服务器软件
服务器
安装了服务器软件的计算机
服务器软件
接受用户请求、处理用户请求、做出响应
web服务器软件
接受用户请求、处理用户请求、做出响应。在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。
Tomcat就是一种web服务器软件。
Tomcat使用
部署项目
直接放在webapps目录下即可,访问的时候文件夹/文件名
简化部署,将项目打包成一个war包,将war包放在webapps目录下,war包会自动解压缩,访问方式同上
配置conf/server.xml文件,可以将项目放在任意目录下
1
2在<Host>标签体中配置
<Context docBase="D:\hello" path="/hehe" />docBase:项目存放的路径
path:虚拟目录
热部署方式(推荐)
在conf/Catalina/localhost创建一个name.xml文件
1
<Context docBase="D:\hello" />
虚拟目录就是name
java动态项目
WEB-INF目录
–web.xml 核心配置文件
–classes目录 放置字节码文件的目录
–lib目录 放置依赖的jar包
IDEA集成Tomcat
servlet(server applet)
概念
运行在服务端的小程序
本质上是一个接口,定义了java类被浏览器访问到的规则
快速入门
创建一个javaEE项目
定义一个类实现servlet接口
实现抽象方法
配置servlet
在web.xml文件中配置
1
2
3
4
5
6
7
8<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
执行原理
- 服务器解析浏览器输入的路径,解析URL路径,获取servlet资源路径
- 查找web.xml,看是否有对应的
中的内容 - 如果有,再找到配置文件中对应的servlet的全类名,将该类字节码对象加载进内存,并创建字节码对象
- 调用其方法
servlet3.0支持注解配置
1
IDEA与tomcat配置
IDEA会为每一个tomcat部署的项目单独建立一个配置文件。查看控制台的log:
1
Using CATALINA_BASE: "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"
工作空间项目 和 tomcat部署的web项目
- tomcat真正访问的是“tomcat部署的web项目”,”tomcat部署的web项目”对应着”工作空间项目” 的web目录下的所有资源
- WEB-INF目录下的资源不能被浏览器直接访问。