目录
1. Web相关概念
1.1 软件架构
Web也就是网页的意思,目前学习的Javaweb相关的知识也就是关于使用Java进行网站网页开发的技术。上过计算机网络或者考过研究生的同学们都知道,在网络的应用层,也就是通常意义上使用各种各样软件的这个网络层次,生存着着许多软件,而其架构大体分为两类:
- C/S:客户服务端模型,例如QQ,百度云,各类游戏等,需要在个人的主机上下载一个客户端。
- B/S:浏览器服务器模型,例如网上的各种管理系统,选课网等,直接通过浏览器与服务器交互。
1.2 web资源
web也就是通过浏览器访问的服务器上的资源,分为两类:
- 静态资源:所有用户访问后得到的结果都是一样的,不会因Java代码而动态变化,静态资源可以直接被浏览器解析。如Html,Css,JavaScript等。
- 动态资源:每个用户访问相同的资源,得到的结果可能会不一样,会因Java代码而动态变化。动态资源被访问后,需要先转换成静态资源,然后再返回给浏览器展示。如servlet,JSP等。
1.3 web服务器软件
- 服务器:安装了服务器软件的计算机
- 服务器软件:接收用户请求,处理请求,并且做出响应的软件。
- web服务器软件:接收请求做出响应,可以部署web项目,让用户通过浏览器来访问这些项目的web容器。
常见的web服务器软件:
- webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
JavaEE规范有哪些呢,是包括Servlet,JSP,Filter,Listener在内的13项规范。
2. Tomcat介绍
2.1 Tomcat简介
官方网址为http://tomcat.apache.org。得到了广大开源代码志愿者的大力支持,且可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
2.2 Tomcat下载及安装
打开网址,点击download下的Tomcat9版本下载即可。
选择64位windows版本下载即可,下载到本地解压即可使用。安装目录建议不要有中文和空格。
- tar.gz文件是Linux操作系统下的安装版本
- exe文件是Windows系统下的安装版本x86 x64
- zip文件是Windows系统下的压缩版本 (建议)
2.3 Tomcat版本介绍
Tomcat软件也是用Java写的,所以在使用Tomcat之前要确保你已经下载了jdk。
Tomcat的版本随着SUN公司推出的Servlet/JSP规范不同而不同,基本上是SUN公司每推出一个版本,Tomcat也会发行新的版本以适应新的规范。
Tomcat版本 | Servlet/JSP规范 | JDK版本 |
9.0 | 3.0 | 1.9 |
8.0 | 3.0 | 1.8 |
7.0 | 3.0 | 1.7 |
6.0 | 2.5 | 1.6 |
2.4 Tomcat目录介绍
2.5 Tomcat如何使用
bin目录/start.bat:Windows系统启动
bin目录/start.sh:LInux系统系统
bin目录/shutdown.bat:Windows系统正确关闭Tomcat
bin目录/shutdown.sh:Linux系统关闭Tomcat
强制关闭Tomcat:直接右上角点X
2.6 Tomcat使用过程中常见问题
- 黑窗口一闪而过
- 原因:没有正确配置好Java_home环境变量,因为Tomcat的start.bat批处理文件里面已经写了要找Java_home这个环境变量,因为Tomcat是Java写的嘛
- 解决:滚去配置,过程自己百度。
2. 启动报错
- 原因:其他程序占用了Tomcat的端口号(默认8080,一般改为80,因为http协议用的就是80端口,在访问时,就不用输入端口号)
- 解决:暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
netstat -ano
温柔:修改自身端口号
conf/server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8445" />
2.7 Tomcat修改相关配置
修改端口号及IDEA上的相关配置
2.8 Tomcat如何部署项目
- 直接将项目放到webapps目录下即可。
/hello:项目的访问路径-->虚拟目录
简化部署:将项目打成一个war包,再将war包放置到webapps目录下。(1. 因为Tomcat在启动过程中会自动解压缩 war包,不需要重启Tomcat)(2. 此外压缩文件它的传输更快)
- 配置conf/server.xml文件。
在<Host>标签体中配置
<Context docBase="D:\hello" path="/hehe" />
* docBase:项目存放的路径
* path:虚拟目录
(需要注意)这是整个tomcat核心的配置文件,在这里部署项目的话会影响配置文件,在这里配置很不安全。
- 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写。
<Context docBase="D:\hello" />
* 虚拟目录:xml文件的名称
2.9 如何开发普通Javaweb项目(以IDEA为例)
- 先建个空项目
- 创建JavaEE模块,勾选Web Application支持
- 选择jdk和JavaEE版本
3. IDEA集成Tomcat
3.1 IDEA是如何集成Tomcat的
- IDEA会为每一个tomcat部署的项目单独建立一份配置文件
查看控制台的log:Using CATALINA_BASE: "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"
- 工作空间项目 和 tomcat部署的web项目
tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
WEB-INF目录下的资源不能被浏览器直接访问。是被保护起来的。
3.2 通过IDEA启动Tomcat的异同点
https://blog.csdn.net/qq_22627687/article/details/76555886