`
schy_hqh
  • 浏览: 543083 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(九)maven发布WEB项目

 
阅读更多

1.编写POM

<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">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.hqh.maven.user</groupId>
	<artifactId>user-web</artifactId>
	<!-- war包 -->
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>

	<name>user-web Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<dependencies>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
		<!-- Servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.4</version>
			<scope>provided</scope>
		</dependency>
		<!-- JSP -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2</version>
			<scope>provided</scope>
		</dependency>

	</dependencies>

	<build>
		<finalName>user-web</finalName>
		<plugins>
			<!-- war包的插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<!-- 配置war包的名称 -->
					<warName>hello</warName>
				</configuration>
			</plugin>
			<!-- jetty插件 -->
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
				<version>6.1.10</version>
				<configuration>
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<stopKey>foo</stopKey>
					<stopPort>9999</stopPort>
				</configuration>
				<executions>
					<execution>
						<id>start-jetty</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<scanIntervalSeconds>0</scanIntervalSeconds>
							<daemon>true</daemon>
						</configuration>
					</execution>
					<execution>
						<id>stop-jetty</id>
						<phase>post-integration-test</phase>
						<goals>
							<goal>stop</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>




2.创建maven的web项目
新建maven项目,选择arctype:maven-archetype-webapp
新建src/main/java源文件目录(Source Folder)
编写一个Servlet【eclipse中不能自动创建Servlet,为什么呢?】
package com.hqh.maven.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setAttribute("attr", "success!");
		req.getRequestDispatcher("/hello.jsp").forward(req, resp);
	}

}



3.编写jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!--需要解析EL表达式-->
<%@ page isELIgnored="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>First Maven Web Project</title>
</head>
<body>
	<h1>hello:${attr}</h1>
</body>
</html>




4.配置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>

  <servlet>
  	<servlet-name>HelloWorldServlet</servlet-name>
  	<servlet-class>com.hqh.maven.servlet.HelloWorldServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>HelloWorldServlet</servlet-name>
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>

  <display-name>Archetype Created Web Application</display-name>
</web-app>


5.打包,启动jetty服务,访问服务
pom.xml右键执行插件 build:clean package
cmd切换至当前项目的pom.xml目录下:mvn jetty:run
http://localhost:8080/user-web/hello
到此,最简单的maven+jetty部署一个web项目结束!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics