spring3 MVC 实战,手工搭建Spring3项目demo

chenzenan 贡献于2012-02-22

作者 User  创建于2011-03-03 11:08:00   修改者User  修改于2011-03-03 11:08:00字数7771

文档摘要:最近的项目在用Spring3,涉及到了基于注解的MVC,事务管理,与hibernate的整合开发等内容,我打算写一个系列出来,记录下这个痛苦但又充满成就感的过程----网上实在太难找能让新手快速理解掌握的文章了
关键词:

spring3 MVC实战,手工搭建Spring3项目demo 2011年01月19日 星期三 17:22 更新:这几天对spring3的理解又进了一步,今天抽空把这篇文章中的错误和不当之处做了修改。 最近的项目在用Spring3,涉及到了基于注解的MVC,事务管理,与hibernate的整合开发等内容,我打算写一个系列出来,记录下这个痛苦但又充满成就感的过程----网上实在太难找能让新手快速理解掌握的文章了 这篇文章专门针对使用Spring3进行开发的新手,高手就请绕道吧,也欢迎拍个砖再走... 我打算从这几个方面写:1.开发环境确认    2.Spring3的jar包    3.Spring3项目配置    4.其他 一、开发环境确认     1.工具及版本     jdk我用的是1.6的;jdk的下载安装和配置就不讲了,如果这个还搞不定还谈什么spring啊     myeclipse用的是6.0(实在太落后啦,还是8.X舒服)不过这里是手工搭建不使用自动生成工具,所以版本无所谓的;使用eclipse for     javaEE也ok,不过跟myeclipse可能在项目目录上会有少许的不同,eclipse的web跟目录是WebContent,而myeclipse通常是WebRoot     tomcat是6的,666,大顺哈     2.确认     为了保证开发环境正常请做一下确认,在运行里输入cmd打开命令行,输入java -version命令,显示类似如下内容:     java version "1.6.0_23"     Java(TM) SE Runtime Environment (build 1.6.0_23-b05)     Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing) 然后,启动tomcat6,请确认控制台没有报错信息,控制台输出类似如下: 2011-1-19 14:58:27 org.apache.coyote.http11.Http11Protocol init 信息: Initializing Coyote HTTP/1.1 on http-8080 2011-1-19 14:58:27 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 255 ms 2011-1-19 14:58:27 org.apache.catalina.core.StandardService start 信息: Starting service Catalina 2011-1-19 14:58:28 org.apache.catalina.core.StandardEngine start 信息: Starting Servlet Engine: Apache Tomcat/6.0.20 2011-1-19 14:58:29 org.apache.coyote.http11.Http11Protocol start 信息: Starting Coyote HTTP/1.1 on http-8080 2011-1-19 14:58:29 org.apache.jk.common.ChannelSocket init 信息: JK: ajp13 listening on /0.0.0.0:8009 2011-1-19 14:58:29 org.apache.jk.server.JkMain start 信息: Jk running ID=0 time=0/15  config=null 2011-1-19 14:58:29 org.apache.catalina.startup.Catalina start 信息: Server startup in 1401 ms 确认myeclipse或eclipse下server视图下有你的tomcat6且可以正常启动关闭,如果没有自行配置,如果不知道自己网上搜 确认你的myeclipse或eclipse下的java平台是刚才确认过的jdk1.6 这一部分最后一步,新建一个webProject,如果你用的是是eclipse for javaEE那么项目类型选择Static web project 注意,eclipse新建web项目需要选择target runtime,如果没有就配上你的tomcat6,myeclipse新建项目j2EE Specification Level项要选择javaEE5.0  二、Spring3的jar包    1.下载Spring3     先到官网现在吧,上网址:http://www.springsource.org/download 现在最新版本是3.0.5,看图,点圈住区域的链接     现在点击之后需要注册用户才能下载,那就注册一下吧,spring这么伟大的开源项目,能不支持吗?当然你也可以选择下图所示的链接跳过 之后跳转到文件下载选择页面,需要下载两个文件:     spring-framework-3.0.5.RELEASE-with-docs.zip  和   spring-framework-3.0.5.RELEASE-dependencies.zip 但是现在官方已经没有了 spring-framework-3.0.5.RELEASE-dependencies.zip的下载链接(这些依赖我们都可以分别到各自相关的开源项目下载),不知为何,你可以分别网上搜 spring-framework-3.0.5.RELEASE-with-docs.zip  解压后目录结构如下: dependency的目录结构基本上全是以com.XX org.XX为名字的目录,太长了就不截图了。 下面就是导入了,导入前先说明白两点:              1. spring3开始jar包不再包含全能的spring.jar了,而是分成20多个jar包了,配置可以按需引入了              2. 项目中使用spring除了引入dist目录下的jar包,还需要dependencies下的一些依赖包,下面再具体说。 2.引入dist目录下除了下面三个其余所有包 org.springframework.web.struts-3.0.5.RELEASE.jar org.springframework.spring-library-3.0.5.RELEASE.libd org.springframework.web.portlet-3.0.5.RELEASE.jar 如何引入jar包,对项目鼠标右键选择【Build Path】,选择【Add Extenal Archives】,浏览到jar包的位置,打开即可 3.接下来,还必须导入日志相关的一个jar包---commons logging和一个名为com.springsource.org.aopalliance-1.0.0.jar的jar包 分别在spring-framework-3.0.5.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.logging\1.1.1 及spring-framework-3.0.5.RELEASE-dependencies\org.aopalliance\com.springsource.org.aopalliance\1.0.0下 目录下。如果不引入部署项目tomcat会报如下错误:严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 三、spring3配置 1.web.xml配置 web.xml内容如下:                  contextConfigLocation         /WEB-INF/spring-servlet.xml              org.springframework.web.context.ContextLoaderListener             spring   org.springframework.web.servlet.DispatcherServlet   1       spring   /      2.Spring应用上下文配置,在web.xml中我们配置了spring的servlet -----spring web.xml里有这一段         contextConfigLocation         /WEB-INF/spring-servlet.xml     用于开启基于注解的springMVC功能那么我们需要在跟web.xml同一目录下新建一个spring-servlet.xml文件,内容为:                                配置是不是很清爽?多亏spring3增加的mvc、context、tx等几个命名空间了 四、其他 1.建包 新建一个包,包名就是我们Spring-mvc.xml里   里的com.mvc.rest 2.建立Constroller 在com.mvc.rest包下新建一个java类,代码如下: package com.mvc.rest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; @Controller public class RestConstroller {    public RestConstroller() {  }    @RequestMapping(value = "/login/{user}", method = RequestMethod.GET)  public ModelAndView myMethod(HttpServletRequest request,    HttpServletResponse response, @PathVariable("user")    String user, ModelMap modelMap) throws Exception {      modelMap.put("loginUser", user);   return new ModelAndView("/login/hello", modelMap);  }  @RequestMapping(value = "/welcome", method = RequestMethod.GET)  public String registPost() {   return "/welcome";  } } 3.建视图 正如spring-servlet.xml里 所配置的视图路径,我们需要在WEB-INF下建立view目录,在view下建立jsp文件; 正如RestConstroller里两个方法的返回语句:return new ModelAndView("/login/hello", modelMap);和return "/welcome";所约定,我们需要在view下建立相应的login目录并在其下建立hello.jsp,在/WEB-INF/view下建立welcome.jsp hello.jsp内容如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>               My JSP 'hello.jsp' starting page                   你好:<%=request.getAttribute("loginUser") %>,现在时间是<%= new Date() %>   welcome.jsp就随意吧,测试嘛.  4.部署访问 在myeclipse下部署项目并运行 打开浏览地址栏输入:http://localhost:8080/sandDemo001/login/heamer 这里的heamer是自定义的,作为请求参数解析 输入:http://localhost:8080/sandDemo001/welcome  则显示你welcome.jsp应该显示的内容。 整个过程已经完成,需要注意的有几方面,1.环境一定要是可用的  2.jar包正确的引入到项目中   3.配置文件要小心修改,不要犯括号不配对类似的低级错误 关于Constroller里的注解的用法这里暂不做讲解,以后有时间再发文;搭建配置过程已经亲测,如有谬误敬请指正

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 11 人已下载

下载文档