maven学习笔记-一个简单的Web应用

创建这个简单的Web应用

mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch05 \
	-DartifactId=simple-webapp \
	-DpackageName=org.sonatype.mavenbook \
	-DarchetypeArtifactId=maven-archetype-webapp

 packaging 元素包含的值是 war 。这种打包类型配置让 Maven 以 WAR 文件的形式生成一个 web 应用。

 

配置Jetty插件

<project>
	[...]
	<build>
		<finalName>simple-webapp</finalName>
		<plugins>
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	[...]
</project>

 

调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动你的 web 应用
mvn jetty:run
运行:http://localhost:8080/simple-webapp

 

添加一个简单的Servlet

package org.sonatype.mavenbook.web;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SimpleServlet extends HttpServlet {
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException {
	PrintWriter out = response.getWriter();
	out.println( "SimpleServlet Executed" );
        out.flush();
        out.close();
    }
}

 匹配 Simple Servlet,修改WEB-INF/web.xml

<!DOCTYPE web-app PUBLIC
	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Archetype Created Web Application</display-name>
	<servlet>
		<servlet-name>simple</servlet-name>
		<servlet-class>org.sonatype.mavenbook.web.SimpleServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>simple</servlet-name>
		<url-pattern>/simple</url-pattern>
	</servlet-mapping>
</web-app>

 运行 mvn compile 以编译项目

编译失败了,因为你的 Maven 项目没有对 Servlet API 的依赖。

 

添加 Servlet 2.4 规格说明作为依赖

<project>
	[...]
	<dependencies>
	[...]
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-servlet_2.4_spec</artifactId>
			<version>1.1.1</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	[...]
</project>

 如果你对在这个简单 web 应用编写自定义 JSP 标签感兴趣,需要添加对 JSP 2.0 规格说明的依赖。

<project>
	[...]
	<dependencies>
	[...]
		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-jsp_2.0_spec</artifactId>
			<version>1.1</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	[...]
</project>

 

运行 mvn compile 以编译你的项目
运行 mvn clean install
运行 mvn jetty:run
访问:http://localhost:8080/simple-webapp/simple 

你可能感兴趣的:(apache,maven,Web,jsp,servlet)