前面讲过关于如何使用IDEA创建一个webapp项目。我们都知道,用IDEA
创建的webapp
项目使用本地tomcat
运行时,tomcat
会在本地创建一个临时的项目名称.xml
文件,例如:
/Users/a1708/Library/Caches/JetBrains/IntelliJIdea2021.3/tomcat/6cd22393-1b0b-46c2-88f9-ee09cfb4a1ab/conf/Catalina/localhost/projectname.xml
xml
文件中记录了项目打包路径,tomcat
会根据路径名加载对应的项目资源。
但是使用maven
创建的webapp
项目,并部署tomcat
的操作步骤和原理会有所不同;
1、Maven部署tomcat
1、使用maven
创建一个空的项目WebApp_11
。
2、在pom.xml
中配置打包方式<packaging>war</packaging>
,指定为webapp
项目
3、在Module
中点击选中WebApp_11
,点击Web
图标。在右边Deployment Descripts
栏中点击+
号,并选中1 web.xml
文件。
4、在弹框中修
web.xml
的文件路径,在/WEB-INF/web.xml
前面添加src/main/webapp
,点击确认。web.xml路径
5、在
pom.xml
中添加tomcat7
,在Maven
栏目下面Plugins
中显示tomcat7
目标文件
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
tomcat7goal
6、在
pom.xml
文件中添加java.servlet
依赖,(注意:此时需要在运行时依赖,java.servlet
,因此需要设置scope
为provided)
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
7、在webapp
文件加中创建index.jsp
文件
8、双击tomcat7:run
可以启动tomcat
,在启动日志中找到http://localhost:8080/WebApp_11
,在浏览器中输入回车。
2、tomcat7插件部署到tomcat9
1、在本地maven
的setting.xml
文件中添加如下,用于登录本地tomcat
的用户名密码
<servers>
<server>
<id>tomcat9</id><!-- 随便起-->
<username>root</username>
<password>root</password>
</server>
</servers>
2、在本地tomcat9
的tomcat-users.xml
文件中添加如下,配置tomcat
用户名和密码
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="root" password="root" roles="manager-gui,manager-script"/>
</tomcat-users>
3、在maven
项目的pom.xml
文件中配置如下
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 部署到本地tomcat9的项目名称(war包名称)-->
<path>/context_path</path>
<!-- 支持热部署-->
<update>true</update>
<url>http://localhost:8080/manager/text</url>
<!-- 解决get请求中文乱码问题-->
<uriEncoding>UTF-8</uriEncoding>
<!-- get请求参数中的编码方式-->
<server>tomcat9</server>
</configuration>
</plugin>
<!-- 打包是web应用-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
4、cd
到当前的tomcat9/bin
目录下启动tomcat9
,并且在Idea
的Maven
栏下的Plugins/tomcat7
插件中双击tomcat7:deploy
5、在控制台输出的
http://localhost:8080/context_path
为项目的url
,在浏览器中输入url
可正确访问地址。6、解决
tomcat7
打包乱码问题,需要在pom.xml
中添加如下配置
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
网友评论