<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    北風  
    日歷
    <2012年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345
    統計
    • 隨筆 - 1
    • 文章 - 0
    • 評論 - 0
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    •  

    最新評論

     

    使用Eclipse構建Maven的SpringMVC項目

     

            首先Eclipse需要安裝Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e。

            用MyEclipse安裝Maven插件,建出的Maven項目有些問題。一是,發布tomcat的時候resources總是不會被發布到tomcat下;二是,把WEB-INF下的classes改到target下的classes,但是不知道為什么MyEclipse要么仍然在WEB-INF下生成class。要么真不在WEB-INF生成classes了但是發布tomcat的時候,class文件一個都不會給你發布過去,超級郁悶。但是使用Eclipse構建Maven項目后,使用MyEclipse打開就沒問題了。

            用maven的好處:我感覺最主要就是自動下載jar包和它所依賴的包,這樣可以保證了多人開發時jar版本不同的問題。再就是文件結構清晰,java文件,資源文件,測試文件都分的很清楚。

            將介紹兩種方法:一,直接建立Maven項目方法;二、建立Dynamic Web project轉成Maven項目方法。

    一、直接建立Maven項目方法

    1、建立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模式就可以了。

     

     

    2、配置Maven項目

    接下來就需要更改好多配置了。

     

    2.1 添加Source文件夾

    接下來需要添加src/main/java,src/test/java ,src/test/resources三個文件夾。右鍵項目根目錄點擊New -> Source Folder,

    建出這三個文件夾。注意不是建普通的Folder,而是Source Folder。



     

     

    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,點擊進去后,如下圖:


     

     

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

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

    2,設置將Maven的jar包發布到lib下。

    Add -> Java Build Path Entries -> Maven Dependencies -> Finish

    設置完成效果圖


     

     

     

     

     

    3、向maven項目中添加jar包

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

     

    3.1 在pom.xml中添加所需要的jar包

    使用Maven POM editor打開項目中的pom.xml文件,選擇Dependencies,在Dependencies欄目點擊Add進行,首先彈出一個搜索按鈕,例如輸入spring-web,就會自動搜索關于spring-web相關的jar包,我們選擇3.0.5版本的spring。將spring包全部添加進來。需要添加的其他jar包有:junit、jstl。或者點擊pom.xml直接編輯pom.xml文件。這樣可以直接copy過來dependencies內容。




    3.2設置jar包的scope

     

    當添加進入一個jar包后,有一些屬性需要設置,最重要的就是scope,它有以下幾種取值:

    1.         compile,缺省值,適用于所有階段,會隨著項目一起發布。

    2.         provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。

    3.         runtime,只在運行時使用,如JDBC驅動,適用運行和測試階段。

    4.         test,只在測試時使用,用于編譯和運行測試代碼。不會隨項目發布。

    5.         system,類似provided,需要顯式提供包含依賴的jar,Maven不會在 Repository中查找它。

     

     

    通常SpringMVC項目所需要配置scope的jar包如下圖:


     

    有的時候發現servlet-api還是被打包到lib下面了,此時肯定會報錯。就需要把maven插件中的WTP也安裝一下。

    Eclipse在線安裝路徑:http://m2eclipse.sonatype.org/sites/m2e-extras。選擇for Eclipse WTP。


     

     

     

    4、構建SpringMVC框架

     

    4.1 編輯web.xml文件

     

    需要添加log4j,字符過濾,Spring 的dispatcher等。

    webx.xml代碼如下:

     

    Xml代碼  收藏代碼
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"   
    3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    4.          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    5.                              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
    6.          version="2.5" >  
    7.       
    8.     <!-- 區分項目名稱,防止默認重名 -->  
    9.     <context-param>  
    10.         <param-name>webAppRootKey</param-name>  
    11.         <param-value>maven.example.root</param-value>  
    12.     </context-param>  
    13.   
    14.     <!-- Spring的log4j監聽器 -->  
    15.     <listener>  
    16.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
    17.     </listener>  
    18.   
    19.     <!-- 字符集 過濾器  -->  
    20.     <filter>  
    21.         <filter-name>CharacterEncodingFilter</filter-name>  
    22.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    23.         <init-param>  
    24.             <param-name>encoding</param-name>  
    25.             <param-value>UTF-8</param-value>  
    26.         </init-param>  
    27.         <init-param>  
    28.             <param-name>forceEncoding</param-name>  
    29.             <param-value>true</param-value>  
    30.         </init-param>  
    31.     </filter>  
    32.     <filter-mapping>  
    33.         <filter-name>CharacterEncodingFilter</filter-name>  
    34.         <url-pattern>/*</url-pattern>  
    35.     </filter-mapping>  
    36.   
    37.     <!-- Spring view分發器 -->  
    38.     <servlet>  
    39.         <servlet-name>dispatcher</servlet-name>  
    40.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    41.         <init-param>  
    42.             <param-name>contextConfigLocation</param-name>  
    43.             <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>  
    44.         </init-param>  
    45.         <load-on-startup>1</load-on-startup>  
    46.     </servlet>  
    47.     <servlet-mapping>  
    48.         <servlet-name>dispatcher</servlet-name>  
    49.         <url-pattern>*.do</url-pattern>  
    50.     </servlet-mapping>  
    51.   
    52. </web-app>  
     

     

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

     

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

     

    Xml代碼  收藏代碼
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://www.springframework.org/schema/beans"   
    3.        xmlns:aop="http://www.springframework.org/schema/aop"   
    4.        xmlns:context="http://www.springframework.org/schema/context"  
    5.        xmlns:mvc="http://www.springframework.org/schema/mvc"   
    6.        xmlns:tx="http://www.springframework.org/schema/tx"   
    7.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    8.        xsi:schemaLocation="http://www.springframework.org/schema/aop   
    9.         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
    10.         http://www.springframework.org/schema/beans   
    11.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
    12.         http://www.springframework.org/schema/context   
    13.         http://www.springframework.org/schema/context/spring-context-3.0.xsd   
    14.         http://www.springframework.org/schema/mvc   
    15.         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
    16.         http://www.springframework.org/schema/tx   
    17.         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  
    18.   
    19.     <mvc:annotation-driven />  
    20.     <context:component-scan base-package="liming.maven.example" />  
    21.   
    22.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
    23.         <property name="prefix" value="/WEB-INF/views/" />  
    24.         <property name="suffix" value=".jsp" />  
    25.     </bean>  
    26.   
    27. </beans>  
     

     

     

     

    4.3 編寫一個Controller層測試類

     

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

     

    Java代碼  收藏代碼
    1. package liming.maven.example.view;  
    2.   
    3. import org.springframework.stereotype.Controller;  
    4. import org.springframework.ui.Model;  
    5. import org.springframework.web.bind.annotation.RequestMapping;  
    6.   
    7. @Controller  
    8. public class GeneralController {  
    9.   
    10.     @RequestMapping(value="index.do")  
    11.     public void index_jsp(Model model){  
    12.         model.addAttribute("liming", "黎明你好");  
    13.         System.out.println("index.jsp");  
    14.     }  
    15. }  
     

     

     

     

    4.4 編寫index.jsp頁面

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

    在views下建index.jsp文件

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

    Jsp頁面代碼如下:

     

    Html代碼  收藏代碼
    1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
    2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  
    3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    4. <html>  
    5.     <head>  
    6.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    7.         <title>Insert title here</title>  
    8.     </head>  
    9.       
    10.     <body>  
    11.         <c:out value="${liming}"></c:out>  
    12.     </body>  
    13. </html>  
     

     

     

     

    5,發布到tomcat

    這個就沒啥說的了。

    Eclipse下Tomcat常用設置:http://limingnihao.iteye.com/admin/blogs/825394

     

     

    6,測試

    訪問地址:http://localhost:8080/liming.maven.example/index.do

    訪問的結果來個截圖:


     

     

    二、建立Dynamic Web project轉成Maven項目方法

    7、第二種方法DynamicWeb項目轉成Mavan

    7.1 新建Dynamic Web Project

    依次選擇選擇File -> New -> Other。在New窗口中選擇Web下的Dynamic Web Project。點擊next。


     

    7.2 配置項目信息

    7.2.1 輸入項目信息

    首先輸入項目名稱。

    Target runtime 一般選擇使用什么容器,tomcat之類的。可以先不選。

    Dynamic web module version。就是版本號。選擇2.5(3.0是Java7的)。

    Configuration 是選擇容易的配置。如果Target runtime選擇了tomcat。這里對應也是選擇tomcat。

    Next。


    7.2.2 配置source和output的folder

    此窗口輸入需要建立的Source folders。和默認output folder。

    這個我們的Source folders等建立完項目后在添加。

    output folder可以順手改成target/classes。


     

    7.2.3 配置web.xml文件的路徑


     

     

    7.3 轉成maven項目

    Dynamic web項目建立完后,首先將其轉成maven項目。

    右鍵此項目,選擇maven -> Enable Dependency Management。彈出的窗口,直接finish就可以了。


     

    7.4 其他配置

    接下來的配置工作就和前面的基本一樣了。

    請參考上面。

    2.1添加Source文件夾

    2.2更改class路徑。

    2.3.3 配置 Modify Faceted Project

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

     

    接著就是構建SpringMVC框架,發布到tomcat,測試。

    posted on 2012-04-15 09:57 xujj 閱讀(266) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    Copyright © xujj Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 免费人成在线观看网站品爱网| 国产亚洲精品免费| 国产zzjjzzjj视频全免费| 国产jizzjizz视频免费看| 久久综合久久综合亚洲| 特级毛片aaaa免费观看| 中文字幕在线观看免费视频| 成人一a毛片免费视频| 免费永久看黄在线观看app| 亚洲AV第一成肉网| 久久免费美女视频| 免费毛片在线播放| 亚洲色大成网站WWW久久九九| 成人免费视频一区| 亚洲精品午夜国产VA久久成人| 免费观看美女裸体网站| 亚洲欧美第一成人网站7777 | 91精品视频免费| 成人毛片免费网站| 国产亚洲精品美女久久久久 | 免费看h片的网站| 亚洲欧洲∨国产一区二区三区| 中文字幕亚洲男人的天堂网络| 亚洲国产精品久久久久网站 | 亚洲精品午夜在线观看| 国产亚洲福利一区二区免费看| 免费国产黄网站在线观看视频| 亚洲 小说区 图片区 都市| 亚洲精品韩国美女在线| 成人毛片免费在线观看| 成在线人免费无码高潮喷水| 精品国产一区二区三区免费看| 亚洲AV成人无码久久精品老人| 日韩高清免费在线观看| 国产成人亚洲综合无码精品| 一级毛片无遮挡免费全部| 久久精品无码一区二区三区免费| 免费精品国产自产拍在线观看图片 | 国产亚洲精AA在线观看SEE| 国产精品免费大片| 日本高清免费aaaaa大片视频|