- 浏览: 146145 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
liuxiang00435057:
不知道,你有这个的实现不,能发给我参考下吗,liuxiang0 ...
RBAC模型的通用权限管理系统的设计(数据模型)的扩展 -
步青龙:
这个批量上传确定可以用吗?我这怎么不行呢,官方的Demo也不行 ...
KindEditor 4.1 发布,开源HTML编辑器
此文章转自 http://www.blogjava.net/danxy2008/articles/29083.html
衡量一个 MVC 框架模式,主要通过三种 web 模式,本人认为 springMVC 是一个很好的 MVC
模式,对模式的支持如下:
( 1 )派遣器模式
Spring 有一个统一集中的派遣器 org.springFramework.Web.Servlet.DispatcherServlet,
一般在 web.XML 中把所有的页面请求都发送到该派遣器:
<servlet>
<servlet-name>countries</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>countries</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
( 2 )控制器模式
派遣器收到请求后 , 把不同的页面派遣到不同的控制器进行处理:
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/home.htm">countriesController</prop>
<prop key="/notfound.htm">errorsController</prop>
</props>
</property>
</bean>
Spring 有两种 MAPPING 的机制 , 默认为 BeanNameUrlHandlerMapping, 我们这里采用的是
SimpleUrlHandlerMapping.
( 3 )拦截器模式
在控制器处理前 , 我们可以将其拦截 , 进行一些特殊或通用处理 ; 拦截器可以选用 Spring 已经实现的或我们自己实现的:
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref local="localeChangeInterceptor"/>
<ref local="themeChangeInterceptor"/>
<ref local="copyInterceptor"/>
</list>
</property>
</bean>
详细介绍:
① 分发器: Dispatcherservlet
整个 spring 应用只需要一个分发器
<servlet>
<servlet-name>springapp</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 映射的类型 -->
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
处理器映射
一般对应文件 servlet-name-servlet.xml, 譬如 springapp-servlet.xml
BeanNameUrlHandlerMapping
一般使用 SimpleUrlHandlerMapping
<!--Request Mapping -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings">
<props>
<prop key="login.do">LoginController</prop>
<prop key="login.html">LoginController</prop>
</props>
</property>
</bean>
② 控制器
控制器的基础接口 Controller ,包含方法
ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response)
throws Exception;
一般使用 return new ModelAndView( “” ); 也可以使用 response.sendRedirect( “” ).;
AbstractController 控制器继承 Controller 类,增加譬如缓存、 minetype 等功能,处理多个动作,可以使用 MultiActionController
但如果要表单和数据对象的交互,我们就使用命令控制器
一般使用 AbstractCommandController 带参的形式,把相关的功能放在一个 controller
譬如用户的添加、修改、删除,就可以采用 usemanage.do?msg=add/modify/delete 的形式
SimpleFormController 更为具体,但继承它实现的 OnSubmit 的方法,不好用,譬如不能后退或者用于超链接等方式的地址直接响应。
③ 处理器映射拦截器
拦截器接口定义了三个方法,一个在处理器执行前被调用,一个在处理器执行后被调用,还有一个在整个请求完成后调用。譬如在在上午 9 点到下午 6 点重定向某个页面,
在 handlerMapping 那个 bean 里面加入
<property name=”interceptors”>
<list>
<ref bean=”officeHourIntercptor”>
</list>
</property>
然后一个处理 Bean
<bean id=” officeHourIntercptor” class=” TimeBaseIntercptor”>
<property name=”openTime”> <value>9</value> </property>
<property name=”closeTime”> <value>18</value> </property>
</bean>
④ 视图与解析器
Spring 框架控制器返回的是 ModelAndView ,对于一般的 JSP 和 Servlet, 一般使用 InternalResourceViewResolver ,继承于 UrlBaseViewResovler
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
</bean>
当一个 web 中使用不同类型的视图技术,使用 ResourceBandleViewResolver
⑤ 使用本地化信息
Spring 框架大部分支持国际化,像 web 框架一样,自动解析客户端信息
但我们可以自己手动获取客户端信息,并做需要的参数设计来改变属性
一般使用 LocalChangeInterceptor 修改本地化信息,这个像拦截器一样使用
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName"><value>siteLanguage</value></property>
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
发表评论
-
Spring参考手册 mvc:resources
2012-05-23 16:47 1439This tag allows static resource ... -
再析在spring框架中解决多数据源的问题
2012-05-15 00:48 916转自:http://www.iteye.c ... -
Spring mvc aop to get request and response
2012-05-15 00:04 2558@Aspect public class ... -
Spring线程安全
2012-05-14 16:00 1080Spring管理的对象基本都应该是无状态的 ,spring ... -
spring3.X mvc 应用Session属性的策略
2012-05-14 14:00 1153喜好读书,就便是把生活生计中寂寞的辰光换成重大享受的时刻。本文 ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2012-05-14 10:19 751转自:https://www.ibm.com/de ... -
HibernateDaoSupport的getSession()与HibernateTemplate的差别
2012-05-11 13:43 930在 Spring+Hibernate的集成环境里,如果DA ... -
Srping MVC 入门 @ResponseBody & @RequestBody
2012-05-11 09:33 933转自:http://www.cnblogs.com/zhaoy ... -
Spring 3.x MVC 入门1
2012-05-11 09:26 937文章转自http://www.cnblogs.com/zh ... -
AOP的代理区分 (Java动态代理和CGLIB代理)
2012-05-03 16:00 956第一种代理即Java的动态代理方式上一篇已经分析,在这里不 ... -
Spring AOP 概念理解及@AspectJ支持
2012-05-03 15:23 1658Spring AOP 概念理解及@AspectJ ...
相关推荐
### SpringMVC框架学习指南:理解与应用 #### 引言 SpringMVC框架作为Spring框架的一个重要组成部分,为Web应用程序提供了模型-视图-控制器(Model-View-Controller,MVC)架构的支持,简化了Web开发过程。本文旨在...
在本“springMVC框架学习备份”中,我们将深入探讨其核心概念、工作流程以及如何进行实际开发。 首先,SpringMVC的核心概念包括DispatcherServlet、Controller、Model、View和ViewModel。DispatcherServlet是整个...
### SpringMVC框架学习 #### 一、SpringMVC的历史与发展背景 1.1 **SpringMVC的历史** SpringMVC是Spring框架的一个重要组成部分,最初并不是Spring框架的一部分,而是在Spring框架发展的过程中逐渐形成并加入的...
SpringMVC是Spring框架的一个模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够清晰地分离业务逻辑、数据处理和用户界面。下面将详细介绍SpringMVC的核心概念、工作流程、配置...
在软件工程中,学习SpringMVC框架通常涉及以下几个关键知识点: 1. **模型-视图-控制器(MVC)架构**:MVC是一种设计模式,将应用程序分为三个主要组件——模型(Model)处理数据,视图(View)负责展示,控制器...
在本例中,"springmvc框架的用户登录注册的简单实现"提供了一个初学者友好的教程,帮助学习者了解如何使用 Spring MVC 实现基本的用户登录和注册功能。 首先,我们来了解一下 MVC 设计模式。MVC 将应用程序分为三个...
通过这个简单的应用,你可以学习到 SpringMVC 的基本使用,包括配置、Controller 的编写以及请求的处理。随着对 SpringMVC 的深入理解,你将能够构建更复杂、功能丰富的 Web 应用程序。在这个过程中,不断实践和阅读...
SpringMVC是Java Web开发中的一个关键框架,它属于Spring框架的一部分,主要负责处理HTTP请求并返回响应。SpringMVC以其强大的功能、灵活性和模块化设计而受到开发者们的广泛青睐。下面将详细介绍SpringMVC的核心...
SpringMvc框架是Java Web开发中广泛使用的MVC(Model-View-Controller)框架,由Spring.IO社区维护。它为开发者提供了构建可维护、高性能、松耦合的Web应用程序的工具和最佳实践。在这个深度解析中,我们将探讨...
在这个“springmvc框架示例源代码”中,我们可以深入理解Spring MVC的核心概念和工作流程。 首先,Spring MVC 的核心组件包括DispatcherServlet、Controller、Model、ViewResolver以及各种HandlerMapping和...
SpringMVC是Spring框架的一部分,专门用于构建Web应用程序。...在本项目中,"panda-springmvc"是一个简易版的SpringMVC框架实现,旨在帮助理解...在学习过程中,你可以逐步探索这些功能,提升对SpringMVC框架的掌握程度。
《黑马程序员SpringMVC课堂笔记》是一份详细记录了SpringMVC框架学习过程的资料,主要针对Java EE开发者,特别是那些希望通过黑马程序员的教程来提升自己SpringMVC技能的学员。SpringMVC作为Spring框架的重要组成...
在CRM项目(SSM框架版)中,开发者会学习到以下关键知识点: 1. **环境搭建**:包括安装JDK、设置环境变量,配置IDE(如IntelliJ IDEA或Eclipse),导入SSM相关jar包或使用Maven/Gradle管理依赖。 2. **Spring配置...
SpringMVC是Spring框架的一个模块,专为构建Java Web应用程序而设计。它是Model-View-Controller(MVC)设计模式的实现,旨在简化Web开发,提高代码的可测试性和可维护性。本压缩包包含SpringMVC的源码,对于学习和...
搭建一个纯SpringMVC框架的过程包括以下步骤: 1. 引入SpringMVC相关的依赖库。 2. 配置web.xml以启动DispatcherServlet。 3. 创建SpringMVC的配置文件,如spring-servlet.xml,配置处理器映射器、适配器、视图解析...
**SpringMVC 入门与框架搭建** SpringMVC 是 Spring 框架...随着对 SpringMVC 的深入学习,你可以了解到更多高级特性,如拦截器、异常处理、数据绑定、AOP 集成等,这些都能帮助你构建更高效、更健壮的 Web 应用程序。
JavaEE SpringMVC框架是一个广泛应用于企业级Web开发的强大工具,它简化了Java后端与前端的交互,提供了良好的组织架构以及对MVC设计模式的支持。在这个“JavaEE SpringMVC框架例子”中,我们将深入探讨SpringMVC的...
虽然是springmvc框架的系统学习,但涉及了spring框架,因为springmvc本身就是spring框架的延伸,无缝连接。学习项目是一个轻量级的超市管理系统,涉及spring+springmvc+jdbc+maven管理框架,也把SSM框架涉及的大部分...
SpringMvc框架的核心组件包括DispatcherServlet、ModelAndView、Controller、HandlerMapping和HandlerAdapter等。DispatcherServlet作为前端控制器,接收请求并分发给合适的处理器。Controller接口或基于注解的@...