使用tomcat插件运行java web项目

时间:2023-03-08 19:48:30
使用tomcat插件运行java web项目

1 新建javaweb项目

使用骨架创建javaweb项目,具体步骤不熟悉的参见上一篇文章【idea集成maven】。

2 添加依赖

    <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>

3 编写servlet

新建package

新建servlet,内容如图:

使用tomcat插件运行java web项目

4 启动

在窗口右侧选择Maven Projects,点击Execute Maven Goal,输入 tomcat:run

使用tomcat插件运行java web项目

项目运行成功,点击链接,访问 http://localhost:8080/maven_web

使用tomcat插件运行java web项目

5 jar包冲突的处理

点击上一步中的链接,会报如下错误:

使用tomcat插件运行java web项目

更换为tomcat7,添加tomcat7的plugin,然后在Execute Maven Goal,输入 tomcat7:run

  <build>
<pluginManagement>
<plugins> <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin> </plugins>
</pluginManagement>
</build>

访问后,又报如下错误:

使用tomcat插件运行java web项目

原因:

编写代码时依赖本地仓库中的servlet-api,jsp-api,使用tomcat:run命令运行项目时,实际上使用的是maven自带的tomcat6插件,它也包含了同名的servlet-api,jsp-api,由此产生冲突。

解决办法,修改pom文件中servlet-api,jsp-api的作用域,使其只在编译时生效。

    <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>

6 为插件添加模板

使用tomcat插件运行java web项目

        <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>