eclipse使用maven快速构建一个javaweb工程

1. eclipse导入一个maven工程

1.1 创建工程根目录 demo, 建立文件  demo/pom.xml,在 pom.xml 中增加如下内容

<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/xsd/maven-4.0.0.xsd">
 
    <modelVersion>4.0.0</modelVersion>
    <groupId>kuangcaibao</groupId>
    <artifactId>demo</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    
</project>

到这里其实我们就建立了一个空的maven项目。

packaging 标签中的内容为 war,作用当maven执行 package 操作的时候,打包成 war 格式。

1.2 将这个项目导入到 eclipse 中

File -> Import, 选择导入的工程类型为 Existing Maven Projects, 选择到我们的根目录,如下图

eclipse使用maven快速构建一个javaweb工程

确定后工程导入成功。

1.3 编译项目

右键 demo 工程,执行 Run As -> maven install

这时会提示错误,因为打包 war 的时候,没有检查到 web.xml 文件的存在。同时自动在工程根目录下生成一些文件,如下图:

eclipse使用maven快速构建一个javaweb工程

这里我们需要在 src/main/webapp/  下增加  WEB-INF/web.xml 文件。再次编译项目,成功。

2. 将空的Maven项目改造成一个JavaWeb项目

在上面,已经加入了 web.xml 文件,现在我们需要在我们的工程中实现一个 servlet 类,提供服务。

eclipse使用maven快速构建一个javaweb工程

可以看到有错误,这是因为没有引入 javax.servlet 类,我们在 pom.xml 中配置我们的依赖关系。增加如下内容:

<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/xsd/maven-4.0.0.xsd">
 
    ...
     <dependencies>
     	<dependency>
     		<groupId>javax.servlet</groupId>
     		<artifactId>javax.servlet-api</artifactId>
     		<version>3.1.0</version>
     		<scope>provided</scope>
     	</dependency>
     </dependencies>
</project>

重新编译,错误消除。这时我们再实现 servlet 的服务,在 web.xml 路由控制中指定我们的路由。代码如下

// Hello.java

package kuangcaibao;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Hello
 */
public class Hello extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public Hello() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
	    PrintWriter out = response.getWriter();
	    out.println("Hello world!");
	    out.close();
	}

}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>kuangcaibao.Hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hw</url-pattern>
  </servlet-mapping>
</web-app>

3. 将工程放到Tomcat中运行

3.1 在eclipse中创建一个 Tomcat

3.2 运行工程

你可能感兴趣的:(eclipse,maven,javaweb)