本文使用 Spring Web model-view-controller (MVC) framework 建立一個簡單的一個Hello World 程式 1、本文中使用的相關技術 Eclipse 4.2 Version: Juno Service Release 2 Maven 3.0.5 JAVA JDK 1.6.0_41 Spring 3.2.2.RELEASE P.S Spring 3.x, 需 JDK 1.5 以上。 2、建立一個Maven專案 使用Eclipse創建   File -> New -> Other (快速鍵Ctrl+ N) 選擇Maven -> Maven Project 本文使用  創建一個簡單的專案 ->下一步 輸入專案名稱,本文為springMVCDemo_1 記得將專案加入JAVA WEB Project 相關資料夾及檔案。 如:  web.xml  本文這裡預設你己經會建置JAVA WEB Project。

 

3、加入 Spring 3.0 jar    加入在Maven專案中的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>springMVCDemo_1</groupId>   <artifactId>springMVCDemo_1</artifactId>   <packaging>war</packaging>   <version>0.0.1-SNAPSHOT</version>   <name>springMVCDemo_1 Maven Webapp</name>   <url>http://maven.apache.org</url>   <build>     <finalName>springMVCDemo_1</finalName>   </build>   <properties> <spring.version>3.2.2.RELEASE</spring.version> </properties> <dependencies> <!-- Spring 3 dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- junit dependencies --> <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>  </dependency> </dependencies> </project>

  4. 建立Controller & Mapping     在Spring 3 裡大量使用 annotation 。 如: @Controller @RequestMapping("/myMain") 目錄 : src/main/java/com/springmvc/demo/controller 檔名 : MyMainController.java 程式碼:

  package com.springmvc.demo.controller;

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

  @Controller
  @RequestMapping("/myMain")
  public class MyMainController {
   
   
   @RequestMapping(value = "/show",method = RequestMethod.GET)
   public String show(ModelMap model) {
   
    model.addAttribute("message", "Hi , Spring 3 MVC Hello World");
    return "hello";
   
   }
   
  }
 
 
 
 

3. 建立JSP 頁面 目錄 : src/main/webapp/WEB-INF/views/ 檔名 : hello.jsp 程式碼: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>Spring MVC</title> </head> <body> <h1>${message}</h1> </body> </html>

 

 

4. 建立 Spring mvc Config xml 檔 在DispatcherServlet初始化後的, Spring MVC預設會在/WEB-INF/ 資料夾中, 找一個名為 [servlet-name]-servlet.xml,並創建有定義的Bean, 且會覆蓋具有相同名稱的任何定義的bean的定義,在global範圍裡。 檔名: mvc-dispatcher-servlet.xml 在程式碼中的 <context:component-scan base-package="com.springmvc.demo" /> base-package="你的bean package " 程式碼: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="         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"> <context:component-scan base-package="com.springmvc.demo" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/views/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> </beans>

5. 加入spring設定到Web application web.xml 設定是沒有什麼不同的,與舊的spring2.5.6比較的話, 只要聲明spring “ContextLoaderListener的”和“的DispatcherServlet”。 檔名 : web.xml 程式碼: <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_3_0.xsd" version="3.0">   <display-name>Archetype Created Web Application</display-name>   <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>                        org.springframework.web.servlet.DispatcherServlet                 </servlet-class> <load-on-startup>1</load-on-startup> </servlet>  <!--Map the DispatcherServlet to a URL pattern --> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/views/*</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> </context-param> <listener> <listener-class>                       org.springframework.web.context.ContextLoaderListener         </listener-class> </listener> </web-app>

6. Demo URL : http://localhost:8080/springMVCDemo_1/views/myMain/show 設定web server Tomcat:

 

 加入Tomcat ok

 執行 Run on Server

 選擇server 後Finish

 

 執行成功畫面:

 

 專案目錄:

spring MVC 流程圖: 此圖重點 spring MVC 其它細項略過

 

其它文章

 

文章標籤
全站熱搜
創作者介紹
創作者 PG Levin Li 的頭像
PG Levin Li

程式開發學習之路

PG Levin Li 發表在 痞客邦 留言(0) 人氣(13,159)