Spring Web MVC学习笔记:原理简介与环境搭建
来源:互联网 发布:手机解锁软件 编辑:程序博客网 时间:2024/05/29 07:35
简介
引自官方文档并进行翻译:
Spring Web MVC是一个基于MVC(模型、试图、控制器)设计模式的Web框架。
Spring Web MVC的核心是用来将请求分派给控制器的DispatcherServlet,它使用配置的方式完成控制器映射,同时它也提供对视图解析、本地化、时区、主题解析和文件上传的支持。
Spring Web MVC的默认控制器是基于@Controller和@RequestMapping注解的,通过这种方式,它可以提供广泛而且灵活的处理方法。随着Spring 3.0的引入,@Controller机制还允许您通过@PathVariable注解和其他功能创建RESTful Web站点和应用程序。
特性
Spring Web MVC相比于其它框架有很多特性
- 清晰的角色划分。每一个角色如 controller,validator,command object,form object,model object,DispatcherServlet,handler mapping,view resolver等等都可以用专门的对象完成
- 框架和作为JavaBeans的应用程序类都拥有强大而直观的配置功能。这包括跨上下文的引用,如从Web控制器到业务对象和验证器
- 适应性,非侵入性和灵活性。你可以定义任何所需的控制器方法签名,在给定场景下可能使用一些注解(@RequestParam,@RequestHeader,@PathVariable等)
- 可重用的业务代码。你可以将现有业务对象用作命令或表单对象,而不是拷贝它们以扩展特定的框架基类
- 可定制的绑定和验证。类型不匹配作为应用程序级别的错误会保留错误的值,使用本地化的日期和数字绑定等,而不是使用纯String表单对象再手动解析和转换成业务对象
- 可定制的处理器映射和视图解析。处理器映射和视图解析策略范围很广泛,从简单的基于URL的配置到复杂的专用解析策略都可以支持。Spring MVC比任何其它需要特定技术的MVC框架都要更加灵活。
- 灵活的模型传输。使用value/key映射的模型传输支持与任何视图技术的轻松集成。
- 可定制的本地化、时区和主题解析,支持使用或不使用Spring标签库的JSP页面、支持JSTL标签库、支持Velocity而不需要任何桥接
- 拥有Spring标签库这个简单但强大的标签库,它提供了对数据绑定和主题的支持,自定义的标签为代码提供了极高的灵活性
- 提供了一个JSP表单标签库,使得表单编写更加简单
- Bean的生命周期限定为当前HTTP请求或HTTP会话
框架原理
Spring Web MVC框架环境搭建
创建项目
为了提前熟练maven的使用,本次环境搭建创建的是一个maven-webapp项目
新建项目后,项目结构大致如下:
为了后期方便,需要对项目的默认结构和内容做以下调整:
在pom.xml文件的build标签内加入如下内容,防止maven在重新导入jar包时重置project language level
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin></plugins>
在pom.xml文件中使用属性标签定义junit包的版本号,并将默认的3.8.1版本改为4.12,因为默认的版本没有文档jar包
<properties> <junit.version>4.12</junit.version></properties>
将项目结构调整到如下图所示,并进行源码根目录、资源根目录等相应的配置
将web.xml修改为3.0版本的约束,因为默认的2.3版本会禁用jsp页面中的EL表达式
在web.xml中通过welcome-file标签修改网站首页文件位置,因为默认的首页文件index.jsp被我们移到了统一的jsp文件夹下
项目依赖引入
暂时只引入最基本的依赖,后期将根据需要引入其它包,方便理清各包的作用和关系。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version></dependency>
Tomcat配置
- 将On frame deactivation,On update action配置为Update classes and resources,实现代码和资源的热更新,避免无意义的服务器重启
- 将部署类型选为explored,方便资源热更新
运行结果
好了,基本的介绍和环境搭建就这些了,明天就可以正式学习Spring Web MVC了。。。
- Spring Web MVC学习笔记:原理简介与环境搭建
- Spring-web-mvc环境搭建
- Java 学习笔记09:Spring搭建MVC WEB项目
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建 .
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建
- web框架之Spring-MVC环境搭建
- Spring Boot学习笔记:(一)简介与HelloWorld搭建
- Spring MVC Maven 环境搭建与部署
- Spring MVC环境搭建与基本操作
- Spring学习笔记 搭建环境
- Spring Web MVC 原理学习(上)
- Spring Web MVC 原理学习(下)
- Spring Web MVC 简介
- ButterKnife 使用方法
- C 中的typedef struct
- 多线程的创建
- 浅谈解析XML文件的跨浏览器实例
- HttpClient4.5 使用http连接池发送http请求深度示例
- Spring Web MVC学习笔记:原理简介与环境搭建
- jQuery插件扩展
- dequeueReusableSupplementaryViewOfKind:kind ... 的返回类型一直是UICollectionReusableView
- 矩阵论笔记(三)——欧氏空间与正交变换
- Xcode Run或者Archive报错,但是不显示buildFailed原因的解决方案
- webmagic根据xpath解析页面
- LogUtil
- 加密算法之C#兼容PHP中sha1加密
- Android开发录音和播放音频的步骤(动态获取权限)