eclipse里面使用Maven搭建web工程


一、建立Maven項目

使用Eclipse的maven構建一個web項目,以構建SpringMVC項目為例:

1.1 選擇建立Maven Project

選擇File -> New -> Other,在New窗口中選擇 Maven -> Maven Project。點擊newxt

1.2 選擇項目路徑

Use default Workspace location默認工作空間。

1.3 選擇項目類型

在Artifact Id中選擇maven-archetype-webapp

1.4 輸入Group ID和 Artifact ID,以及Package

Group ID一般寫大項目名稱。Artifact ID是子項目名稱。

例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。

Package是默認給你建一個包,不寫也可以。

1.5 配置之后的圖

如果這里顯示的內容多,一般是Filters設置的問題。或perspective為JavaEE模式,改成Java模式就可以了。

二、配置maven項目

2.1 添加文件夾

2.1.1 在src的main目錄下面添加java目錄

2.1.2 在src下面添加test目錄,並且在test目錄下面添加java和resources目錄

2.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;

選上Allow output folders for source folders.

在此處還要更改:

更改文件夾顯示的順序:點擊Order and Export。

更改JDK版本:在Libraries雙擊JRE System Library,要1.6版本。

2.3 把項目變成Dynamic Web項目

2.3.1 右鍵項目,選擇Project Facets,點擊Convert to faceted from

2.3.2 配置Project Facets

更改Dynamic Web Module的Version為2.5。(3.0為Java7的)。

如果提示錯誤,可能需要在Java Compiler設置Compiler compliance level 為1.6。或者需要在此窗口的Java的Version改成1.6。

2.3.3 配置 Modify Faceted Project
點擊Further configuration available…,彈出Modify Faceted Project窗口。此處是設置web.xml文件的路徑,我們輸入src/main/webapp。Generate web.xml deployment descriptor自動生成web.xml文件,可選可不選。

2.4 設置部署程序集(Web Deployment Assembly)

上面步驟設置完成后,點擊OK,Properties窗口會關閉,在右鍵項目打開此窗口。在左側列表中會出現一個Deployment Assembly,點擊進去后,如下圖:

此處列表是,部署項目時,文件發布的路徑。

我們刪除test的兩項,因為test是測試使用,並不需要部署。

三、向maven項目中添加jar包

maven可以管理項目依賴的jar包,通過groupID、artifactId以及版本號可以唯一確定一個jar包。這樣可以防止老式Web項目中WEB-INF/lib下jar包不一致的問題。並且maven還會自動下載添加進的jar包所依賴的jar包。

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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>liming.maven.example</groupId>
    <artifactId>maven-example</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>maven-example Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-asm</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.0.3.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>maven-example</finalName>
    </build>
</project>

四、構建SpringMVC框架

4.1 編輯web.xml文件

需要添加log4j,字符過濾,Spring 的dispatcher等。webx.xml代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         version="2.5" >
    
    <!-- 區分項目名稱,防止默認重名 -->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>maven.example.root</param-value>
    </context-param>

    <!-- Spring的log4j監聽器 -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <!-- 字符集 過濾器  -->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Spring view分發器 -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>

4.2 編寫Spring配置文件dispatcher-servlet.xml

如要添加MVC驅動、注解檢測、視圖解析等。dispatcher-servlet.xml代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:aop="http://www.springframework.org/schema/aop" 
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc" 
       xmlns:tx="http://www.springframework.org/schema/tx" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <mvc:annotation-driven />
    <context:component-scan base-package="com.qunar.check" />

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

4.3 編寫一個Controller層測試類

編寫一個SpringMVC的Controller層測試類。此類只有一個方法做地址映射,並向頁面傳遞一個數據。代碼如下:

package Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {

    @RequestMapping(value = "index.do")
    public void index_jsp(Model model) {
        model.addAttribute("name", "李秋你好");
        System.out.println("index.jsp");
    }
}

4.4 編寫index.jsp頁面

首先在src/main/webapp/WEB-INF下建文件夾views。此處和dispatcher-servlet.xml配置文件中的prefix屬性路徑要一樣。

在views下建index.jsp文件

我們使用jstl獲取Controlleradd的數據。

Jsp頁面代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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>
        <c:out value="${name}"></c:out>
    </body>
</html>

五、測試

運行代碼

 

下載地址:http://files.cnblogs.com/files/liqiu/check_result.tar.gz


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM