首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Spring MVC3入门之一 Hello World(XML based)

2012-08-21 
Spring MVC3入门之1 Hello World(XML based)Spring MVC入门系列基于以下的环境和版本:Windows XPjdk-6u16-

Spring MVC3入门之1 Hello World(XML based)

Spring MVC入门系列基于以下的环境和版本:

Windows XP

jdk-6u16-windows-i586

eclipse-jee-helios-SR2-win32

apache-tomcat-6.0.32-windows-x86

Sysdeo Tomcat Launcher Plugin

servlet-api-2.5

apache-maven-3.0.3

M2Eclipse Plugin

spring-webmvc?3.0.5.RELEASE

?

开始Hello World之前,请容许我啰嗦下:

Spring MVC和其他web mvc框架同样包括标准的MVC三部件。

1.Models??????????????? 一般来讲,Models=Domain Objects,作为数据载体贯穿于各层。

2.Views????????????????? 表示层(view)的实现有很多,以JSP+JSTL(Java Standard Tag Library)最为普遍常见。

3.Controllers???????? 控制器,主要负责处理和路由请求,业务处理。

?

Spring MVC和其他mvc框架同样是请求(Request)驱动,下图描述了Spring MVC中是如何处理web请求滴。

Spring MVC3入门之一 Hello World(XML based)

好了,开始Hello World之旅。

1.?New Maven Project

Spring MVC3入门之一 Hello World(XML based)
2.New Maven Project选择maven-archetype-webapp

Spring MVC3入门之一 Hello World(XML based)

?3.接下来Group Id , Artifact Id ,Version

Spring MVC3入门之一 Hello World(XML based)
4.点Finish。接下来,maven引入以下dependencies。

spring-webmvc选择3.0.5.RELEASE版本

servlet-api选择2.5版本

jstl选择1.1.2版本

taglibs standard选择1.1.2版本

单元测试junit这次不会涉及到,去掉了。

至于maven如何引入,后面在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>com.nanigac.springmvc</groupId><artifactId>HelloWorldXMLBased</artifactId><packaging>war</packaging><version>1.0.0-SNAPSHOT</version><name>HelloWorldXMLBased Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring-webmvc.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>${taglibs.version}</version></dependency></dependencies><build><finalName>HelloWorldXMLBased</finalName></build><properties><spring-webmvc.version>3.0.5.RELEASE</spring-webmvc.version><servlet-api.version>2.5</servlet-api.version><jstl.version>1.1.2</jstl.version><taglibs.version>1.1.2</taglibs.version></properties></project>

??5.接下来,web.xml长这样。嗯,这里用2.5版本的。

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>SpringMVC-HelloWorldXMLBased</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><servlet-mapping><servlet-name>mvc-dispatcher</servlet-name><url-pattern>*.htm</url-pattern><url-pattern>/helloworld.htm</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><welcome-file-list><welcome-file>helloworld.htm</welcome-file></welcome-file-list></web-app>

?6.接下来,WEB-INF文件夹下新建mvc-dispatcher-servlet.xml,长这样。

<beans xmlns="http://www.springframework.org/schema/beans"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-2.5.xsd"><bean id="viewResolver"/></beans>

7.接下来,在src\main\下新建java source folder,接着在src\main\java\下创建Package:com.nanigac.springmvc.controller,并新建HelloWorldController,长这样。

package com.nanigac.springmvc.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractController;public class HelloWorldController extends AbstractController {@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response) throws Exception {ModelAndView model = new ModelAndView("HelloWorld");model.addObject("message", "Hello World!");return model;}}

?8.接下来,移动index.asp到/WEB-INF/pages/下并rename为HelloWorld.jsp,编辑成这样。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><body><h1>${message}</h1></body></html>

9.最终Project Explorer里面项目结构长这样。

Spring MVC3入门之一 Hello World(XML based)

10.好吧,大功告成。选择Run AS ?maven clean,Run AS maven package,成功以后可以在target目录下找到HelloWorldXMLBased.war。拷贝到%TOMCAT_HOME%/webapps/下,运行tomcat,http://localhost/HelloWorldXMLBased/?RP没问题的话,可以看到运行成功页面写着一个大大的Hello World!。祝lucky。

?

长话短说讲一下怎么跑起来的。

1.http://localhost/HelloWorldXMLBased/请求到web.xml中配置的首页helloworld.htm,参照servlet,servlet-mapping和context-param的配置,DispatcherServlet会将请求递给HelloWorldController。

2.HelloWorldController.java+mvc-dispatcher-servlet.xml中viewResolver的配置,

可以知道view是/WEB-INF/pages/HelloWorld.jsp。

3.model中有一个object叫做message,渲染页面,Response显示。

?

?

这一章节有点长了,还有以下几点没说到。

1.maven-webapp项目+tomcatPlugin如何在tomcat中调试运行的问题,会单独开一章,其实很简单。

2.maven的配置使用过程,这个请关注maven使用系列。

3.maven集成到eclipse的插件m2eclipse,例子HelloWorldXMLBased的过程中,Run on Server菜单会奇怪的消失,似乎m2eclipse还有一些问题。

热点排行