SpringMVC面试题

1.SpringMVC 常用注解都有哪些?

@requestMapping:用于请求 url 映射。
@RequestBody: 注解实现接收 http 请求的 json 数据,将 json 数据转换为 java 对象。
@ResponseBody :注解实现将 controller 方法返回对象转化为 json 响应给客户。
@Conntroller:控制器的注解,表示是表现层,不能用用别的注解代替

2、如何开启注解处理器和适配器?

在配置文件中(一般命名为springmvc.xml )通过开启 <mvc:annotation-driven>来实现注解处理器和适配器的开启。

3.如何解决 get 和 post 乱码问题?

解决 post 请求乱码:在 web.xml 里边配置一个 CharacterEncodingFilter 过滤器并设置编码为 utf-8即可。

4.解决 get 请求乱码:
修改 tomcat 配置文件添加编码与工程编码一致。

对参数进行重新编码

String userName = New String(Request.getParameter(“userName”).getBytes(“ISO8859-1”), “ utf-8”);
–ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码。

5.SpringMVC怎么样设置重定向和转发?

在返回值前面加"forward:"就可以让结果转发

如"forward:user.do?name=method4"

在返回值前面加"redirect:"就可以让返回值重定向

如"redirect:http://www.baidu.com"

6.springMVC和struts2的区别有哪些?

A.springmvc的入口是一个servlet即前端控制器(DispatchServlet)
struts2入口是一个filter过虑器(StrutsPrepareAndExecuteFilter)。

B.springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例)

struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

C.springmvc通过参数解析器将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又	将ModelAndView中的模型数据通过reques域传输到页面,Jsp视图解析器默认使用jstl

Struts采用值栈存储请求和响应的数据,通过OGNL存取数据。

7.讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么?

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

8.怎么样把某个请求映射到特定的方法上面

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

9.如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?

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

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

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

11:我想在拦截的方法里面得到从前台传入的参数,怎么得到
直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样
怎么样在方法里面得到Request,或者Session
直接在方法的形参中声明request,SpringMvc就自动把request对象传入

12.SpringMvc怎么和AJAX相互调用的

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

13当一个方法向AJAX返回特殊对象,譬如Object,List等,需要做什么处理?
要加上@ResponseBody注解

**

14.SpringMVC执行流程?

**
1.用户发起请求到前端控制器(Controller)

2.前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查	3.找Handler对象(Model)。

4.HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组

5.前端处理器通过处理器适配器包装后执行Handler对象。

6.处理业务逻辑。

7.Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象。

8.将ModelAndView返回给前端控制器。

视图解析器(ViewResolver)返回真正的视图对象(View)。

9.(此时前端控制器中既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。

返回渲染后的视图 (html/json/xml)返回。

10.给用户产生响应。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值