spring mvc web项目导入具体包 下载本文

使用spring mvc需要到其官网上下载两个最重要的的文件

Spring-framework-3.3.1.RELEASE-with-docs.zip(发行包和API文件)

Spring-framework-3.0.1.RELEASE-A-dependencies.zip (spring所需要的依赖包) 最核心部分

Org.springframework .beans Org.springframework .core Org.springframework .context Org.springframework .context.support Org.springframework .web.servlet Org.springframework .web-3.0.1.ELEASE.jar Org.springframework.asm-3.0.1.RELEASE.jar Org.springframework.expression-3.0.1.RELEASE.jar 依赖包(logging,主要是写日志)

Com.springsource.org.apache.commons.logging-1.1.1jar Com.springsource.org.apache.commons.logging-sources-1.1.1.jar

Spring MVC大致的运行流程 front controller 前端控制器(总控制中心 DispatcherServlet)然后再到达 controller (自己实现的业务controller) 每个功能都会有一个 再来调用业务处理的实际代码 最后将处理好的结果(视图)返回给视图. 一简单的spring mvc

第一步 实现方法 配置web.xml文件 第一, 注册一个servlet 两个参数

第二, name 和class

第三, 启动参数在web容器启动的时候就进行初始化1 第四, 什么样的情况下调用这个servlet

第五, 配置一个映射 两个参数 第六, 这个里面的是标明需要调用的是注册的servlet

第七, 这个参数是标明是以什么结尾的标示去调用 里面的初始

化类 通过控制中心来转发 第二步 前段控制器通过映射将请求转发业务controller

第一 通过Handler Mapping 主键映射 由当前的主键构成的映射 映射到具体的控制器(controller) 最核心的就是一个依赖注入,也就是一个大的对象工厂

第二 配置一个spring 的配置文件 其主要的就是标签 里面包含多个(这个就是主键) 每个bean里面都包含了 id和class属性 id就是一个标示 其中class 就是对应的java object(自己实现的controller) 当web容器启动的时候就会进行实例化 以此来达到spring的结合的工程

第三 默认的会在/WEB-INF/下面去寻找[servletName]-servlet.xm配置文件

第四 在[servletName]-servler.xml文件里面配置,其中的头部模式定义我们从其他的文件里面去复制过来l

第五 在文件里面定义 也就是控制器 自己实现的controller 第六 需要在 需要定义一个映射器 映射处理器

这个

是简单的通过URL的不同决定处理到不同的控制器的映射 这个控制器有个重要的属性 mappings 映射列表

键值对

控制器名称 key就是url

第三步 如何实现控制器

第一 最简单的方法 实现一个@controller 接口 或者 AbstractController抽象类。 称)

第二 具体的逻辑视图的实现需要在 ViewResolver&View(把返回的逻辑视图映射到实际具体的视图实现) 配置方法 是在

根据返回的逻辑视 图进行拼装 通过request.forward() 的方法 最后通过拼装成一个路径

对model模型进行处理 流程上面规定必须指定一个处理方式 指定model 通过什么方式来处理,这里采用jstl技术处理(可以有多种方式来进行处理),否则会报错! 拼装的前缀 拼装的后缀

逻辑视图是按照那种方法来解析实现的 完成逻辑视图到真正视图的映射 二 基于注解的控制器 controller 直接跳转页面的控制器

注意:WEB-INF下面的页面是不能够通过url来直接访问的 将页面给隐藏起来 @用于直接跳转页面的

ParaneterizableViewController(返回的是一个view的名称), UrlFilenameViewController @在同一控制器类中处理多个请求的

MultActionConttroller.具体调用的方法通过MethodNameResolver(InternalPathMethodResolver.ParameterMethosResolver,PropertiesMethdResolver) 第一步

第一方式ParaneterizableViewController

使用一个现成的controller 通过配置 一个参数化的controller 类

” 决定

handleRequest方法 返回的是一个ModelAndView类型(返回的是一个逻辑上的视图名

class=”org.springframework.web.servlet.mvc.ParameterizableViewController”>其中有一个参数 视图名称

目的就是返回一个视图名称 第二方式 UrlFilenameViewController

这个方式就是直接通过url来解析处视图名称 根据你的请求来解析 如login.do 解析的就是login.jsp 视图

第三中方式 能够封装表单的CommondController 、FromController

让自己的controller来继承AbstractCommondController 并且重写其中的handle方法。 其中有四个参数 request 、response、commond(页面表单提交的数据对象)、Bindexcption(绑

定页面表单对象可能出现的异常)

在[servletName]-servlet.xml中需要配置一个

这个地方就是实现表单数据到 实体数据对象的绑定 实现注入

这里面的数据绑定涉及到一个DataBind对象 getAsText(),setAsTest(),以及setValue()方法 还有一个属性编辑器 proptyEitor

现在定义一个自己的属性编辑器 proptyEitor 这里需要在DataBind 里面注册一个自定义的属性编辑器,重写(初始化绑定器)initBinder方法 ,为该方法里面的binder绑定器重新注册一个属性编辑器registerCustomEditor(需要转换的类别,自己定义的一个属性编辑器)