-
使用Eclipse创建Maven Web工程
-
2
找到Maven Project,点击Next
-
3
勾选上Create a simple project (不使用骨架),Next
-
4
填写工程名称和包名,并选择war类型,Finish
扫描二维码关注公众号,回复: 2980561 查看本文章 -
5
选择packing是war类型,在main下会生成 webapp目录
-
使用eclipse发布到tomcat下,需要把项目转成dynamic web project。
选择工程单击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form…
-
勾选Dynamic Web Module 改为2.5版本,java改为1.7并点击ok (3.0只有tomcat7才支持)
-
此时webapp下的结果还没有显示出来,因为此时我们还没有配置此的项目为web项目,再次进去Properties配置,如下图所示:
9、点击Further configuration available...,如下:
10、配置src/main/webapp,并勾选生成web.xml的选项,如下:
-
修改发布规则:先择工程单击右键, 选择 Properties,
选择Deployment Assembly:把WebContent Remove掉;测试类我们也不需要发布,test的两个目录页可以remove
-
重新指定WEB路径:点击add,选择Folder
-
在src/main下找到webapp目录,然后finish
-
把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next
-
完成后如下图
-
打开
pom.xml
文件并在其中添加servlet依赖项和Tomcat maven插件,里面添加如下内容,如下代码所示,pom.xml -
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- jdk版本 -->
<source>1.7</source>
<!-- 编译目标版本 -->
<target>1.7</target>
<!-- 指定编码 -->
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 端口 -->
<port>8080</port>
<!-- 访问路径 -->
<path>/hellomaven</path>
<!-- 编码 -->
<uriEncoding>utf-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- 添加依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
以上配置改正之前有些问题,现在改正之后没有问题了,也可以利用插件配置,将来我们还要用到了jsp页面,因此我们也要引入jsp-api的坐标
查看pom.xml,引入servlet-api和jsp-api的坐标
在更改pom.xml
文件之后,更新maven web项目。
要更新web maven项目,请右键单击项目名称(如:webproject
)-> Maven
-> Update Project...
来更新项目。
17.查看maven web项目结构,如下图所示 -
18.在src/java/main创建了一个HelloServlet
在webapp下新建一个index.jsp:
最终的文件目录结构:
20.运行工程
有两种方式来布署我们的工程
- 使用我们自己配置的Tomcat server
- 使用maven带的tomcat插件
用maven的tomcat7插件,需要在pom.xml里的<build><plugins>添加如下代码,也可通过添加plugin的方式(调整jdk版本)添加
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- 端口 --> <port>8080</port> <!-- 访问路径 --> <path>/helloworld</path> <!-- 编码 --> <uriEncoding>utf-8</uriEncoding> </configuration> </plugin> |
使用tomcat插件启动工程
看到下面的截图表示启动成功了
打开浏览器访问http://localhost:8080/helloworld/index.jsp,在改正配置之前会报错:
报错原因:tomcat的lib目录下已经存在jsp-api.jar,而我们项目工程又再次引入jsp-api的jar包,两者冲突报错。
解决办法:将对应的包scope范围改为provided
运行成功结果: