本文使用 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 其它細項略過
- 首頁
- JAVA 目錄
- JAVA WEB 目錄
- JAVA 其他未分類 目錄
- Grails目錄
- jQuery 目錄
- Apache 目錄
- JavaScript 目錄
- Spring + Hibernate 目錄
- Hibernate 目錄
- Linux 目錄
- 程式開發工具目錄
- MySQL 目錄
- PHP目錄
- C/C++ 目錄
- Google App Engine 目錄
- HTML5/CSS3
- 程式開發基本資訊
- Android
- Oracle 目錄
- Struts 目錄
