用到的工具
JDK1.8
Eclipse Luna j2ee
Eclipse 集成的Mave
tomcat7 (集成在xampp中的独立web服务器,或者通过Maven plugin集成web服务器)
步骤如下
1.新建Mave web工程,
A |
B |
C |
D |
之后会得到如下工程树
可以看到有红色警告,这是因为缺少java web服务器,可以安装tomcat,然后在eclipse中添加server并部署web程序。
也可以通过Maven plugin集成tomcat,使用maven发布web程序,可以实现自动部署web程序。
2.配置tomcat
安装xampp之后,就集成了tomcat7,但是此时不要单独启动tomcat,稍后会在eclipse中启动。
配置步骤如下,在工程属性的runtime中new一个server,类型为tomcat7
填写tomcat安装目录,就在xampp中找,
要确保工程已经被添加进server中,如果没有,需要手动添加进去(在server上右键,add and remove)
添加完了server,工程目录已经没有警告了,此时可以运行这个web项目了
在index.jsp上右键选择run->run on server就行了
3. 使用Maven的tomcat插件部署web程序。
前面使用的是独立的tmcat部署的方式,既然我们创建的是maven工程,通过maven来集成各种第三方工具(例如web服务器)才能充分发挥maven的优势。
我们在pom文件中添加如下两段,就可以实现集成tomcat服务器,并自动发布的功能。
首先是jsp依赖库,
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<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.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
然后是配置maven的tomcat插件,放在<build>里面即可,
<build>
<finalName>maven-web-demo</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/maven-web-demo</path>
<uriEncoding>UTF-8</uriEncoding>
<finalName>maven-web-demo</finalName>
<server>tomcat7</server>
</configuration>
<executions>
<!-- 打包成功后即开始运行web容器 -->
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
再配置一下maven run
在run configuation中,配置Maven run
上面的关键点是在Goals中填入 tomcat:run,之后直接点下面的 Run按钮,可以看到控制台结果,
看到8080说明已经发布成功了,在浏览器输入 http://localhost:8080/maven-web-demo/
要注意的是,maven中最好指定一下java版本号,我最开始用的java8,但是maven中没有指定版本(估计默认是java7),
始终编译不过,百思不得其解,最后换成java7了才能跑,然后恍然大悟。eclipse,maven,本机java之间需要保持统一才行。