Spring 靜态頁面例子
下面的例子說明了如何使用 Spring MVC 架構來編寫一個簡單的基于 web 的應用程式,它可以在 标簽的幫助下通路靜态頁面和動态頁面。為了開始使用它,讓我們在恰當的位置使用 Eclipse IDE,然後按照下面的步驟使用 Spring 的 Web 架構來開發一個動态的基于表單的 Web 應用程式:
步驟
描述
1
建立一個名稱為 HelloWeb 的動态Web 項目,并且在已建立的項目的 src 檔案夾中建立一個包 com.tutorialspoint。
2
将上面提到的 Spring 和其他庫拖拽到檔案夾 WebContent/WEB-INF/lib 中。
3
在 com.tutorialspoint 包下建立一個 Java 類 WebController。
4
在 WebContent/WEB-INF 檔案夾下建立 Spring 的配置檔案 Web.xml 和 HelloWeb-servlet.xml。
5
在 WebContent/WEB-INF 檔案夾下建立名稱為 jsp 的子檔案夾。在這個子檔案夾下建立一個視圖檔案 index.jsp。
6
在 WebContent/WEB-INF 檔案夾下建立名稱為 pages 的子檔案夾。在這個子檔案夾下建立一個靜态檔案 final.htm
7
最後一步是建立所有的源代碼和配置檔案的内容,并導出該應用程式,正如下面解釋的一樣。
這裡是 WebController.java 檔案的内容:
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class WebController {
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index() {
return "index";
}
@RequestMapping(value = "/staticPage", method = RequestMethod.GET)
public String redirect() {
return "redirect:/pages/final.htm";
}
}
下面是 Spring Web 配置檔案 web.xml 的内容
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Spring Page Redirection
HelloWeb
org.springframework.web.servlet.DispatcherServlet
1
HelloWeb
/
下面是另一個 Spring Web 配置檔案 HelloWeb-servlet.xml 的内容
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
在這裡, 标簽被用來映射靜态頁面。 mapping 屬性必須是一個指定一個 http 請求的 URL 模式的 Ant 模式。 location 屬性必須指定一個或者多個具有包含圖檔,樣式表,JavaScript 和其他靜态内容的靜态頁面的資源目錄位置。多個資源位置可以使用逗号分隔這些值的清單來被指定。
下面是 Spring 視圖檔案 WEB-INF/jsp/index.jsp 的内容。這将是一個登陸頁面,這個頁面将發送一個請求來通路 staticPage 的 service 方法,它将重定向這個請求到 WEB-INF/pages 檔案夾中的一個可用的靜态頁面。
Spring Landing Page
Spring Landing Pag
Click below button to get a simple HTML page
下面是 Spring 視圖檔案 WEB-INF/pages/final.htm 的内容。
Spring Static Page
A simple HTML page
最後,下面是包含在你的 web 應用程式中的 Spring 和其他庫的清單。你僅僅需要将這些檔案拖拽到 WebContent/WEB-INF/lib 檔案夾中。
commons-logging-x.y.z.jar
org.springframework.asm-x.y.z.jar
org.springframework.beans-x.y.z.jar
org.springframework.context-x.y.z.jar
org.springframework.core-x.y.z.jar
org.springframework.expression-x.y.z.jar
org.springframework.web.servlet-x.y.z.jar
org.springframework.web-x.y.z.jar
spring-web.jar
一旦你完成了建立源代碼和配置檔案後,導出你的應用程式。右鍵單擊你的應用程式,并且使用 Export > WAR File 選項,并且在 Tomcat 的 webapps 檔案夾中儲存你的 HelloWeb.war 檔案。
現在啟動你的 Tomcat 伺服器,并且確定你能夠使用标準的浏覽器通路 webapps 檔案夾中的其他 web 頁面。現在嘗試通路該 URL
單擊 “Get HTML Page” 按鈕來通路 staticPage 中的 service 方法中提到的一個靜态頁面。如果你的 Spring Web 應用程式一切都正常,你應該看到下面的結果: