spring mvc常见面试题

什么是spring mvc , 谈谈对spring mvc的理解

spring mvc 是基于java实现的mvc设计模式的web轻量级框架,将复杂的web应用分解为Model , View ,Controller 的职责分解,方便开发人员开发,维护

SpringMVC的流程

1.用户发送请求到DispatcherServlet2.DispatcherServlet 收到请求后调用HandleMapping 处理器 ,请求获取Handle3.DispatcherServlet根据url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet4.DispatcherServlet 调用 HandlerAdapter处理器适配器;5.HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);6.Handler执行完成返回ModelAndView;7.HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;8.DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析9.ViewResolver解析后返回具体View;10.DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)11.DispatcherServlet响应用户。

SpringMVC怎么样设定重定向和转发的?

1.转发:在返回值前面加"forward:",譬如"forward:user.do?name=method4"转发 地址栏不发生改变 ,请求一次2.重定向:在返回值前面加"redirect:",譬如"redirect:http://www.baidu.com"重定向 地址栏发生改变,请求两次

SpringMvc怎么和AJAX相互调用的

1.加入Jackson。jar2.在配置文件中配置json的映射3.在Ajax方法里可以直接返回ObjectList , 但前面要加上@ResponseBody注解

8、如何解决POST请求中文乱码问题,GET的又如何处理呢?

1解决post请求乱码问题:

在web.xml中配置一个CharacterEncodingFilter过滤器,设置成utf-8;

<filter>

    <filter-name>CharacterEncodingFilter</filter-name>

    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>utf-8</param-value>

    </init-param>

</filter>

<filter-mapping>

    <filter-name>CharacterEncodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

2get请求中文参数出现乱码解决方法有两个:

①修改tomcat配置文件添加编码与工程编码一致,如下:


<ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

 ②另外一种方法对参数进行重新编码:


String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")

ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码。

spring mvc 的注解有那些

@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。

@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

想要拦截get方法请求

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

本文由博客一文多发平台 OpenWrite 发布!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值