内容发布更新时间 : 2024/12/23 21:18:14星期一 下面是文章的全部内容请认真阅读。
使用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容器启动的时候就进行初始化
第五, 配置一个映射
第七,
化类 通过控制中心来转发 第二步 前段控制器通过映射将请求转发业务controller
第一 通过Handler Mapping 主键映射 由当前的主键构成的映射 映射到具体的控制器(controller) 最核心的就是一个依赖注入,也就是一个大的对象工厂
第二 配置一个spring 的配置文件 其主要的就是
第三 默认的会在/WEB-INF/下面去寻找[servletName]-servlet.xm配置文件
第四 在[servletName]-servler.xml文件里面配置
第五 在文件里面定义
是简单的通过URL的不同决定处理到不同的控制器的映射 这个控制器有个重要的属性 mappings 映射列表
第三步 如何实现控制器
第一 最简单的方法 实现一个@controller 接口 或者 AbstractController抽象类。 称)
第二 具体的逻辑视图的实现需要在 ViewResolver&View(把返回的逻辑视图映射到实际具体的视图实现) 配置方法 是在
逻辑视图是按照那种方法来解析实现的 完成逻辑视图到真正视图的映射 二 基于注解的控制器 controller 直接跳转页面的控制器
注意:WEB-INF下面的页面是不能够通过url来直接访问的 将页面给隐藏起来 @用于直接跳转页面的
ParaneterizableViewController(返回的是一个view的名称), UrlFilenameViewController @在同一控制器类中处理多个请求的
MultActionConttroller.具体调用的方法通过MethodNameResolver(InternalPathMethodResolver.ParameterMethosResolver,PropertiesMethdResolver) 第一步
第一方式ParaneterizableViewController
使用一个现成的controller 通过配置 一个参数化的controller 类 称 ” 决定 handleRequest方法 返回的是一个ModelAndView类型(返回的是一个逻辑上的视图名 class=”org.springframework.web.servlet.mvc.ParameterizableViewController”>其中有一个参数 视图名称
这个方式就是直接通过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(需要转换的类别,自己定义的一个属性编辑器)