美文网首页
spring mvc常见面试题

spring mvc常见面试题

作者: 原点_da4e | 来源:发表于2019-11-05 16:34 被阅读0次

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

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

    SpringMVC的流程

    1.用户发送请求到DispatcherServlet
    2.DispatcherServlet 收到请求后调用HandleMapping 处理器 ,请求获取Handle
    3.DispatcherServlet根据url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
    4.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。jar
    2.在配置文件中配置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 发布!

    相关文章

      网友评论

          本文标题:spring mvc常见面试题

          本文链接:https://www.haomeiwen.com/subject/jvhebctx.html