`
lijingzhi
  • 浏览: 43602 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

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 

分享到:
评论

相关推荐

    maven学习笔记1--myeclipse10中的配置

    【标题】"maven学习笔记1--myeclipse10中的配置" 在IT行业中,Maven和MyEclipse是两个非常重要的工具,它们在软件开发过程中扮演着关键角色。Maven是一个项目管理工具,主要用于Java项目的构建、依赖管理和项目信息...

    SPBT 源码学习笔记 - spbt-0707-test-java-web

    【标题】"SPBT 源码学习笔记 - spbt-0707-test-java-web" 指的是一份关于SPBT(可能是某个特定软件或框架的缩写)源码的学习资料,专注于测试和Java Web开发部分。这份笔记可能详细解析了SPBT在Java Web环境中的工作...

    Maven学习笔记

    在Web项目中,通常会使用maven-war-plugin插件来打包Web应用,生成WAR文件。 Maven的安装和配置是使用Maven进行项目管理的第一步。下载Maven的压缩包,并解压到本地目录中。然后需要将Maven的bin目录添加到环境变量...

    maven-聚合项目-springMVC

    在"maven学习笔记"中,我们可以深入学习如何配置POM.xml文件,理解Maven的生命周期和构建过程。 **Spring MVC**是Spring框架的一个模块,专门用于处理Web应用的请求-响应模型。它采用模型-视图-控制器(MVC)设计...

    maven聚合web工程--struts2+spring

    在描述中提到的"学习maven笔记"部分,我们可以理解这是一个关于Maven学习的过程记录,可能涵盖了Maven的基本概念、配置、生命周期以及如何使用它来构建和管理项目。"尚不能实现自动发布"暗示了作者可能还没有掌握...

    201205_Maven学习笔记2.rar

    【标题】"201205_Maven学习笔记2.rar" 涉及到的是 Maven,这是一个在软件开发中广泛使用的项目管理和综合工具。Maven 提供了一种标准化的方式来构建、文档化以及管理Java项目,它通过一个项目对象模型(Project ...

    201205_Maven学习笔记1.rar

    【标题】:“201205_Maven学习笔记1.rar”揭示了关于Maven的深入学习内容,这个压缩包包含了一系列文档,旨在帮助开发者更好地理解和应用Maven这一强大的Java项目管理和构建工具。 【描述】:尽管描述部分是空的,...

    maven学习笔记

    3. `src/main/webapp`(对于Web项目):如果项目是一个Web应用,此目录用于存放HTML、CSS、JavaScript以及Servlet等Web资源。 4. `src/test/java`:这里存放的是项目的测试代码,通常使用JUnit、TestNG等测试框架...

    maven学习资源整理

    - **Jetty**:Jetty是一个轻量级的Java Web服务器和Servlet容器,可以与Maven紧密集成,用于快速部署和测试Web应用程序。通过Maven插件,你可以轻松地启动和停止Jetty服务器,实现项目的热部署。 - **Eclipse**:...

    maven私服nexus-2.11.4-01.rar

    然而,随着项目的发展,依赖库的数量会不断增多,这时,本地Maven仓库可能无法满足需求,这时就需要搭建一个私有的Maven仓库,即Maven私服。Nexus作为一款广泛应用的Maven私服,可以有效地解决这个问题。本文将详细...

    Maven开发者笔记

    常见的Maven插件有Surefire Plugin用于运行单元测试,Failsafe Plugin负责集成测试,JAR Plugin用于打包Java应用,WAR Plugin则适用于Web应用的构建。书中会涵盖如何配置和使用这些插件,以满足不同项目需求。 除此...

    Maven 构建SpringMVC项目学习笔记

    本文主要介绍了如何使用Maven构建一个SpringMVC项目,并涵盖了构建过程、配置步骤和SpringMVC的核心配置。以下是对各个部分的详细解释: 1. **Maven与SpringMVC背景介绍** Maven是一个强大的项目管理工具,它能够...

    webservice学习笔记 -- XFrie

    【Web Service学习笔记——XFrie框架详解】 Web Service是一种通过网络进行通信的服务,它允许不同的应用程序之间进行数据交换,跨越了操作系统和编程语言的障碍。XFrie是一个轻量级、高性能的Java Web Service框架...

    Web Service学习笔记

    在压缩包中的"案例"文件可能包含了一个简单的Web服务实现,例如一个天气预报服务。开发者可能首先定义了一个WSDL文件来描述服务接口,然后使用JAX-WS或Spring Web Services生成服务端代码,并实现具体的业务逻辑。...

    Maven3实战笔记(全)

    6. **构建Web应用程序**:对于Web项目,Maven提供了war插件来打包Web应用为WAR文件,适用于部署到Servlet容器如Tomcat。同时,可以通过`&lt;war&gt;&lt;webResources&gt;`配置资源复制和过滤。 7. **多模块项目**:Maven支持多...

    Maven指南阅读笔记

    例如,如果某个依赖需要一个需要许可的Sun API,而中央Maven仓库中存在一个免费的替代品,如Geronimo's JTA实现,我们可以使用`exclusions`来替换传递性依赖。 `dependencyManagement`元素是另一个重要的工具,它...

Global site tag (gtag.js) - Google Analytics