摘要:
本教程,主要展示GAE如何集成SpringMVC 框架,同时,实现一个小案例(墙内可以访问http://www.baifeibai.com/ 查看案例)。
所使用技术和工具:
- Eclipse-Jee-Juno (version 4.2)
- JDK 1.6
- Google Plugin for Eclipse
- Google App Engine Java SDK 1.7.4
- Spring 3.1.0
备注:
在学习本教程之前,您可能需要了解SpringMVC开发技术,同样你也可能需要阅读下我上一篇博文 [GAE 教程] 初识GAE
- 项目集成SpringMVC 需要依赖以下jar
- aopalliance-1.0.jar
-
commons-logging-1.1.1.jar
-
spring-aop-3.1.0.RELEASE.jar
-
spring-asm-3.1.0.RELEASE.jar
-
spring-beans-3.1.0.RELEASE.jar
-
spring-context-3.1.0.RELEASE.jar
-
spring-context-support-3.1.0.RELEASE.jar
-
spring-core-3.1.0.RELEASE.jar
-
spring-expression-3.1.0.RELEASE.jar
-
spring-web-3.1.0.RELEASE.jar
-
spring-webmvc-3.1.0.RELEASE.jar
- 准备好Jar包以后,将这些jar包拷贝到项目的war/WEB-INF/lib 中
- 导入后,通过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>
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>
- 接下来,我们远程部署到Google 云端,访问下 http://www.baifeibai.com
===================================================================
本教程系列为本人写技术博客练笔之作,高手请无视,转载请点明出处!
===================================================================
来源:https://www.cnblogs.com/javawill/archive/2013/01/10/2855569.html