spring3.0MVC中文教程
- 格式:doc
- 大小:1.24 MB
- 文档页数:82
Spring mvc3.12、spring mvc使用validator 方法一:使用spring validator 实现validator接口在controller中调用此验证类的validator方法通过@Validated注解实现参考:/walkerjong/article/details/7210727方法二:使用hibernate-validator对表单的POJO类的字段属性作判断,如在controller类中用@valid标注参考:/2010/07/spring-mvc-form-validation-with-hibernate-validator//archives/7158/sophiedong/blog/728153. controller扫描通配符的使用方法<context:component-scan base-package="com.etao..**.web.controller"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>注:没使用到,所以未亲自测试,但网上别人测试有效4.spring mvc表单提交防止XSS漏洞第一种方法:web.xml中添加第二种方法:在包含form的jsp页面中添加第三种方法:在form的元素中添加第四种方法:JSTL输出Spring security3.11.Spring security流程1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表)2)用户发出请求3)过滤器拦截(MySecurityFilter:doFilter)4)取得请求资源所需权限(MySecurityMetadataSource: getAttributes)5)匹配用户拥有权限和请求权限(MyAccessDecisionManager:decide),如果用户没有相应的权限,执行第6步,否则执行第7步。
SpringMVC使用MultipartFile文件上传配置,多文件上传,.基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤一、配置文件:SpringMVC 用的是的MultipartFile来进行文件上传所以我们首先要配置MultipartResolver:用于处理表单中的file1.<!-- 配置MultipartResolver 用于文件上传使用spring的CommosMultipartResolver -->2.<beans:bean id="multipartResolver"class="org.springframework.web.multipmonsMultipartResolver"3.p:defaultEncoding="UTF-8"4.p:maxUploadSize="5400000"5.p:uploadTempDir="fileUpload/temp"6.>7.</beans:bean>其中属性详解:defaultEncoding="UTF-8"是请求的编码格式,默认为iso-8859-1maxUploadSize="5400000"是上传文件的大小,单位为字节uploadTempDir="fileUpload/temp"为上传文件的临时路径二、创建一个简单的上传表单:1.<body>2.<h2>文件上传实例</h2>3.4.5.<form action="fileUpload.html"method="post"enctype="multipart/form-data">6.选择文件:<input type="file"name="file">7.<input type="submit"value="提交">8.</form>9.10.11.</body>注意要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,这是最基本的东西,很多人会忘记然而当上传出错后则去找程序的错误,却忘了这一点三、编写上传控制类1、创建一个控制类: FileUploadController和一个返回结果的页面list.jsp2、编写提交表单的action:1.//通过Spring的autowired注解获取spring默认配置的request2.@Autowired3.private HttpServletRequest request;4.5./***6. * 上传文件用@RequestParam注解来指定表单上的file为MultipartFile7. *8. * @param file9. * @return10. */11.@RequestMapping("fileUpload")12.public String fileUpload(@RequestParam("file") MultipartFile file) {13.// 判断文件是否为空14.if (!file.isEmpty()) {15.try {16.// 文件保存路径17. String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"18. + file.getOriginalFilename();19.// 转存文件20. file.transferTo(new File(filePath));21. } catch (Exception e) {22. e.printStackTrace();23. }24. }25.// 重定向26.return"redirect:/list.html";27. }28.29./***30. * 读取上传文件中得所有文件并返回31. *32. * @return33. */34.@RequestMapping("list")35.public ModelAndView list() {36. String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/";37. ModelAndView mav = new ModelAndView("list");38. File uploadDest = new File(filePath);39. String[] fileNames = uploadDest.list();40.for (int i = 0; i < fileNames.length; i++) {41.//打印出文件名42. System.out.println(fileNames[i]);43. }44.return mav;45. }3、使用SpringMVC注解RequestParam来指定表单中的file参数;4、指定一个用于保存文件的web项目路径5、通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径。
SpringMVC+Spring+Hibernate框架整合原理,作⽤及使⽤⽅法SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使⽤spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller3.Controller调⽤业务逻辑处理后,返回ModelAndView4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图5.视图负责将结果显⽰到客户端Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们中的类,当然也包括service dao⾥⾯的),有了这个机制,我们就不⽤在每次使⽤这个类的时候为它初始化,很少看到关键字new。
另外spring的aop,事务管理等等都是我们经常⽤到的。
Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。
mybatis的操作都是围绕⼀个sqlSessionFactory实例展开的。
mybatis通过配置⽂件关联到各实体类的Mapper⽂件,Mapper⽂件中配置了每个类对数据库所需进⾏的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到⼀个sqlSession,再执⾏sql命令。
使⽤⽅法:要完成⼀个功能:1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进⾏的那些操作,⽐如 insert、selectAll、selectByKey、delete、update等。
SpringMVC公开课笔记高浩阳2014-11-29目录1SpringMVC框架 (2)1.1SpringMVC框架 (2)1.2SpringMVC组件总结 (2)2开发SpringMVC的第一个程序 (3)2.1准备环境 (3)2.2开发SpringMVC的第一个程序 (3)2.2.1创建Java Web工程 (3)2.2.2向工程中填充SpringMVC的jar包 (3)2.2.3配置前端控制器 (4)2.2.4创建一个配置文件springmvc.xml(名称不固定) (7)2.2.5配置处理器映射器HandlerMapping (8)2.2.6配置处理器适配器HandlerAdapter (9)2.2.7配置视图解析器ViewResolver (12)2.2.8编写Handler (13)2.2.9在springmvc.xml中配置helloAction.java (16)2.2.10将工程部署到tomcat,启动tomcat (17)2.3小结: (18)3注解开发第一个例子 (19)3.1新建工程SpringMVCTest02 (19)3.2在springmvc.xml中配置 (20)3.3开发action (21)3.4配置action (22)3.5部署工程,运行Tomcat (24)4注解开发学生信息管理功能 (24)5SpringMVC特点 (33)6和Jquery easyui 整合完成数据列表 (33)1SpringMVC框架1.1SpringMVC框架1. 用户发起请求request(比如请求链接叫http://www.xxx/user.action)注册用户信息。
2. SpringMVC通过DispatcherServlet接受请求。
DispatcherServlet是一个前端控制器(想到struts2在web.xml配置一个filter前端控制器)相当于控制器Controller3. DispatcherServlet调用HandlerMapping(处理器映射器)根据user.action找到处理器(Handler)HandlerMapping负责分局user.action这个链接找到Handler,根据xml配置或注解配置找到Handler4. HandlerMapping将找到的Handler给DispatcherServlet前端控制器5. DispatcherServlet前端控制器调用HandlerAdapter(处理器适配器)去执行Handler处理器适配器负责执行Handler6. Handler将处理结果返回给HandlerAdapter(处理器适配器)处理结果就是ModelAndView(封装了模型数据和视图)7. DispatcherServlet调用视图解析器ViewResolver去解析视图8. 将View给用户相应1.2SpringMVC组件总结1. DispatcherServlet前端控制器(不需要程序员写)负责框架调度,相当于中央处理器基本controller控制器功能:接收用户request请求和给用户response响应2. HandlerMapping(处理器映射器)(不需要程序员写)负责根据action的连接找到Handler处理器(理解成写的action)3. HandlerAdapter(处理器适配器)(不需要程序员写)负责去执行Handler4. **Handler处理器需要程序员写理解成struts里边的action,需要程序员写action类,这个action类符合适配器的执行规则。
什么是SpringMVC?⼀、什么是SpringMVC?1.SpringMVC 是⼀种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow 中。
2.SpringMVC = Spring +MVCspring mvc类似于struts的⼀个MVC开框架,其实都是属于spring,spring mvc需要有spring的架包作为⽀撑才能跑起来.spring是⼀个⼀站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决⽅案;spring的两⼤核⼼IOC(控制反转)和AOP(⾯向切⾯编程)更是给我们的程序解耦和代码的简介提供了⽀持。
Spring框架图:从Spring的结构图可以看出,springMVC位于spring web端的⼀个框架,是⼀种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使⽤了MVC架构模式的思想,将web层进⾏职责解耦。
附:基于请求驱动指的就是使⽤请求-响应模型。
从名字上就可以窥探出,Spring>SpringMVC,那么事实上,spring和SpringMVC是⼀种⽗⼦关系。
SpringMVC是spring扩展出的⼀个应⽤于web端的框架。
在这⾥需要注意的⼀点,就是到底什么是⽗⼦容器关系:spring主要的作⽤是黏合其他模块组件,进⾏统⼀管理,springmvc则主要是负责web端。
那么,我们都知道,我们在应⽤spring的时候,可以使⽤注⼊。
这个时候,如果我们的web端是⽤的SpringMVC,这个时候,controller理论上是通过SpringMVC去注⼊,但是,使⽤spring注⼊,同样是可⾏的。
同理,service等层,使⽤SpringMVC配置的统⼀扫描装配也是可以的。
同Struts 2框架一样,Spring也可以给Web开发者提供一个MVC框架。
虽然Web框架只是Spring的一个模块,但是它却应用的非常广泛。
本章结合实例分析Spring Web框架的使用方法、各个组件的作用通过本章的学习,相信读者会对如何使用Spring进行MVC开发有很深入的了解。
第一个Spring MVC例子【示例】该示例先讲解如何在Eclipse环境下实现Spring MVC框架,然后讲解如何在Ant环境下实现。
在Eclipse中创建一个工程SpringMVC,然后按照下面的步骤添加文件。
1配置web.xml文件在Spring MVC的WEB-INF目录下创建web.xml。
在使用Struts 2时,需要在web.xml文件配置FilterDispatcher,在使用Spring的MVC框架时,也需要配置web.xml文件,代码如下。
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"><!--配置Sring MVC的核心控制器DispatcherServlet --><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><!--为DispatcherServlet建立映射--><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>上面的代码对DispatcherServlet类进行配置,所有后缀名为.do的请求都会被DispatcherServlet处理。
SpringMVC目录结构配置SpringMVC是一种常见的Java Web框架,它遵循MVC(Model-View-Controller)设计模式,用于构建灵活可扩展的Web应用程序。
SpringMVC的目录结构对于项目的开发和维护非常重要,下面会详细介绍SpringMVC的标准目录结构以及配置方式。
1.标准目录结构1.1 src/main/java:主要用于存放Java源代码。
1.2 src/main/resources:主要用于存放配置文件和资源文件。
1.3 src/main/webapp:主要用于存放Web应用的静态资源。
1.4 src/test/java:主要用于存放测试用例的Java源代码。
1.5 src/test/resources:主要用于存放测试用例的配置文件和资源文件。
2.详细解析2.1 src/main/java目录src/main/java目录是存放Java源代码的默认目录,它包括以下几个子目录:- config:用于存放Spring配置类,如配置数据库连接、配置事务管理等。
- interceptor:用于存放SpringMVC的拦截器。
- model:用于存放数据模型相关的实体类。
- util:用于存放工具类。
- web:用于存放SpringMVC的控制器。
2.2 src/main/resources目录src/main/resources目录是存放配置文件和资源文件的默认目录,它包括以下几个子目录:- static:用于存放静态资源文件,如CSS、JavaScript、图片等。
- templates:用于存放模板文件,如HTML、Thymeleaf模板等。
- application.properties:存放项目的配置信息,如数据库配置、端口配置等。
- logback.xml:存放日志配置,如日志级别、输出路径等。
- mapper:存放MyBatis的Mapper.xml文件。
Spring资料总结目录--------------------1.什么是spring2.Spring有什么特点?3.Spring的有哪些模块?各个模块的作用?4.控制反转(IOC)和依赖注入(DI)的区别?5.BeanFacotry对象的作用(IOC容器的作用)?6.使用FileSystemXmlApplicationContext,ClassPathXmlApplicationContext加载ApplicationContext.xml文件代码?7.BeanFactory跟ApplicationContext区别?8.依赖注入的四种方式(set,构造器,接口,注解)?9.Bean组件的作用域范围(singleton,prototype,request,session,globalsession)?10.Bean组件装配方式(byName,bType,constructor,default)?11.Bean组件的生命周期?12.在Web环境中怎么加载applicationContext.xml文件(Servlet监听器)?在web如何获取应用上下文WebApplicationContext?13.Spring对DAO模块支持?有什么优点?14.Spring的DAO模板增删查改数据代码?15.Spring对ORM模块的支持?有什么优点?16.Spring整合Hibernate模块的增删查改数据代码?17.Spring整合Ibatis模块的增删查改数据代码?18.Spring整合Mybatis模块的增删查改数据代码?19.Spring的全局事务(JTA)和局部事务(JDBC)的区别?20.Spring事务实现的方式有哪些,优缺点?21.编程式事务的特点?声明式事务的特点?22.事务7大传播属性?指定事务策略的格式代码?23.在Spring中事务管理器的实现方式有哪些?24.在Spring中事务管理器的实现方式有哪些?25.AOP的概念(切面,连接点,通知[顾问],切入点,[引入,关注点],目标对象,代理对象,织入目标)26.AOP在Spring中的作用?27.AOP中的通知有哪些?各有什么特点(前置型,后置型,环绕型,最终型,异常);28.AOP的特点和优缺点?29.AOP三种代理方式(动态代理,CGLIB代理,代理工厂bean)30.Execution配置的通用切入点的示例?31.在项目组,你们是如何使用AOP的?32.说说你对IOC的理解33.如何在Spring中使用JNDI的数据源?34.Spring如何整合Struts1.x?35.Spring如何整合Struts2.x?36.Spring如何整合Hibernate?37.Spring如何整合IBatis?38.Spring如何整合MyBatis?39.Spring的JDBC跟传统的JDBC的区别?41.Spring有哪些核心类?42.SpringMVC的工作机制?43.Hibernate中update和saveOrUpdate的区别?44.SpringMVC有哪些核心类,作用?45.SpringMVC数据如何校验,错误信息在页面如何呈现?46.SpringMVC注解标签有哪些?47.SpringMVC的特点(优点)?48.SpringMVC有哪些控制器组件?49.SpringMVC如何处理上传文件?如何使用ajax异步请求?50.Spring在视图中的标签有哪些?51.SpringAOP的注解标签有哪些?52.Spring如何配置连接池?53.连接池DBCP,C3P0,PROXOOL三个的区别---------------------------1.什么是Spring?答:Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP aspect oriene program)的容器框架.它的主要目的是简化企业开发;Spring的设计思想是,单例模式和工厂模式;2.Spring有什么特点?答:轻量级,低侵入的设计Spring的DI机制降低了业务对象替换的复杂性Spring不依赖于web容器,独立于各种应用服务器,Write Once,Run Anywhere(一次编译到处运行)高度开放性:Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部,它的架构仍然是内在稳定的3.Spring的有哪些模块?各个模块的作用?答:Spring Core:Spring的基石,提供了Spring的最主要的核心机制:控制反转和依赖注入Spring Context:提供了Spring的上下文信息,如:国际化,验证等Spring Web支持:简化了处理多部分请求Spring MVC框架支持:一个全功能的构建Web应用程序的MVC实现,MVC容纳了大量视图技术,其中包括JSP、Velocity等。
详解SpringMVC中Controller的⽅法中参数的⼯作原理前⾔SpringMVC是⽬前主流的Web MVC框架之⼀。
SpringMVC中Controller的⽅法参数可以是Integer,Double,⾃定义对象,ServletRequest,ServletResponse,ModelAndView等等,⾮常灵活。
本⽂将分析SpringMVC是如何对这些参数进⾏处理的,使读者能够处理⾃定义的⼀些参数。
现象本⽂使⽤的demo基于maven。
我们先来看⼀看对应的现象。
@Controller@RequestMapping(value = "/test")public class TestController {@RequestMapping("/testRb")@ResponseBodypublic Employee testRb(@RequestBody Employee e) {return e;}@RequestMapping("/testCustomObj")@ResponseBodypublic Employee testCustomObj(Employee e) {return e;}@RequestMapping("/testCustomObjWithRp")@ResponseBodypublic Employee testCustomObjWithRp(@RequestParam Employee e) {return e;}@RequestMapping("/testDate")@ResponseBodypublic Date testDate(Date date) {return date;}}⾸先这是⼀个Controller,有4个⽅法。
他们对应的参数分别是带有@RequestBody的⾃定义对象、⾃定义对象、带有@RequestParam的⾃定义对象、⽇期对象。
SpringMVC框架知识点详解官⽅的下载⽹址是:⼀、Spring MVC简介1.1Spring MVC⼯作流程映射器:主要是根据浏览器上输⼊的url来映射所有满⾜要求的Handle(控制器类)适配器:主要是决定调⽤哪个Handler来实现具体的业务逻辑1.2Spring MVC VS Struts21)springmvc的⼊⼝是⼀个servlet,即前端控制器;struts2⼊⼝是⼀个filter过虑器,即前端过滤器,2)springmvc是基于⽅法开发(控制器类是单例的,不可能维护实体变量),传递参数是通过⽅法形参,可以设计为单例;struts2是基于类开发(维护⼀个实体变量),传递参数是通过类的属性,只能设计为多例3)springmvc通过参数解析器是将request对象内容进⾏解析成⽅法形参,将响应数据和页⾯封装成ModelAndView对象,最后⼜将模型数据通过request对象传输到页⾯;struts采⽤值栈存储请求和响应的数据,通过OGNL存取数据4)springmvc开发运⾏速度快于struts2⼆、Spring MVC⼯程搭建(xml)2.1导⼊springioc,springweb , springmvc相关的jar包2.2在/WEB-INF/ web.xml⽂件配置SpringMVC的前端控制器DispatcherServlet(前端控制器)<!-- 注册springmvc核⼼控制器 --><servlet><!-- servlet-name名字随便写 --><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 通知DispatcherServlet去指定的⽬录下加载springmvc.xml配置⽂件classpath:是在⼯程的src路径下寻找如果不配置init-param的话,控制器会⾃动寻找/WEB-INF/<servlet-name>-servlet.xml⽂件--><init-param><!-- 值是固定的,相当于键值对 --><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.action</url-pattern>//拦截请求</servlet-mapping>注:在默认情况下:springmvc框架的配置⽂件必须叫<servlet-name>-servlet.xml且必须放在/WEB-INF/⽬录下,我们可以在web.xml⽂件中,为DispatcherServlet配置⼀个初始化参数,让它去我们指定的⽬录下加载springmvc.xml配置⽂件2.3配置springmvc.xml注:该配置⽂件的命名规则遵循web.xml⽂件中核⼼控制器配置。
1 Spring3 MVC - 3到Spring MVC框架简介 Spring3 MVC框架简介 Spring MVC是Spring的框架的Web组件。 它提供了丰富的功能,为建设强大的Web应用程序。 Spring MVC框架的架构,并在这样的高度可配置的方式,每一块的逻辑和功能设计。 此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。 比Spring更不紧耦合的servlet或JSP向客户端呈现视图。 喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。
Spring3.0 MVC系列 第1部分:到Spring 3.0 MVC框架简介 第2部分:在Spring 3.0 MVC创建Hello World应用程序 第3部分:在Spring 3.0 MVC的形式处理 第4部分:Spring3 MVC的Tiles Support与Eclipse中的例子插件教程 第5部分:Spring3 MVC的国际化及本地化教程与范例在 Eclipse 第6部分:Spring3 MVC示例教程Spring主题 第7部分:创建Spring3 MVC Hibernate 3的示例在Eclipse中使用Maven的
在Spring Web MVC,你可以使用任何对象作为命令或表单支持对象,你不需要实现框架特定的接口或基类。 Spring的数据绑定是高度灵活的:例如,将验证错误类型不作为应用系统错误,可以通过评估的不匹配。 因此,你不必重复你的业务对象的属性,简单的无类型的字符串,在表单对象仅仅是为了处理无效的意见,或正确转换的字符串。 相反,它往往是最好直接绑定到业务对象。
请求处理生命周期
Spring的Web MVC框架是,像许多其他Web MVC框架,要求为导向,围绕一个中心的servlet,它把请求分派给控制器,提供其他功能,有利于开发Web应用而设计的。 Spring DispatcherServlet DispatcherServlet是Spring IoC容器完全集成,并允许我们使用的每一个Spring的其他功能。 2
以下是Spring3.0 MVC请求流程的生命周期: 客户端将请求发送到Web容器中的HTTP请求的形式。 这个传入的请求被截获由前端控制器 (DispatcherServlet的),然后它会试图找出相应的处理程序映射 。 帮助处理程序映射,DispatcherServlet将请求派遣适当的控制器。 控制器尝试处理请求和ModelAndView实例的形式返回到前端控制器模型和视图对象。 前端控制器,然后试图解决咨询视图解析器对象的视图(可以是JSP,FreeMarker的,速度等) 。 选定的视图,然后返回到客户端呈现。 Spring3.0的特点
Spring3.0框架支持Java 5。 它提供了注释的配置支持。 Java 5的功能,例如泛型,注解,可以使用可变参数等在Spring。 正在引进一种新的表达语言The Spring 的表达语言规划环境地政局局长。 Spring的表达式语言可以使用,同时定义了基于XML和注释的bean定义。 Spring3.0框架支持REST Web服务。 数据格式可从来没有那么容易。 Spring 3.0支持了注释的格式。 现在,我们可以使用@ DateFimeFormat(ISO = ISO.DATE)和@NumberFormat(样式= Spring.CURRENCY)标注日期和货币格式转换。 Spring3.0已经开始支持JPA 2.0的。
配置Spring 3.0的MVC 切入点的Spring 3.0 MVC DispatcherServlet 。 DispatcherServlet的是正常的servlet的类,它HttpServlet HttpServlet的的基类。 因此,我们需要在它web.xml配置。 example org.springframework.web.servlet.DispatcherServlet 1
example *.html
在上面的代码片断中,我们必须在web.xml中配置DispatcherServlet的。 请注意,我们已经映射*. HTML URL模式,例如DispatcherServlet的。 因此,任何与*. HTML模式的URL将调用Spring MVC的前端控制器。 3
一旦DispatcherServlet的初始化,它会查找一个文件名[servlet-name]-servlet.xml Web应用程序的WEB - INF文件夹中。 在上面的例子中,将寻找所谓example-servlet.xml servlet.xml的框架。
请注意上面的架构图。 WebApplicationContext上图中指定ApplicationContext平原扩展Web应用程序所需的一些额外的功能。 在WebApplicationContext是能够解决的主题,它也与相应的servlet相关。 在WebApplicationContext在ServletContext中的约束,并通过对RequestContextUtils类的静态方法,您可以随时查找在WebApplicationContext。
继续 现在,我们有关的Spring 3.0 MVC框架,其生命周期架构的想法, 在接下来的部分中,我们将创建一个工作Spring3.0的 Hello World应用程序从头。
Spring3 MVC:在Spring 3.0 MVC创建Hello World应用程序 Spring3.0 MVC系列的第2部分。 在以前的文章中,我们经历介绍的Spring MVC 3.0框架,其请求处理生命周期和体系结构图。 在这篇文章中,让我们在Spring MVC 3.0创建一个简单的的Hello World应用程序。 对于创建的Hello World演示应用程序,我们将使用Eclipse IDE中。 我们需要的东西
之前,我们与我们的第一个Hello World Struts 2的示例开始,我们将需要一些工具。 1. JDK 1.5以上( 下载 ) 2. 以上的Tomcat 5.x的或任何其他容器(Glassfish的中,WebSphere,JBoss的,在Weblogic等)( 下载 ) 3. Eclipse的3.2.x中,它上面的( 下载 ) 4. Spring3.0 MVC JAR文件:( 下载 )。 以下是此应用程序所需的JAR文件的清单。 o commons-logging-1.0.4.jar o jstl-1.2.jar o org.springframework.asm - 3.0.1.RELEASE - A.jar o org.springframework.beans - 3.0.1.RELEASE - A.jar 4
o org.springframework.context - 3.0.1.RELEASE - A.jar o org.springframework.core - 3.0.1.RELEASE - A.jar o org.springframework.expression - 3.0.1.RELEASE - A.jar o org.springframework.web.servlet - 3.0.1.RELEASE - A.jar o org.springframework.web - 3.0.1.RELEASE - A.jar
请注意,根据Spring MVC的当前版本,上述jar文件的版本号可能会改变。 我们的目标 我们的目标是创建一个基本的Spring MVC应用中使用最新的3.0版本。 将会有一个索引页,它会显示一个链接”打招呼”给用户。 点击此链接,用户将被重定向到另一页打招呼 ,它会显示一条消息的”Hello World,Spring3.0!”。
入门 让我们开始我们的第一个Spring3.0基于MVC的应用程序。 打开Eclipse转到文件- >新建- >项目,然后选择动态Web项目中的新建项目向导屏幕。 5
选择动态Web项目后,按” 下一步”“ 。 6
写项目名称。 例如Spring3MVC。 一旦做到这一点,选择目标运行时环境(如Apache Tomcat的V6.0)。 这是在Eclipse环境中运行的项目。 在此之后按下Finish。
一旦该项目被创建,您可以在Project Explorer中看到它的结构。
现在的WebContent所有所需的JAR文件>的WEB - INF> lib文件夹中复制。 创建此文件夹,如果它不存在。
Spring控制器类 我们需要一个Spring MVC控制器类,将处理该请求,并显示”Hello World”消息。 为此,我们将创建一个包net.viralpatel.spring3.controller的源文件夹中。 这个包将包含控制器文件。