f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势

  性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差不多,比Struts1要高

f-sm-2. 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么

  SpringMvc的是DispatchServlet,Struts1的是ActionServlet,Struts2的是StrutsPrepareAndExecuteFilter

f-sm-3. SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决

  是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段

f-sm-4. SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代

  一般用@Conntroller注解,表示是表现层,不能用用别的注解代替.

f-sm-5. @RequestMapping注解用在类上面有什么作用

  用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

f-sm-6. 怎么样把某个请求映射到特定的方法上面

  直接在方法上面加上注解@RequestMapping,并且在这个注解里面写上要拦截的路径

f-sm-7. 如果在拦截请求中,我想拦截get方式提交的方法,怎么配置

  可以在@RequestMapping注解里面加上method=RequestMethod.GET

f-sm-8. 如果在拦截请求中,我想拦截提交参数中包含"type=test"字符串,怎么配置

  可以在@RequestMapping注解里面加上params="type=test"

f-sm-9. 我想在拦截的方法里面得到从前台传入的参数,怎么得到

  直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样

f-sm-10. 如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象

  直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面

f-sm-11. 怎么样在方法里面得到Request,或者Session

  直接在方法的形参中声明request,SpringMvc就自动把request对象传入

f-sm-12. SpringMvc中函数的返回值是什么.

  返回值可以有很多类型,有String, ModelAndView,当一般用String比较好

f-sm-13. SpringMvc怎么处理返回值的

  SpringMvc根据配置文件中InternalResourceViewResolver的前缀和后缀,用前缀+返回值+后缀组成完整的返回值

f-sm-14. SpringMVC怎么样设定重定向和转发的

  在返回值前面加"forward:"就可以让结果转发,譬如"forward:user.do?name=method4" 在返回值前面加"redirect:"就可以让返回值重定向,譬如"redirect:http://www.baidu.com"

f-sm-15. SpringMvc用什么对象从后台向前台传递数据的

  通过ModelMap对象,可以在这个对象里面用put方法,把对象加到里面,前台就可以通过el表达式拿到

f-sm-16. SpringMvc中有个类把视图和数据都合并的一起的,叫什么

  叫ModelAndView

f-sm-17. 怎么样把ModelMap里面的数据放入Session里面

  可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key

f-sm-18. SpringMvc怎么和AJAX相互调用的

  通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象
具体步骤如下
1.加入Jackson.jar
2.在配置文件中配置json的映射
3.在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解

f-sm-19. 当一个方法向AJAX返回特殊对象,譬如Object,List等,需要做什么处理

  要加上@ResponseBody注解

f-sm-20. SpringMvc里面拦截器是怎么写的

  有两种写法,一种是实现接口,另外一种是继承适配器类,然后在SpringMvc的配置文件中配置拦截器即可:
<!-- 配置SpringMvc的拦截器 -->
<mvc:interceptors>
<!-- 配置一个拦截器的Bean就可以了 默认是对所有请求都拦截 -->
<bean id="myInterceptor" class="com.et.action.MyHandlerInterceptor"></bean> <!-- 只针对部分请求拦截 -->
<mvc:interceptor>
<mvc:mapping path="/modelMap.do" />
<bean class="com.et.action.MyHandlerInterceptorAdapter" />
</mvc:interceptor>
</mvc:interceptors>

f-sm-21. 讲下SpringMvc的执行流程

       系统启动的时候根据配置文件创建spring的容器, 首先是发送http请求到核心控制器disPatherServlet,spring容器通过映射器去寻找业务控制器,
使用适配器找到相应的业务类,在进业务类时进行数据封装,在封装前可能会涉及到类型转换,执行完业务类后使用ModelAndView进行视图转发,数据放在model中,用map传递数据进行页面显示。

Spring MVC知识的更多相关文章

  1. 浅谈Spring MVC知识

    关于MVC框架,我相信大家都不陌生,都会说也就是模型-视图-控制器这三层的框架结构,如果你参加面试的时候考官会问:“MVC框架是什么?你说一说.”其实我们都知道这个问题还需要问的,只要你是一个开发人员 ...

  2. Spring MVC 知识总结

    参考文章:http://www.oschina.net/question/84460_9608 孔浩视频 1. 几个关键类: RequestMappingHandlerMapping 和 Reques ...

  3. Spring MVC知识梳理

    同上一篇博客,复习梳理SpringMVC知识点,这次的梳理比较快,很多细节没有顾虑到,后期可能会回来补充 1. 整体架构 1.1 在学习了SSM框架后我们来理清三者的应用层面 浏览器发送请求,请求到达 ...

  4. spring、spring mvc、mybatis框架整合基本知识

    学习了一个多月的框架知识了,这两天很想将它整合一下.网上看了很多整合案例,基本都是基于Eclipse的,但现在外面公司基本都在用Intellij IDEA了,所以结合所学知识,自己做了个总结,有不足之 ...

  5. Spring MVC基础知识整理➣拦截器和自定义注解

    概述 Spring MVC中通过注解来对方法或者类进行动态的说明或者标注,类似于配置标识文件的属性信息.当标注的类或者方式被使用时候,通过提取注解信息来达到对类的动态处理.在 MVC中,我们常用的注解 ...

  6. spring笔记4 spring MVC的基础知识4

    //todo 5,spring MVC的本地化解析,文件上传,静态资源处理,拦截器,异常处理等 spring MVC 默认使用AcceptHeaderLocalResolver,根据报文头的Accep ...

  7. spring笔记3 spring MVC的基础知识3

    4,spring MVC的视图 Controller得到模型数据之后,通过视图解析器生成视图,渲染发送给用户,用户就看到了结果. 视图:view接口,来个源码查看:它由视图解析器实例化,是无状态的,所 ...

  8. spring笔记2 spring MVC的基础知识2

    2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面 ...

  9. spring笔记1 spring MVC的基础知识1

    1,spring MVC的流程 优秀的展现层框架-Spring MVC,它最出彩的地方是注解驱动和支持REST风格的url.   流程编号 完成的主要任务 补充 1 用户访问web页面,发送一个htt ...

随机推荐

  1. Rafy 框架 - 时间戳插件

    本文将解释 Rafy 框架中的时间戳插件的场景.使用方法.原理. 场景 在开发各类数据库应用系统时,业务领域实体往往需要包含"创建时间"."最后更新时间".&q ...

  2. chrome 全屏 的两种方式

    新建脚本start.bat 自动全屏模式 "C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk http: ...

  3. 【原创】navicat for sqlite 11.1.12 patch 永久试用 不报毒

    因为最近需要用这个但是网上都是注册机没有成功注册,所以就自己动手使用ollydbg开刀,    修改成了永久试用版本. 着急用所以没仔细分析,暂时先这样吧. 这个下载版本 http://dlsw.ba ...

  4. Docker 学习7 Dockerfile详解

    一.镜像的生成途径 1.使用当前进程替换上一个进程 exec 2.生成方式 3.dockerfile制作镜像要求 a.要有专有的工作目录. b.要有专门的制作文件,文件名首字母大写 c.如果要打包很多 ...

  5. sublime text 3 package Install 安装失败解决方法

    失败原因为官网地址被墙,导致channel_v3文件无法访问. 解决方法: 点击Preferences——>Package Settings——>Package Control——> ...

  6. 【Java并发编程二】Java并发包

    1.Java容器 1.1.同步容器 Vector ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时 ...

  7. centos docker-ce安装

    懂得自然懂 https://yeasy.gitbooks.io/docker_practice/content/install/centos.html

  8. JAVA基础复习与总结<七> File类_基本的IO概念_输入输出

    File类 1.操作目录  mkdir() 创建目录,必须确保父目录存在,如果不存在,创建失败 mkdirs() list() 文件:目录字符串形式 ,只返回目录和文件的名称 listFiles()  ...

  9. python利用xlrd读取excel文件始终报错原因

    1.代码按照网上百度的格式进行书写如下: 但运行后,始终报错如下: 百度了xlrd网页: 分明支持xls和xlsx两种格式的文件,但运行始终报错. 最后找到原因是因为我所读取的文件虽然是以.xls命名 ...

  10. java对文件的基本操作

    package cn.edu.fhj.day009.FileDemo; import java.io.File; import java.io.IOException; public class Fi ...