1.我们首先需要在Ecplise中配置maven环境,详情见我的博客:https://www.cnblogs.com/wyhluckdog/p/10277278.html
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已经打通。