01-服务器搭建和部署
Tomcat,汤姆猫,名如其logo。它是Apache-Jarkarta开源项目中的一个子项目,
小型、轻量级的支持JSP和Servlet技术的web服务器
。
最新的Servlet和JSP规范因为有 Sun 公司的参与和支持总能得到体现,技术先进、性能稳定、免费
!
1.1 Tomcat 安装
- 官网下载 tomcat.apache.org Tomcat 7.0/8.5版本
- 解压到一个没有特殊符号的路径
- 进入到解压的目录下,bin\startup.bat 启动
不要放入层次多的文件夹中、不建议放中文路径、
依赖JAVA_HOME环境变量
1.2 Tomcat 目录
bin
二进制可执行文件和启动脚本文件conf
配置目录:
server.xml 配置整个服务器的信息
tomcatusers.xml 存储tomcat用户信息
web.xml 部署描述符文件,注册了很多MIME即文档类型
context.xml 对所有应用的统一配置,通常不配置它lib
服务器启动以来的核心类库,jar包文件logs
日志文件,启动、关闭、错误、异常等信息temp
存放临时文件,可以在tomcat关闭后删除webapps
存放web项目的核心目录,其中每个文件夹都是一个项目,ROOT是未给出项目目录时的特殊项目work
运行时生成的文件,最终运行的文件都在这里,通过webapps中的项目生成的1.3 Tomcat 启动
bin/startup.bat
启动服务器bin/shutdown.bat
关闭服务器
启动服务器图示:(看到红框信息代表启动成功)
- 中文乱码解决(即去掉 tomcat 本身对启动终端窗口的强制编码设置):
logging.properties >> 注释掉line47 #java.util.logging.ConsoleHandler.encoding = UTF-8
1.4 Tomcat 项目部署
方式一:**直接将web项目文件
拷贝到webapps目录
**。方式二:配置虚拟项目目录(不推荐)
① 修改配置conf/server.xml
文件中的如下内容:1
2
3
4<Host>
...
<Context docBase="磁盘路径" path="/访问名称" />
</Host>注意 path 属性中的 / 不能少。
方式三:配置虚拟项目目录优化版(IEDA中采用类似方式)
① 修改配置conf/Catalina/localhost
目录下新建projname
.xml 文件;
② 编辑projname
.xml 文件,内容如下方代码
③ 访问:http://localhost:8080/`projname`/资源文件1
2<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="磁盘路径" />
1.5 Tomcat 项目访问
1.5.1 项目通用访问格式
格式:**http://ip:port/项目/资源
**
(静态[html/css/javascript]、动态[servlet/jsp])
① 确保 Tomcat 服务器为启动中
状态
② 浏览器输入 http://localhost:8080
或 http://127.0.0.1:8080
默认 project 为 ROOT 项目,即 默认访问 websapp 下的 ROOT 目录里的资源
即表示 Tomcat 服务器启动成功了,展示了 ROOT 默认页面。
1.5.2 修改默认访问主页
① 新的项目中可以拷贝 ROOT 默认项目的WEB_INF
目录到当前demo项目;
② 从conf\web.xml
中拷贝文件最后的 <welcome-file-list>
完整标签内容到当前项目的 web.xml 中;
③ 然后在demo项目目录中 WEB_INF/web.xml
中修改 <welcome-file-list>
,此修改仅针对当前demo项目生效;
④ 重新启动 Tomcat 服务器即可。
WEB_INF/web.xml 为动态页面资源的必备配置文件。
实测启动的为 register.html 页面了。
1.5.3 修改默认访问项目
① 第一步:重命名 webapps 目录下的 ROOT 目录或删除该目录
② 第二步:在配置文件 conf/server.xml
中新增如下内容
1 |
|
③ 重新启动 Tomcat 服务器,访问 http://localhost:8080 则为设置的 磁盘路径 项目了。
1.6 Tomcat 在 IDEA 中配置集成
IDEA中tomcat镜像相当于部署到本地tomcat中:
1.7 Tomcat 配置生成 .war 包
① 配置 war 包(如有lib库时需点击 Fix >> lib 会自动导入):
② 生成 war 包:
③ 使用 war 包: