1. 什么是Web服务器?#
Web服务器一般指的是网站的服务,主要提供互联网信息的浏览
2. 市面主流的web服务器#
前端 | 后端 | 数据库 | 服务器 | 项目规模 |
---|---|---|---|---|
PHP | PHP | MYSQL | Apache(Window、Liunx) | 中小型项目 |
ASP | C# | SQL Server | IIS(Windows) | 中大型项目 |
JSP | Java | Oracle | Tomcat(Windows、Liunx结合版) | 中大型项目 |
3. Tomcat目录#
目录 | 描述 |
---|---|
bin | 可执行文件目录 |
conf | 配置文件目录 |
lib | Tomcat运行时需要的jar包,Web开发时需要的jar包 |
log | 存放日志文件夹 |
temp | Tomcat运行时产生的临时文件存放目录 |
webapps | web项目存放目录 |
work | 项目的缓存目录 |
4. URL组成部分#
http://www.baidu.com/
http://192.168.1.119:8080/189/
- http:网络协议
- IP地址:计算机在网络中的唯一标识,一个IP标识着一台计算机
- 端口:在一台计算机中标识一款软件
- 项目目录:在Web服务器下存放的目录
http 默认端口:80
https 默认端口:8443
5. 修改Tomcat端口与字符编码#
在Tomcat目录conf/server.xml文件中修改以下代码:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- URIEncoding:Tomcat字符编码
- connectionTimeout:连接超时的时间,单位毫秒
- port:Tomcat启动端口
- protocol:定义通讯协议,http
- redirectPort:重定向端口
6. 服务器接收用户请求的方式#
在Java中处理用户请求方式的两种技术
- JSP
- Servlet
7. Web项目的结构#
目录 | 描述 |
---|---|
src目录 | 存放Java源码 |
build | 存放编译后的class文件 |
WebContent目录 | 存放页面的目录 |
WebContent/WEB-INF目录 | 存放Web项目的配置文件,比如:web.xml |
WebContent/WEB-INF/web.xml文件 | web项目第一个被读取的文件 |
8. 什么是Servlet?#
Servlet是服务器端接收并处理用户请求的,运行在服务器端
9. 创建Servlet的步骤(☆)#
- 创建一个类继承HttpServlet类
- 重写doGet和doPost方法
- 在web.xml编写Servlet的配置信息,代码如下:
<servlet>
<!-- servlet的名称,自定义 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet类的完整路径 -->
<servlet-class>com.zt.servlet.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- servlet的名称,自定义 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet的访问路径,浏览器的地址 -->
<url-pattern>/helloWorld</url-pattern>
</servlet-mapping>
Servlet访问地址:http://localhost:8080/项目名/servlet访问路径
10. Servlet生命周期(☆)#
- 执行构造方法实例化对象(Servlet对象被创建-Tomcat)
- 调用init方法初始化
- 调用service方法处理用户请求
- 当Tomcat关闭时,调用destroy方法,进行销毁
11. Servlet的执行过程(☆)#
- 当网页发送一个请求,首先会到达Tomcat服务器
-
Tomcat会根据请求的URL去匹配Web.xml中的
<url-pattern>
标签 -
匹配上路径会关联
<servlet-mapping>
标签下的<servlet-name>
标签 -
通过
<servlet-mapping>
标签下的<servlet-name>
标签关联到<servlet>
标签下的<servlet-name>
标签 -
<servlet>
标签下的<servlet-name>
标签找到<servlet-class>
标签,<servlet-class>
标签保存了servlet类完整路径 - Tomcat根据这个类的完整路径,把Servlet对象给创建
- 执行构造方法进行实例化,调用init方法进行初始化
- 构造方法与init方法自始至终只会执行一次,Servlet对象是单实例的
- 调用service方法处理用户请求,完成此次请求
- 当Tomcat停止时,调用destroy方法进行销毁,destroy方法自始至终执行一次
12. Servlet实例化方式(☆)#
- 第一次请求的时候实例化 - 时间换空间 - 正常处理用户请求时 - 95%
- Tomcat启动时实例化 - 空间换时间 - 初始化数据 - 5%
在servlet标签中加入如下代码
<load-on-startup>1<load-on-startup>
中间的数字为大于等于零的正整数,数字越小优先级越高
13. 程序的分类:#
程序 | 架构 | 栗子 |
---|---|---|
桌面类应用程序 | CS架构(Client Servers) | WPS - QQ - LOL |
Web应用程序 | BS架构(Browser Servers) | 淘宝 - 京东 |
-
开发Web应用程序:
HTML + CSS +JS + 编程语言 + 服务器 + 数据库
例如:Servlet、JSP、.NET、PHP -
小型服务器
Tomcat - 免费、开源 - Apache基金会
最大并发数为150 -
大型服务器
- Weblogic - BEA ORACLE
- WebSphere - IBM
14. Tomcat服务器各目录作用#
目录 | 描述 |
---|---|
bin目录 | 服务器可执行文件(启动服务器:startup;关闭服务器:shutdown) |
conf目录 | 服务器配置文件(server.xml:服务器端口号的修改;context.xml:配置数据库连接池信息) |
lib目录 | 服务器的jar包(支撑服务器运行) |
logs目录 | 记录服务器日志 |
temp目录 | 存放服务器运行时的临时文件 |
webapps和wtpwebapps目录 | 存放项目编译之后的文件 |
work目录 | 项目编译之后的一些缓存文件(JSP文件) |