SpringMVC(一)

Spring框架提供了构建Web应用程序的全功能MVC模块。通过策略接口Spring框架是高度可配置的,而且支持多种视图技术,例如JavaServerPages(JSP)技术,Velocity,Tiles(Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离),iText(一种生成PDF报表的Java组件)和POI.(POI提供API给Java程序对Microsoft Office格式档案读和写的功能).SpringMVC框架并不知道使用的视图,所以不会强迫只使用jsp技术。SpringMVC分离了控制器,模型对象,分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

Spring的MVC是基于servlet功能实现的,通过实现Servlet接口的DispatchSerlver来封装其核心功能实现,通过将请求分派给处理程序,同时带有可配置的处理程序映射,视图解析,本地语言,主题解析以及上载文件支持。默认的处理程序是非常简单的Controller接口,只有一个方法ModelAndView handleRequest(request,response)。Spring提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,俺么可以继承AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承AbstractWizardFromController.

SpringMVC或者其他比较成熟的MVC框架而言,解决的问题无外乎三点:

(1)将web页面的请求传给服务器。

(2)根据不同的请求处理不同的逻辑单元

(2)返回处理结果数据并跳转至响应的页面。

我们首先通过一个示例来快速回顾SpringMVC的使用。

1.SpringMVC快速体验


(1)配置web.xml.

一个web中可以没有web.xml文件,也就是说web.xml不是web工程必须的。web.xml文件用来初始化配置信息:比如Welcom页面,servlet,servlet-mapping,filter,listener,启动加载级别等。但是,SpringMVC的实现原理是通过servlet拦截所有URL来达到控制的目的,所以web.xml是必须的。

下面介绍web.xml的配置方式:

        <!-- SpringMVC的前端控制器 -->
        <!-- 当DispatcherServlet载入后,它将从一个XML文件中载入Spring的应用上下文 -->
        <display-name>Archetype Created Web Application</display-name>
        <servlet>
             <servlet-name>springServlet</servlet-name>
	     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
             <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring-mvc.xml</param-value>
        </init-param>
            <load-on-startup>1</load-on-startup>
	</servlet>
        <servlet-mapping>
	     <servlet-name>springServlet</servlet-name>
	     <url-pattern>/</url-pattern>
	</servlet-mapping>
        <!-- 配置上下文载入器 -->
        <!-- 上下文载入器载入除DispatcherServlet载入的配置文件之外的其它上下文配置文件 -->
        <!-- 最常用的上下文载入器是一个Servlet监听器,其名称为ContextLoaderListener -->
       <listener>
	     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
        <!-- 使用ContextLoaderListener配置时,需要告诉它Spring配置文件的位置 -->
       <context-param>
	      <param-name>contextConfigLocation</param-name>
	      <param-value>classpath:spring/applicationContext-spring.xml</param-value>
	</context-param>

Sring的MVC之所以要配置web.xml,其实最关键的是要配置两个地方。

  • contextConfigLocation:Spring的核心就是配置文件,可以说配置文件是Spring中必不可少的东西,而这个参数就是使Web与Spring的配置文件相结合的一个关键配置
  • DispatcherServlet:包含了SpringMVC的请求逻辑,Spring使用此类拦截Web请求进行相应的逻辑处理


之后可以在Spring中加入这样一段配置

	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/view/" />
		<property name="suffix" value=".jsp" />
	</bean>

InternalResourceViewResolver是一个辅助Bean,会在ModelAndView返回的视图名前加上prefix指定的前缀,再在最后加上suffix指定的后缀,例如:由于XXController返回的ModelAndView中的视图名是testview,故该视图解析器将在/WEB-INF/jsp/testview.jsp处查找视图。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值