这几天在看用Spring开发的一个小程序。它的界面层也是用的Spring开发的。
(一)
首先Spring建立WEB层时的流程如下:
一般来说,界面层是与用户打交道的层面。用户通过在地址栏输入地址从而发出请求。在Spring的MVC框架中,第一个接受这个请求的的组件是Spring MVC中的前端控制器dispatcherServlet。它的功能是找出一个或多个控制器来处理用户输入的请求。
控制器一般会返回一个视图对象的逻辑名。
dispatcherServlet会需要一个视图解析器来查找渲染对象。
最后diapatcherServlet将渲染结果发送给用户。
(二)
这里面需要的配置文件如下:
1.在web.xml中配置dispatcherServlet,dispatcherServlet和一般的servlet一样,<servlet-name> <servlet-mapping>进行配置,<servlet-name>中设置的名字就是以后dispatcherServlet试图载入应用上下文的文件.
eg:<servlet-name>dispatcher</servlet-name>
<servlet-mapping>则是决定这个dispatcherServlet要处理的URL
2.在web.xml中配置如下
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/applicationContext-service.xml,/WEB-INF/classes/applicationContext-dao.xml
</param-value>
</context-param>
将一个配置文件分成三个.
2.映射URL和控制器的bean(写在dispatcher中)
<bean name="/leaveAction.do" class="com.oyy.osworkflowdemo.action.LeaveAction">
<property name="leaveService" ref="leaveService" />
<property name="methodNameResolver">//因为采用了多动作控制器而用到的方法解析的途径.
<ref bean="methodNameResolver" />
</property>
</bean>
3.视图解析器的配置bean(写在dispatcher中)
(三)
映射处理器的种类:
1. BeanNameUrlHandlerMapping
最简单 eg:<bean name="/listCourse.htm" class="com.springinaction.training.mvc.ListCoursesController">
.....
2. SimpleUrlHandlerMapping
和BeanNameUrlHandlerMapping差不多
不同在于:
<bean id="
simpleUrlMapping" class="org.springframework.web.servlet.handler.
SimpleUrlHandlerMapping">
<property name="mapping"
<props>
<prop key="/listCourse.htm">listCourseController</prop>
<prop key="/register.htm">registerController</prop>
<prop key="/login.htm">loginController</prop>
...
</props>
</property>
</bean>
3. CommandsPathMapHandlerMapping
暂时没看懂.
(四)处理器的种类
1.最简单的实现Controller接口或继承AbstractController实现handleRequestInternal()
用这种控制器的前提是你不需要给视图传递参数
2.处理命令的处理器
实现BaseCommandController接口或继承AbstractCommandController实现handle()
这个控制器会自动将参数绑定到命令对象中.
3.处理表单提交的处理器
实现AbstractFormController接口或继承SimpleFormController实现doSubmitAction().
doSubmitAction()这个方法不返回视图的逻辑对象. 如果要返回视图逻辑对象就要覆写OnSubmit()P261.
验证表单完整性
一般在调用doSubmitAction()时保证表单数据的完整性非常重要.可以使用org.springframework.validation.Validator接口提供验证功能.
它包含两个需要实现的方法.
boolean supports(Class clazz)
void validatoe(Object command ,Errors errors)
要用到验证器肯定要把它装配到表单提交控制器的bean的属性当中
<class id="..controller" class="com.......RegisterStudentController">
...
<property name="validator">
<bean class="自己写的控制器bean类"
</property>
</bean>
(五)视图解析器的种类
1.InternalResourceViewResolver
2.BeanNameViewResolver
3.ResourceBoundleViewResolver
4.XmlViewResolver
InternalResourceViewResolver:
说白了就是使用前缀后缀来定位视图文件(如JSP文件)的位置.
BeanNameViewResolver
根据控制器返回的逻辑视图的名字在应用上下文中(在这就是dispatcher.xml)找到与之相同名字的bean,这个bean的class属性就是视图解析器.对应的视图文件的bean也在diaptcher.xml中
XmlViewResolver
于上面的那个相似,唯一不同的是找与逻辑视图名字相同的bean时,不是在应用上下文,而是在一个独立的XML文件中找(比如training-views.xml).默认的就是/WEB-INF/views.xml.对应的视图文件在training-views.xml
ResourceBoundleViewResolver从资源包中解析视图
主要应用于国际化方面.
使用多视图解析时,依据就是<property name="order"><value>n</value></property>
哈哈~~~大的梗概终于完成了
[/size][size=12]
分享到:
相关推荐
标题 "Spring3.1.3 Ioc在Web容器中的建立" 涉及的是Spring框架的一个关键特性——依赖注入(Dependency Injection,简称DI),以及如何在Web应用环境中配置和使用它。Spring是Java开发中最流行的轻量级框架之一,...
Spring Web 框架是Java开发中的一个核心组件,它为构建现代Web应用程序提供了全面的支持。这个框架由多个模块组成,每个模块都有其特定的功能,共同构建了一个强大的后端架构。以下是Spring Web框架的主要模块及其...
- `spring-context`: 建立在核心之上,提供了一种基于POJO的配置方法,以及事件传播机制。 - `spring-expression`: 实现了强大的表达式语言,可用于运行时查询和操作对象图。 2. **数据访问/集成模块**:提供了对...
Spring Cloud是基于Spring Boot的一系列工具集,旨在快速建立分布式系统中的一些常见模式(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态)。...
在Java Web开发领域,Spring、Spring MVC和Hibernate是三个非常重要的框架,它们分别负责不同的职责,共同构建出高效、灵活的Web应用。本案例实践将深入探讨这三个框架的结合使用,帮助开发者理解如何在实际项目中...
本书分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented ...
【Java Web开发】是IT领域中的一个重要分支,它结合了Java编程语言与Web技术,用于构建动态、交互式...通过深入学习这些PPT内容,你可以逐步建立起对Java Web开发的全面认识,为成为一名合格的Web开发者奠定坚实基础。
Web层是用户交互的接口,主要包括: - 控制器:处理HTTP请求和响应。 - 视图层:用户界面的呈现。 **3.5 可选服务层** 服务层是可选的,用于封装业务逻辑,包括: - 服务接口定义:定义业务逻辑接口。 - 服务实现...
### 用Hibernate和Spring开发持久层 #### 一、引言 随着企业级应用的不断发展,数据持久化层的设计和实现成为了系统架构中的关键部分。本文将深入探讨如何结合使用Hibernate和Spring框架来构建高效、稳定的事务...
综上所述,"Spring mvc、Spring、Spring jdbc 整合 demo"是一个实践性的学习项目,它涵盖了Spring框架的关键组件,帮助开发者建立起从Web前端到数据库后端的完整应用开发能力。通过深入学习和实践,可以提升Java...
Spring MVC是Spring框架的一部分,专为构建Web应用而设计,它采用模型-视图-控制器(MVC)架构模式,实现了业务逻辑与展示层的分离。Hibernate则是一个强大的对象关系映射(ORM)工具,能够将数据库操作与Java对象...
如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...
4. **spring-context.jar**:这个jar包建立在core和beans之上,提供了对国际化(I18N)、事件传播、资源加载及校验等的支持。它还支持与JNDI的集成,使得Spring的应用程序能够与现有的企业服务进行交互。 5. **...
3. **Spring Context**: 建立在Core和Beans之上,它扩展了bean工厂,提供了一个更大的上下文,可以处理国际化、资源加载、事件传播等功能。Spring应用上下文是Spring框架的一个重要组件,它可以作为整个应用的全局...
- **Spring Context**:建立在核心容器基础之上,提供了对国际化支持、事件传播、资源加载以及应用层的集成接口等功能的支持。 - **Spring AOP**:提供面向切面编程的支持,允许以声明的方式将切面加入到业务方法中...
【标题】"web spring boot 网页聊天器"是一个基于Spring Boot框架构建的Web应用程序,主要用于实现在线的实时聊天功能。Spring Boot以其简洁、快速的起步方式在现代Web开发中备受青睐,它简化了Spring应用程序的配置...
2. `spring-context`: 建立在核心工具包之上,提供上下文支持,包括事件传播、国际化、资源加载等。 3. `spring-beans`: 描述 Bean 定义和依赖解析的基础设施。 4. `spring-aop`: 面向切面编程的支持,包括切面、...
- **整体架构**:Spring Roo 建立的应用通常包含实体层、服务层、Web 层等典型架构组件。 - **关键技术**: - **AspectJ**:用于支持 AOP(面向切面编程)。 - **Spring**:核心框架,负责依赖注入、MVC 控制等。 ...