`
Riancy007
  • 浏览: 118841 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

Spring 建立Web层

阅读更多
这几天在看用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容器中的建立

    标题 "Spring3.1.3 Ioc在Web容器中的建立" 涉及的是Spring框架的一个关键特性——依赖注入(Dependency Injection,简称DI),以及如何在Web应用环境中配置和使用它。Spring是Java开发中最流行的轻量级框架之一,...

    Spring的web框架-外文翻译.pdf

    Spring Web 框架是Java开发中的一个核心组件,它为构建现代Web应用程序提供了全面的支持。这个框架由多个模块组成,每个模块都有其特定的功能,共同构建了一个强大的后端架构。以下是Spring Web框架的主要模块及其...

    spring4.1.0.RELEASE版jar包【整合包,包含所有的主要jar包】-正式版下载

    - `spring-context`: 建立在核心之上,提供了一种基于POJO的配置方法,以及事件传播机制。 - `spring-expression`: 实现了强大的表达式语言,可用于运行时查询和操作对象图。 2. **数据访问/集成模块**:提供了对...

    Spring5.pdf

    Spring Cloud是基于Spring Boot的一系列工具集,旨在快速建立分布式系统中的一些常见模式(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态)。...

    Java Web 案例实践,基于(spring,spring mvc,hibernate)框架实现的

    在Java Web开发领域,Spring、Spring MVC和Hibernate是三个非常重要的框架,它们分别负责不同的职责,共同构建出高效、灵活的Web应用。本案例实践将深入探讨这三个框架的结合使用,帮助开发者理解如何在实际项目中...

    Spring.in.Action(中文版)

    本书分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented ...

    零基础学Java[1].Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).rar

    【Java Web开发】是IT领域中的一个重要分支,它结合了Java编程语言与Web技术,用于构建动态、交互式...通过深入学习这些PPT内容,你可以逐步建立起对Java Web开发的全面认识,为成为一名合格的Web开发者奠定坚实基础。

    spring-roo-docs

    Web层是用户交互的接口,主要包括: - 控制器:处理HTTP请求和响应。 - 视图层:用户界面的呈现。 **3.5 可选服务层** 服务层是可选的,用于封装业务逻辑,包括: - 服务接口定义:定义业务逻辑接口。 - 服务实现...

    用Hibernate和Spring开发持久层

    ### 用Hibernate和Spring开发持久层 #### 一、引言 随着企业级应用的不断发展,数据持久化层的设计和实现成为了系统架构中的关键部分。本文将深入探讨如何结合使用Hibernate和Spring框架来构建高效、稳定的事务...

    Spring mvc、 Spring、 Spring jdbc 整合 demo

    综上所述,"Spring mvc、Spring、Spring jdbc 整合 demo"是一个实践性的学习项目,它涵盖了Spring框架的关键组件,帮助开发者建立起从Web前端到数据库后端的完整应用开发能力。通过深入学习和实践,可以提升Java...

    Java Web 案例实践,基于(spring、 spring mvc、 hibernate)框架实现的

    Spring MVC是Spring框架的一部分,专为构建Web应用而设计,它采用模型-视图-控制器(MVC)架构模式,实现了业务逻辑与展示层的分离。Hibernate则是一个强大的对象关系映射(ORM)工具,能够将数据库操作与Java对象...

    Spring MVC 入门实例

    如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    4. **spring-context.jar**:这个jar包建立在core和beans之上,提供了对国际化(I18N)、事件传播、资源加载及校验等的支持。它还支持与JNDI的集成,使得Spring的应用程序能够与现有的企业服务进行交互。 5. **...

    spring核心jar包

    3. **Spring Context**: 建立在Core和Beans之上,它扩展了bean工厂,提供了一个更大的上下文,可以处理国际化、资源加载、事件传播等功能。Spring应用上下文是Spring框架的一个重要组件,它可以作为整个应用的全局...

    学习笔记:尚硅谷Spring6基础篇

    - **Spring Context**:建立在核心容器基础之上,提供了对国际化支持、事件传播、资源加载以及应用层的集成接口等功能的支持。 - **Spring AOP**:提供面向切面编程的支持,允许以声明的方式将切面加入到业务方法中...

    web spring boot 网页聊天器

    【标题】"web spring boot 网页聊天器"是一个基于Spring Boot框架构建的Web应用程序,主要用于实现在线的实时聊天功能。Spring Boot以其简洁、快速的起步方式在现代Web开发中备受青睐,它简化了Spring应用程序的配置...

    spring3.1.2

    2. `spring-context`: 建立在核心工具包之上,提供上下文支持,包括事件传播、国际化、资源加载等。 3. `spring-beans`: 描述 Bean 定义和依赖解析的基础设施。 4. `spring-aop`: 面向切面编程的支持,包括切面、...

    spring roo使用文档

    - **整体架构**:Spring Roo 建立的应用通常包含实体层、服务层、Web 层等典型架构组件。 - **关键技术**: - **AspectJ**:用于支持 AOP(面向切面编程)。 - **Spring**:核心框架,负责依赖注入、MVC 控制等。 ...

Global site tag (gtag.js) - Google Analytics