我对SpringMVC的浅见

之前在学校没接触框架这东西之前只接触过MVC的model1和model2,而真正接触SpringMVC的时候是在一年前,在学习过程中,我这才意识到SpringMVC大大简化了以前的开发工程,到了社会上,不管去面试还是真正去到公司里,好多都是需求SpringMVC的。

面试的时候,有时候面试官会让你回答两个问题

1.谈一谈自己对SpringMVC的理解,如果想简洁明了,我觉得可以这么回答:

SpringMVC是spring提供的构建web项目结构的mvc模块,它实现了对web层的职责解耦,提供了非常灵活的数据验证、格式化和数据绑定机制,主要的是提供了注解机制,利用反射机制原理解决大量配置的问题。

2.讲一下SpringMVC的执行流程,几句话带过就这么说:

客户端发起请求进入到前端控制器(DispatcherServlet),DispatcherServlet请求HandlerMapping寻找Handler,找到后返回给DispatcherServlet,然后执行Handler,执行完成后返回一个ModelAndView对象给处理器适配器,并且由处理器适配器返回给DispatcherServlet,DispatcherServlet调用视图解析器View Resolver解析ModelAndView对象并返回view对象,渲染后返回客户端。

常用的注解:

[email protected] --声明控制器

[email protected]("/person") –声明URL映射

[email protected] –业务接口注入

[email protected] --声明方法返回的不是URL地址而是将值直接写入HTTP response body中

[email protected] --绑定单个请求参数值,写在方法参数前

6.@SessionAttributes("loginUser") -- 将ModelMap中属性名为loginUser的属性放到Session属性列表中,以便这个属性可以跨请求访问

SpringMVC 和 Struts2 的区别

1、SpringMVC基于方法开发的,struts2基于类开发的。SpringMVC将url和Controller方法映射。映射成功后SpringMVC生成一个Handler对象,对象中只包括了一个method。 方法执行结束,形参数据销毁。SpringMVC的Controller开发类似Service开发。

2、SpringMVC可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。(原因就是第一句)

3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。

时间: 2024-10-07 20:19:55

我对SpringMVC的浅见的相关文章

MyEclipse建立SpringMVC入门HelloWorld项目

一.首先,建立空的web project项目: 1. 2. 3. 二.其次,导入先关jar包 1.将jar包导入SpringMVCHelloWorld\WebRoot\WEB-INF\lib目录下 三.接下来修改web.xml文件,在web中,指定我们的DispatcherServlet.(从这里进入SpringMVC的可控范围). 1. 2.web.xml中的内容如下: <?xml version="1.0" encoding="UTF-8"?> &l

SpringMVC后台使用对象接受参数字符串转日期

在springMVC配置文件中加入: <bean id="dateConvert" class="com.iomp.util.DateConvert"/> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property

springMVC+MyBatis+Spring 整合(3)

spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm

SpringMVC 入门

1. SpringMVC 是什么 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring MVC也是要简化我们日常Web开发的. Spring MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServlet:应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

【巨坑】springmvc 输出json格式数据的几种方式!

最近公司项目需要发布一些数据服务,从设计到实现两天就弄完了,心中窃喜之. 结果临近部署时突然发现.....  服务输出的JSON 数据中  date 类型数据输出格式要么是时间戳,要么是  {"date":26,"day":1,"hours":21,"minutes":38,"month":5,"seconds":22,"time":1498484302259,&qu

springmvc 类型转换器 自定义类型转换器

自定义类型转换器的步骤: 1.定义类型转换器 2.类型转换器的注册(在springmvc配置文件处理) 来解决多种日期格式的问题:

springMVC简单例子

spring MVC是显示层的mvc框架,和struts可以比较:和spring.hibernate没有比较性. 一 .开发流程 1)引jar包 //spring_core spring3.2.9core\commons-logging-1.2.jar spring3.2.9core\spring-beans-3.2.9.RELEASE.jar spring3.2.9core\spring-context-3.2.9.RELEASE.jar spring3.2.9core\spring-core

Maven+SpringMVC+Freemarker入门Demo

1 参考http://blog.csdn.net/haishu_zheng/article/details/51490299,用第二种方法创建一个名为mavenspringmvcfreemarker的Maven工程. 2 文件目录结构如下图所示 3 在pom.xml中添加springmvc和freemarker的依赖包,添加完之后的完整内容为 [html] view plain copy <project xmlns="http://maven.apache.org/POM/4.0.0&q