本文通过一个例子来介绍利用maven来构建一个web项目。开发工具:intellij idea。
一、新建maven项目
此处选择:Create from archetype。表示从已有的maven模版中创建项目,本次选择maven-archetype-webapp模版,选择该模版后,生成的项目会自带webapp所需要的文件。比较方便。当然也可以不选择这个选项,直接创建maven空白项目,后续手动添加web需要的文件。
填写本项目的maven坐标
二、配置maven项目结构
最终生成maven项目
上面的项目只包含了web-app所需要的目录结构和基本的maven项目元素:pom。标准的maven项目结构如下:
完善后的项目目录:
三、添加一个Servlet
这个Servlet功能非常简单:输出一句话。
package com.VEVb.kmpp;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PRintWriter;public class WebAppServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println( "WebAppServlet Executed" ); out.flush(); out.close(); }}
上面的Servlet有对J2EE的依赖,需要在pom中增加对j2ee的依赖。
<dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_3.0_spec</artifactId> <version>1.0</version></dependency>
配置servlet
<!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>WebApp</servlet-name> <servlet-class>com.VEVb.kmpp.WebAppServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>WebApp</servlet-name> <url-pattern>/simple-servlet</url-pattern> </servlet-mapping></web-app>
四、运行web app
web项目的运行可以通过tomcat来实现,但是既然已经使用了maven可以通过一个maven插件来实现这个功能:jetty(Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如jsp和servlet提供运行环境)。
运行jetty:将命令行定位到当前项目的目录下面,输入如下命令:
得如下结果:
这个时候jetty已经启动。
在浏览器中输入:http://localhost:8080/web-app/。
这个界面就是web-app默认的index.jsp页面。
上面显示的是默认输出,上面已经定义了一个简单的servlet且配置到了web.xml中。这个时候也可以运行。在浏览器中输入:http://localhost:8080/web-app/simple-servlet
上面页面的输出就是之前在WebAppServlet中所实现的功能。
至此,一个maven web项目已经建立完毕,且运行成功。
新闻热点
疑难解答