一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Eclipse 使用Maven構建SpringMVC項目

Eclipse 使用Maven構建SpringMVC項目

2020-05-15 10:49limingnihao JAVA教程

本文主要介紹在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。點擊next。

Eclipse 使用Maven構建SpringMVC項目

1.2 選擇項目路徑

Use default Workspace location默認工作空間。

Eclipse 使用Maven構建SpringMVC項目

1.3 選擇項目類型

在Artifact Id中選擇maven-archetype-webapp

Eclipse 使用Maven構建SpringMVC項目

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

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

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

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

Eclipse 使用Maven構建SpringMVC項目

1.5 剛建立好后的文件結構如下圖

Eclipse 使用Maven構建SpringMVC項目

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

2、配置Maven項目

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

2.1 添加Source文件夾

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

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

Eclipse 使用Maven構建SpringMVC項目

Eclipse 使用Maven構建SpringMVC項目

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版本。

Eclipse 使用Maven構建SpringMVC項目

2.3 把項目變成Dynamic Web項目

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

Eclipse 使用Maven構建SpringMVC項目

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。

Eclipse 使用Maven構建SpringMVC項目

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

Eclipse 使用Maven構建SpringMVC項目

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

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

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

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

設置完成效果圖

Eclipse 使用Maven構建SpringMVC項目

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?;蛘唿c擊pom.xml直接編輯pom.xml文件。這樣可以直接copy過來dependencies內容。

Eclipse 使用Maven構建SpringMVC項目

3.2設置jar包的scope

Eclipse 使用Maven構建SpringMVC項目

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

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

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

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

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

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

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

Eclipse 使用Maven構建SpringMVC項目

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

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

Eclipse 使用Maven構建SpringMVC項目

4、構建SpringMVC框架

4.1 編輯web.xml文件

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

webx.xml代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?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代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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="liming.maven.example" />
 
 <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層測試類。此類只有一個方法做地址映射,并向頁面傳遞一個數據。代碼如下:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package liming.maven.example.view;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class GeneralController {
 
 @RequestMapping(value="index.do")
 public void index_jsp(Model model){
 model.addAttribute("liming", "黎明你好");
 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頁面代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ 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="${liming}"></c:out>
 </body>
</html>

5. 發布到tomcat

這個就沒啥說的了。

 

6. 測試

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

訪問的結果來個截圖:

Eclipse 使用Maven構建SpringMVC項目

二、建立Dynamic Web project轉成Maven項目方法
7、第二種方法DynamicWeb項目轉成Mavan

7.1 新建Dynamic Web Project

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

Eclipse 使用Maven構建SpringMVC項目

7.2 配置項目信息
7.2.1 輸入項目信息

首先輸入項目名稱。

Target runtime 一般選擇使用什么容器,tomcat之類的??梢韵炔贿x。

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

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

Next。

Eclipse 使用Maven構建SpringMVC項目

7.2.2 配置source和output的folder

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

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

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

Eclipse 使用Maven構建SpringMVC項目

7.2.3 配置web.xml文件的路徑

Eclipse 使用Maven構建SpringMVC項目

7.3 轉成maven項目

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

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

Eclipse 使用Maven構建SpringMVC項目

7.4 其他配置

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

請參考上面。

2.1 添加Source文件夾

2.2 更改class路徑。

2.3.3 配置 Modify Faceted Project

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

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

附件下載:

liming.maven.example.zip

liming.dynamic.example.zip

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女扒开腿让男人桶爽免费gif | 日韩精品中文字幕久久 | xxx黑人又大粗又长 xxxx性欧美极品另类 | 国产亚洲精品九九久在线观看 | 天天射天天舔 | 久青草国产在视频在线观看 | 久久久久久免费观看 | 美女逼逼喷水 | 女人用粗大自熨喷水在线视频 | 嫩模被黑人粗大挺进 | 国产人成77777视频网站 | 国产巨大bbbb俄罗斯 | 欧美2区 | 日韩精品一区二区 | 91久久国产露脸精品 | 国产第一页在线视频 | 草草在线影院 | 亚洲成av人在线视 | 爱情岛论坛亚洲品质自拍视频 | 亚洲天堂网2018 | 国产欧美另类 | 欧美yyy| 日韩一级片在线免费观看 | 久久亚洲精品成人 | 亚洲国产精品免费在线观看 | 国产精品久久久久久久久ktv | 欧美男女交配 | 奇米影视77777 | 久久水蜜桃亚洲AV无码精品偷窥 | ai换脸杨幂被c在线观看 | 国产精品每日在线观看男人的天堂 | 亚洲精品国产在线 | 亚洲欧美日韩久久一区 | 奇米9999| 亚洲男gay同性同志 亚洲免费在线看 | 18hdxxxx日本护士 | 精选国产AV精选一区二区三区 | 思思91精品国产综合在线 | 成人精品第一区二区三区 | 99av导航| 精精国产www视频在线观看免费 |