1.我们首先需要在Ecplise中配置maven环境
2.maven project:将来项目拆分时,需要创建一个这样的工程。
maven-module:crm-service crm-web,分模块进行开发。如果你只负责工程的一块时,你只需要创建一个maven module即可。
3.在ecplise中创建maven project。要勾选上create a simple project,这样会给我们创建一个简单的目录结构。否则不会给我们创建目录结构,需要我们自己手动创建目录。
使用默认的工作区间即可。
4.点击next,进入下一个页面:
Group Id:所在的公司、组织的名称。一般用域名的倒置,比如:com.baidu。
Artifact Id:项目名称,如:helloworld。
Version:项目的版本.
packaging:
jar:java项目
war:web项目
pom:用于工程聚合时,父工程一般选择这种方式。
填到此处我们就可以点击finish了:
5.可以看到一个helloword工程,但报错。
6.在Deployed Resources下的webapp下新建WEB-INF文件夹,在WEB-INF文件夹下新建web.xml文件:
web.xml文件的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
</web-app>
此时,工程的错误就解决了。错误解决了,就可以新建我们的servlet了。
7.在srs/main/java下创建一个servlet,但报错:
在srs/main/java下创建了servlet后,会自动在src包下添加。
8.要解决问题,就是要将servlet-api-xxx.jar包放进来。
作为一个maven项目,需要添加一个servlet的坐标,从而导入servlet的jar包。
直接打开helloworld工程下的pom.xml文件,再添加坐标。
一般标签我么记不住,可以通过下面这种方式引入坐标:
点击add,进入下一个页面:
我们输入servlet,在下面会出现相关的servlet-api,我们随便选择一个api版本,然后点击ok即可。这样在pom.xml中便将servlet的坐标添加进去了:
这样错误就解决了。
9.在servlet中写入:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("hello...");
}
此时会出现编译错误。
10.出现编译错误的原因是ecplise默认的jdk版本为1.5,而我们maven中使用的是1.8的版本,所以需要对JDK的版本进行配置,在pom.xml中写入:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
然后update project,JDK的版本就变为了1.8。
工程名--->右击--->maven--->update project。查看版本为:
11.我们将JDK的版本改为1.8之后,错误解决,然后就可以运行servlet代码了:
工程名--->右击--->Run As--->maven build...在这里我们可以输入maven的命令,比如tomcat:run,启动服务器:
12.tomcat服务器启动之后,我们在浏览器中访问Servlet,可以得到如下结果:
说明tomcat与maven已经打通。