目录结构优先。。。。。。
|--pom.xml
|--src
|--main
|--java
|--com
|--mydomain
|--TestServlet.java
|--resources
|--webapp
|--index.jsp
|--WEB-INF
|--web.xml
在这个测试项目里面,文件非常少,把单元测试文件夹暂时省了,有需要可以根据我其它几个EJB实例里讲到的,添加进去,简单点有利于初学的人去大概了解一下maven,高手就别在这转了,不适合你,呵呵。
其实我没写什么代码,就一个文件名为TestServlet.java的Servlet,其它的都是文件夹,index.jsp也写上Hello World几个字,有需要可以自己加!再加上在web.xml里配置了几行,就这样,其实就是方便大家了解Maven,至于稍深一点的,往后会写,再稍深一点的,我不会,谢谢合作!
好了,下面就把TestServlet.java文件代码贴出来看看
package com.mydomain;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//extend HttpServlet这个类,就是一个Servlet了
public class TestServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException
{
//通常学习的话doGet跟doPost就用下面这种方式将它们合并起来玩就行了
doPost(httpServletRequest, httpServletResponse);
}
@Override
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException
{
//下面这些代码输出一些非常基本的信息,大家可以忽略它
String contextPath = httpServletRequest.getContextPath();
String authType = httpServletRequest.getAuthType();
String charactorEncoding = httpServletRequest.getCharacterEncoding();
String contentType = httpServletRequest.getContentType();
String method = httpServletRequest.getMethod();
String pathInfo = httpServletRequest.getPathInfo();
String pathTranslated = httpServletRequest.getPathTranslated();
String protocol = httpServletRequest.getProtocol();
String queryString = httpServletRequest.getQueryString();
String remoteAddress = httpServletRequest.getRemoteAddr();
String remoteHost = httpServletRequest.getRemoteHost();
String remoteUser = httpServletRequest.getRemoteUser();
String requestURI = httpServletRequest.getRequestURI();
String requestedSessionId = httpServletRequest.getRequestedSessionId();
String scheme = httpServletRequest.getScheme();
String serverName = httpServletRequest.getServerName();
String servletPath = httpServletRequest.getServletPath();
//将信息输出到页面上
PrintWriter printWriter = httpServletResponse.getWriter();
printWriter.println("contextPath = " + contextPath);
printWriter.print("<br />");
printWriter.println("authType = " + authType);
printWriter.print("<br />");
printWriter.println("charactorEncoding = " + charactorEncoding);
printWriter.print("<br />");
printWriter.println("contentType = " + contentType);
printWriter.print("<br />");
printWriter.println("method = " + method);
printWriter.print("<br />");
printWriter.println("pathInfo = " + pathInfo);
printWriter.print("<br />");
printWriter.println("pathTranslated = " + pathTranslated);
printWriter.print("<br />");
printWriter.println("protocol = " + protocol);
printWriter.print("<br />");
printWriter.println("queryString = " + queryString);
printWriter.print("<br />");
printWriter.println("remoteAddress = " + remoteAddress);
printWriter.print("<br />");
printWriter.println("remoteHost = " + remoteHost);
printWriter.print("<br />");
printWriter.println("remoteUser = "+ remoteUser);
printWriter.print("<br />");
printWriter.println("requestURI = " + requestURI);
printWriter.print("<br />");
printWriter.println("requestedSessionId = " + requestedSessionId);
printWriter.print("<br />");
printWriter.println("scheme = " + scheme);
printWriter.print("<br />");
printWriter.println("serverName = " + serverName);
printWriter.print("<br />");
printWriter.println("servletPath = " + servletPath);
}
}
下面则是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,下面两段都是必不可少的,复制下来修改一下就OK了-->
<servlet>
<servlet-name>Test Servlet</servlet-name>
<servlet-class>com.mydomain.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test Servlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
</web-app>
当然,Maven项目少不了pom文件,也贴出来吧,给大家剪剪
<?xml version="1.0" encoding="UTF-8"?>
<!--下面这段直接复制就OK了,如果想了解为啥这样写,可以去查查xml schema-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--pom文件的版本号,通常不用改,以后要改是以后的事-->
<modelVersion>4.0.0</modelVersion>
<!--你的组织的名称,大多是放域名倒序,为什么是倒序?这得要去了解Maven的repository概念罗-->
<groupId>com.mydomain</groupId>
<!--项目名称-->
<artifactId>wartest</artifactId>
<!--将要打包的形式,这里为war,web archive-->
<packaging>war</packaging>
<!--下面是当前项目的版本-->
<version>1.0-SNAPSHOT</version>
<name>Maven Webapp Test</name>
<url>http://maven.apache.org</url>
<dependencies>
<!--新建maven项目都会有下面这个defendant,太可不必删它,可以提醒你要写单元测试哦-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--就加下面这个defendant就OK了-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
<build>
<!--下面一句可不写的,不过写上的话,最后生成的war名称就是wartest.war-->
<finalName>wartest</finalName>
<!--Maven就是通下面这种插件的形式去不断扩展它自身的功能的,非常强哦,当然使用起来会a little pain-->
<plugins>
<!--插件1-->
<plugin>
<!--插件名称-->
<artifactId>maven-compiler-plugin</artifactId>
<!--插件版本-->
<version>2.0.2</version>
<!--插件设置,通常也是参数-->
<configuration>
<!--下面两段意思是生成代码支持JDK1.5到1.5,就是1.5嘛,当然你也可以根据实际需要修改的-->
<source>1.5</source>
<target>1.5</target>
<!--编译编码,大家支持UTF-8吧,前段时间我搞编码搞怕了-->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--插件2-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
好了,写完了,下面进到项目根目录,运行一下
mvn install
就可以在根目录的target得到一个wartest.war了,把它放到Tomcat里面,或者Jboss里面,或者任何其它Web container都可以的,怎么样mvn 还算容易吧
分享到:
相关推荐
本教程"maven学习.zip"主要关注的是Maven插件的使用,下面将详细介绍Maven插件及其在实际开发中的应用。 **1. Maven插件的概念** Maven插件是Maven生态系统的核心组成部分,它们提供了各种功能,如编译源代码、打包...
** Maven学习资源整理** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。本资源包是为初学者和有经验的开发者准备的一系列Maven学习资料,旨在帮助你更好地理解和...
【 Maven学习极品:初学者的完美指南】 Maven,一个由Apache软件基金会开发的项目管理工具,是Java世界中不可或缺的一部分。它简化了构建过程,通过自动管理项目的依赖关系,使得开发者可以专注于编写代码,而不是...
【Maven学习指南】 Maven是一个强大的项目管理工具,源于Apache组织,专为基于Java平台的项目构建、依赖管理和项目信息管理而设计。它通过一个明确的项目对象模型(POM)来描述项目,利用其内置的项目生命周期和...
**Maven学习笔记** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过使用一个项目对象模型(Project Object Model,POM),XML格式的配置文件,定义了...
maven学习笔记maven学习笔记maven学习笔记
### Maven 学习文档知识点详解 #### 一、Maven简介 Maven 是一款非常流行的 Java 项目的构建管理和依赖管理工具。它可以帮助开发者自动化构建过程,简化项目管理和部署流程。通过使用 Maven,开发者可以轻松地管理...
Maven常用命令 Maven Maven学习
### Maven学习文档知识点详解 #### 一、Maven概述与安装目录介绍 Maven是一款流行的自动化构建工具,广泛应用于Java项目的构建过程中。它通过一种项目对象模型(Project Object Model,简称POM)来管理项目的构建...
maven学习文档,包含常见错误和docker的集成,包含多模块开发,不同的profile的开发,和一些插件基础属性说明
**Maven学习书籍** 《Maven实战》是一本专门针对Maven这一强大的Java项目管理和构建工具的书籍。作为国内首部Maven领域的专著,它深入浅出地讲解了Maven的核心概念、工作原理以及实际应用,是Java开发者进阶必备的...
**Maven学习手册** 在软件开发领域,Maven是一个强大的构建工具,主要用于Java项目管理。它简化了构建过程,依赖管理和项目的标准化。本手册旨在帮助开发者深入理解和有效地使用Maven,结合作者的实际项目经验,...
【Maven学习的基础资料】 Maven是一个强大的项目管理和综合工具,主要面向Java开发人员。它通过提供一个标准的项目生命周期框架,大大简化了项目的构建、文档生成、依赖管理、源码分布等任务。Maven的核心理念是...
maven学习资料
本资源“Maven学习必要插件”提供了一套预配置好的Maven环境,以便开发者可以快速投入到Maven的使用中。在本文中,我们将深入探讨Maven的核心功能、常用插件以及如何配置和使用这些插件。 1. **Maven核心功能** ...
通过本教程,读者将逐步学习到如何设置Maven环境、如何编写和理解POM文件、如何利用Maven的生命周期进行项目的构建和管理。以上内容不仅会为初学者提供Maven入门的全面指导,还会通过实际例子帮助开发者深入理解并...
**Maven 学习概要** Maven 是一个强大的项目管理工具,主要用于构建、管理和部署 Java 项目。它通过提供一套标准的项目对象模型(Project Object Model,POM)和生命周期概念,使得开发者能够轻松地处理项目的构建...
该资料主要讲maven的基础用法,安装和使用等。还有maven常常被使用到的一些命令和用法。注意事项等。
里面包含:两本maven电子书(《Maven权威指南中文版》和《Maven实战》)和两个文档(《在maven和jetty环境下eclipse的调试》、《基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建》),内容皆精品。