1、首先下载Maven,配置Maven环境变量。修改Eclipse的内嵌Maven如下所示:
2、创建Maven Web项目
点击Next后,会出现如下页面:
继续Next,出现如下页面
点击Finish,生成结构目录如图所示
如果这里显示的内容多,一般是Filters设置的问题。或者perspective或JavaEE模式,改成Java模式就可以了。
接下来就需要更改好多配置了。
(1)添加src/main/java,src/test/java ,src/test/resources三个文件夹。右键项目根目录点击New -> Source Folder,建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
如果eclipse提示,已存在source的错误。右键属性--->Java Build Path--->Source,可以看到如下页面:
将带有红叉的删掉。
(2)更改class路径
右键项目,Java Build Path -> Source。下面应该有4个文件夹。src/main/java,src/main/resources,src/test/java ,src/test/resources。双击每个文件夹的Output folder,选择路径。
src/main/java,src/main/resources,选择target/classes;
src/test/java ,src/test/resources, 选择target/test-classes;
最终项目结构图如下所示:
3、创建一个简单Servlet实例
(1)首先在pom.xml中添加servlet-api的依赖
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5-6.0.1</version>
</dependency>
(2)创建Servlet实例
package org.zsm.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class HelloWorld extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setAttribute("msg", "欢迎学习Maven");
req.getRequestDispatcher("hello.jsp").forward(req, resp);
}
}
(3)在src\main\webapp下,创建hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello,${msg }
</body>
</html>
3、使用jetty-plugin运行Maven Web项目。在pom.xml中添加jetty-plugin
<plugins>
<!-- jetty插件 -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<!-- 设置扫描时间 -->
<scanIntervalSeconds>10</scanIntervalSeconds>
<!-- 设置端口 -->
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>9090</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
运行jetty:run,测试