03-Tomcat

nobility 发布于 2021-09-07 436 次阅读


Tomcat

Tomcat是由Apache提供的一种开源免费Web服务器,提供jsp和servlet支持,轻量级容器

安装Tomcat

Tomcat官网的Download标签中获取对应的Tomcat版本的ZIP压缩文件,解压即用,Tomcat版本与JDK版本对应关系如下:详细版本对应关系从Tomcat官网映射表获取

Tomcat版本 JDK版本 JavaEE版本 Servlet/JSP版本
7.x JDK1.7 JavaEE 6 3.0/2.2
8.x JDK1.7及以上 JavaEE 7 3.1/2.3
9.x JDK1.8及以上 JavaEE 8 4.0/2.3

Tomcat目录

目录名 描述
bin 可执行命令存放目录
conf 服务器配置文件目录
lib JavaWeb项目引入的相关jar包存放目录
logs 服务器日志文件目录
temp 服务器运行时产生的临时数据目录
webapps 部署的web项目目录
work 服务器工作目录

IDEA整合Tomcat

创建javaWeb项目

  1. 创建新项目时选择Java企业版Java Enterprise
  2. Java EE version选项中选择JavaEE版本
  3. Application Server选项中选择Tomcat Server
  4. Tomcat Home中配置tomcat安装目录
  5. Additional Libraries and Frameworks中勾选Web Application之后才会创建完整的web应用解构(要确定最下方的Create web.xml被勾选)

创建的目录包含src目录和web目录,web目录中存放有一个WEB-INF目录,web.xml文件就存放在这之中

  • src目录用于存放Java代码
  • web目录用于存放静态资源文件,但是其中WEB-INF目录是受保护的目录不会被访问到,所以用到的第三方库会放在这里
  • web.xml文件用于配置整个Web应用

web.xml中的内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

IDEA配置Tomcat

  1. 点击运行按钮左面的tomcat下拉框,选择Edit Configurations...进行配置项目的tomcat
  2. 右侧栏中选择ServerOpen browser组中勾选After launch自动打开浏览器,On frame deactivation标签的下拉框设置为Update classes and resoures热部署更新就不必修改完代码后再重启Tomcat进行调试了
  3. 右侧栏中选择Deployment,向下滑动找到Application context,将输入框文本设置为项目名称(浏览器访问项目的前缀路径)

开发过程中要使用debug按钮运行项目进行调试,会之间使用文件夹部署,而且只有在debug模式下才支持热部署,若使用运行按钮则会进行打包后部署相对较慢

当启动项目后若再点击debug按钮则会出现以下4个选项

  • Update resources:更新静态资源
  • Update classes and resources:更新字节码和静态资源
  • Redeploy:重新部署
  • Restart server:重启Tomcat

项目打包

  1. 依次点击File > Project Structure... > Artifacts
  2. 再点击中间栏的加号依次点击Web Application: Archive > Empty
  3. 再在最右侧栏中的Name输入框中设置war包的包名
  4. 再选中最右侧栏中下方Output Layout标签,将该栏下的右侧项目名下的所有文件双击添加到左侧中
  5. 回到代码编辑器中,依次点击Build > Buid Artifacts... > 刚才配置的war包名
  6. 该项目中的out/artifacts/项目名/项目名.war就是打包后的war包
  7. 放入tomcat中的webapp目录中启动tomcat即可自动部署

Tomcat问题及解决

解决Tomcat乱码问题

出现乱码的原因是在Windows下CMD命令行工具的编码默认是CBK,而Tomcat的编码默认是UTF-8

  • 解决方案1:将tomcat安装目录中的conf/logging.properties文件中的UTF-8替换为GBK此方法可能会导致其他地方乱码
  • 解决方案2:
    1. 将Windows下的CMD命令行修改为UTF-8,依次点击win10的设置 > 时间和语言 > 语言 >相关设置中的管理语言设置 > 更改系统区域设置 之后勾选Beta版本:使用Unicode UTF-8 提供全球语言支持重启电脑
    2. 此时发现CMD中的Tomcat不乱码了,但是IDEA中的还是乱码,打开IDEA依次点击Help > Edit Custom VM Options会打开一个文件,再文件底部添加-Dfile.encoding=UTF-8,重启IDEA
    3. 此时发现Tomcat不乱码了,但是使用Servlet控制台输出中文时还是乱码,在配置项目的tomcat界面的VM options框中输入-Dfile.encoding=UTF-8即可

启动Tomcat端口占用问题

Interrupted function call: accept failed,找到占用端口程序关闭即可,或设置Tomcat为其他端口即可

此作者没有提供个人介绍
最后更新于 2021-09-07