用Eclipse建spring mvc項目(圖解)

來源:互聯網
上載者:User

最近工作需要快速瞭解spring mvc架構,於是在網上找了很多相關教程。說真的,百度出來的基本都一樣,但是我卻遇到各種奇奇怪怪的問題。當然,做完之後回頭看,發現那些問題都不是問題,哈哈哈哈~主要還是不懂java這些東西,遇到問題的時候就會覺得很難,各種查,但是百度的結果又是讓人很無奈,不同的網址,相同的內容。

我參考了一個部落格來建項目,網址是:http://limingnihao.iteye.com/blog/830409。按照這個部落格的流程建立了項目,但是由於實際情況的不同,中間還是有一些不一樣的。

下面我把我用到的相關軟體版本列一下,雖然我不知道這些有什麼關係,但是,還是列一下吧,哈哈哈~~


因為不知道列哪些,所以就把這些都截了個圖,只知道要用jdk,maven,tomcat,和java編譯器(如eclipse)

現在開始建項目

1、建立一個maven項目

 

圖1


圖2


圖3(第一個複選框一定要框,反正我這裡不選就是錯~)



圖4(Packaging選擇war。反正我之前選jar就有問題了)




圖5(紅框中顯示的不是我想要的,需要修改,右擊它,選擇“Build Path” ==>“ConfigureBuild Path”)


圖6


圖7(不知道為什麼選這個,只是之前看同事選了這個。)


圖8



圖9


到這一步,已經算是建好了一個mave項目。我們現在來配置一些東西。

2、配置pom.xml(可以直接添加到pom.xml裡面,配置一些七七八八的東西。junit、jstl、 spring包)

<dependencies>  <!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12-beta-3</version><scope>test</scope></dependency><!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>  <!-- spring 的基本依賴 開始 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.2.RELEASE</version></dependency><!-- spring 的基本依賴 結束 -->  </dependencies>

3、在webapp下添加一個檔案夾“WEB-INF”,在檔案夾下添加一個檔案“web.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>dispatcher0121</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>          <init-param>              <param-name>contextConfigLocation</param-name>              <param-value>/WEB-INF/dispatcher0121-servlet.xml</param-value>          </init-param>          <load-on-startup>1</load-on-startup>      </servlet>      <servlet-mapping>          <servlet-name>dispatcher0121</servlet-name>          <url-pattern>*.do</url-pattern>      </servlet-mapping>  </web-app>
web.xml檔案裡有幾個值得注意的地方,上面標紅的“dispatcher0121”可以修改為你想要的字串,但是這個三個地方一定要一樣。[servlet-name]+“-servlet.xml”這個是spring設定檔的檔案名稱的命名規則。

4、在“webapp/WEB-INF/”下再添加一個檔案“dispatcher0121-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="example0121" />        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">          <property name="prefix" value="/WEB-INF/views/" />          <property name="suffix" value=".jsp" />      </bean>    </beans>  

dispatcher0121-servlet.xml檔案中也有要注意的地方,"example0121"這個是接下來會用的包,名字可以隨意,但是不能全部是數字。我不想說,我就是偷懶用數字,導致之前建的項目一直有問題。

圖10

5、建立一個Controller層測試類別(這個是什麼東西,我也不知道。只知道怎麼操作)



圖11

按照這個操作,可以添加包也可以添加類,先添加類,要是發現在包那裡沒有寫“example0121”,那就取消,然後添加一個包,包的名字是“example0121”。然後再建立一個叫“GeneralController”的類。

圖12

然後將代碼寫好,像下面一樣

package example0121;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("str0121", "Hellow world");          System.out.println("index.jsp");      }  }  

6、編寫jsp頁面。在“webapp/WEB-INF/”下添加一個檔案夾“views”,再添加一個檔案“index.jsp”。這個路徑是在“dispatcher0121-servlet.xml”裡面定下來的。

<%@ 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="${str0121}"></c:out>      </body>  </html>  
這個時候你可以看到你的工程出現紅色的叉叉,報了個錯,如圖13。這個時候你要淡定,兩種方法。一是無視它,二是刪掉這個錯。我選擇了無視它,我因為這個錯查了好久資料,莫名煩躁,試了網上說的方法,還是不行。最後問了同事,同事說,你運行一下可不可以用。我運行了項目,發現可以用。然後同事說,那就無視它。似乎好像是校正的問題,反正現在不影響。one or two。。


圖13

7、運行

圖14


圖15


圖16


圖17


圖18


現在算是建立好了項目。要開始深層次的探討了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.