GAE集成SpringMVC

 

所使用技術和工具:

  1. Eclipse-Jee-Juno (version 4.2)
  2. JDK 1.6
  3. Google Plugin for Eclipse
  4. Google App Engine Java SDK 1.7.4
  5. Spring 3.1.0

備註:css

在學習本教程以前,您可能須要瞭解SpringMVC開發技術,一樣你也可能須要閱讀下我上一篇博文 [GAE 教程] 初識GAEhtml

 

  • 項目集成Spring 3.0 MVC REST 須要依賴如下jar
    1. aopalliance-1.0.jar
    2. commons-logging-1.1.1.jarjava

    3. spring-aop-3.1.0.RELEASE.jarweb

    4. spring-asm-3.1.0.RELEASE.jarspring

    5. spring-beans-3.1.0.RELEASE.jarexpress

    6. spring-context-3.1.0.RELEASE.jarapi

    7. spring-context-support-3.1.0.RELEASE.jarspring-mvc

    8. spring-core-3.1.0.RELEASE.jarmvc

    9. spring-expression-3.1.0.RELEASE.jarapp

    10. spring-web-3.1.0.RELEASE.jar

    11. spring-webmvc-3.1.0.RELEASE.jar

 

  • 準備好Jar包之後,將這些jar包拷貝到項目的war/WEB-INF/lib 中

 

複製所需jar包到項目

 

  • 導入後,經過Configure Build Path…配置引用下這些包就行了

 

導入依賴包

 

 

  • 配置SpringMVC,首先咱們須要在war/WEB-INF/ 下建立一個Spring XML bean的配置文件 {YourServletName}-servlet.xml,用來定義bean 和 試圖解析器
 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:context="http://www.springframework.org/schema/context"
 3     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="  5         http://www.springframework.org/schema/beans       6         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  7         http://www.springframework.org/schema/context   8         http://www.springframework.org/schema/context/spring-context-3.0.xsd  9         http://www.springframework.org/schema/mvc 10         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
11 
12     <!-- 對web包中的全部類進行掃描,以完成bean的建立和自動依賴注入功能 -->
13     <context:component-scan base-package="com.javawill" />
14 
15     <!-- 對模型視圖的名稱的解析 -->
16     <bean 17         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
18         <property name="prefix">
19             <value>/WEB-INF/jsp/</value>
20         </property>
21         <property name="suffix">
22             <value>.jsp</value>
23         </property>
24     </bean>
25 
26 </beans>

 

  • 同時,咱們須要將Spring 集成到咱們的web.xml中,有的人可能IDE沒法顯示web.xml的內容,只須要刷新web.xml 文件(注意是文件,不是內容)
 1 <?xml version="1.0" encoding="utf-8" standalone="no"?>
 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
 3     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6     <!-- spring mvc的servlet,加載WEB-INF/baifeibai-servlet.xml的配置文件,以啓動Spring MVC模塊 -->
 7     <servlet>
 8         <servlet-name>baifeibai</servlet-name>
 9         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
10         <load-on-startup>1</load-on-startup>
11     </servlet>
12     <servlet-mapping>
13         <servlet-name>baifeibai</servlet-name>
14         <url-pattern>*.do</url-pattern>
15     </servlet-mapping>
16     <context-param>
17         <param-name>contextConfigLocation</param-name>
18         <param-value>/WEB-INF/baifeibai-servlet.xml</param-value>
19     </context-param>
20     <!-- spring容器啓動監聽器 -->
21     <listener>
22         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
23     </listener>
24     <welcome-file-list>
25         <welcome-file>index.html</welcome-file>
26     </welcome-file-list>
27     <servlet>
28         <servlet-name>SystemServiceServlet</servlet-name>
29         <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
30         <init-param>
31             <param-name>services</param-name>
32             <param-value />
33         </init-param>
34     </servlet>
35     <servlet-mapping>
36         <servlet-name>SystemServiceServlet</servlet-name>
37         <url-pattern>/_ah/spi/*</url-pattern>
38     </servlet-mapping>
39 </web-app>

 

  • 如今咱們看看咱們項目的新結構,並實現一個簡單的業務,經過Controller 定義一個變量值,並在JSP上展示出來

     

    項目結構

     

  • 編寫Controller.java
 1 /**
 2  * Create by Javawill in 2013-1-10  3  */
 4 package com.javawill.example.spring.controller;  5 
 6 import org.springframework.stereotype.Controller;  7 import org.springframework.ui.Model;  8 import org.springframework.web.bind.annotation.RequestMapping;  9 
10 /**
11  * GAE集成SpringMVC Controller 實例 12  * @author  <a href="mailto:iflytekwill@qq.com">Javawill</a> 13  * @version 1.0 14  */
15 @Controller 16 public class SpringController { 17     @RequestMapping("/example/welcome.do") 18     public String Welcome(Model model, String inputval){ 19         if ( inputval == null || ("".equals(inputval))) { 20             inputval = "您能夠試試在下面的輸入框輸入值,測試下Spring的傳參!"; 21         } else { 22             inputval = "您以前輸入的值爲:" + inputval; 23         } 24         model.addAttribute("hello", "您好,歡迎您來到GAE+SpringMVC學習項目演示網站!"); 25         model.addAttribute("msg", inputval); 26         return "example/spring/welcome"; 27     } 28 }

 

  • 用於展示的JSP頁面代碼
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Javawill 演示案例</title>
 9 </head>
10 <body>
11     <h2>${hello }</h2>
12     ${msg } 13     <form action="<c:url  value='/example/welcome.do'  />" method="post">
14         輸入值:<input id="inputval" name="inputval" /> 
15         <input type="submit" value="肯定" />
16     </form>
17 
18 </body>
19 </html>

 

 

頁面展示效果

 

 

輸入值之後的效果
相關文章
相關標籤/搜索