使用 Maven 构建 Web 项目
创建一个Web项目
-
cd 工作目录执行
mvn archetype:generate
E:\workspace_maven>mvn archetype:generate
-
输入web过滤
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 703: web
66: remote -> org.codehaus.mojo.archetypes:webapp-javaee7 (Archetype for a web application using Java EE 7.)
-
选着的66个
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 66
-
选着版本,输入2
Choose org.codehaus.mojo.archetypes:webapp-javaee7 version:
1: 1.0
2: 1.1
Choose a number: 2: 2Define value for property 'groupId': : com.andean
Define value for property 'artifactId': : helloweb
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': com.andean: :
Confirm properties configuration:
groupId: com.andean
artifactId: helloweb
version: 1.0-SNAPSHOT
package: com.andean
Y: : Y - 生成helloweb项目(E:\workspace_maven\helloweb)
- 打包
E:\workspace_maven\helloweb>mvn package
- 生成target目录 (E:\workspace_maven\helloweb\target)
- 把E:\workspace_maven\helloweb\target\helloweb-1.0-SNAPSHOT.war 拷贝到 F:\apache-tomcat-8.0.22\webapps 目录里
- 运行Tomcat(F:\apache-tomcat-8.0.22\bin\startup.bat)
- 在浏览器打开项目(http://localhost:8080/helloweb-1.0-SNAPSHOT/)
使用 Tomcat 插件运行 Web 项目
-
编辑E:\workspace_maven\helloweb\pom.xml (http://tomcat.apache.org/maven-plugin.html)
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat8-maven-plugin</artifactId>
<version>2.2</version>
</plugin> -
运行
mvn tomcat:run
E:\workspace_maven\helloweb>mvn tomcat:run
- 打开浏览器输入http://localhost:8080/helloweb/
使用 Jetty 插件运行 Web 项目
-
编辑E:\workspace_maven\helloweb\pom.xml (http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin)
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
</plugin> -
运行
mvn jetty:run
E:\workspace_maven\helloweb>mvn jetty:run
- 打开浏览器输入http://localhost:8080/
添加 J2EE 依赖
-
编辑E:\workspace_maven\helloweb\pom.xml
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<!--<scope>provided</scope>-->
</dependency>
</dependencies> -
运行 ‘mvn clean package’
E:\workspace_maven\helloweb>mvn clean package
E:\workspace_maven\helloweb\target\helloweb-1.0-SNAPSHOT\WEB-INF\lib 目录里会有:javax.servlet-api-3.0.1.jar,jsp-api-2.1.jar,jstl-1.2.jar
创建 JSP 和 Servlet
-
在E:\workspace_maven\helloweb\src\main\webapp 目录里创建index.jsp
E:\workspace_maven\helloweb\src\main\webapp>touch index.jsp
- 编辑index.jsp
-
在E:\workspace_maven\helloweb\src\main\java\com\andean目录里创建HelloServlet.java
E:\workspace_maven\helloweb\src\main\java\com\andean>touch HelloServlet.java
- 在 E:\workspace_maven\helloweb\src\main\webapp 里创建WEB-INF 文件夹
-
在 E:\workspace_maven\helloweb\src\main\webapp\WEB-INF目录里创建web.xml
E:\workspace_maven\helloweb\src\main\webapp\WEB-INF>touch 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"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" >
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.andean.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
</web-app> -
运行 ‘mvn clean package’
E:\workspace_maven\helloweb>mvn clean package
-
运行
mvn jetty:run
E:\workspace_maven\helloweb>mvn jetty:run
- 打开浏览器输入http://localhost:8080/helloServlet
- 源码