springMvc相关面试题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/panhaigang123/article/details/79587578
springMVC的工作流程
        1、用户向服务器发送请求 被DispatcherServlet捕获
        2、DispatcherServlet查询处理器映射器(HandlerMapping) 处理器根据请求的URL信息来决定由那个控制器处理
        3、Controller进行业务逻辑处理后 返回一个ModelAndView给DispatcherServlet
        4、DispatcherServlet根据返回的ModelAndView,选择一个合适的ViewResolver进行解析工作
        5、ViewResolver结合Model和view来渲染视图 最后将结果返回给客户端
        
如何解决post和get请求中文乱码问题
        可以在web.xml中配置一个过滤器 统一设置字符集 
        在tomcat的conf目录中修改server.xml==》在<connector>标签中添加URIEncoding="utf-8"

SpringMvc与Struts2的主要区别
        springMvc的入口是一个servlet  Struts2的入口是一个filter过滤器
        springMvc是基于方法开发,传递参数是通过方法形参 Struts2是基于类的开发 传递参数是通过类的属性,只能设计为多例
        
springMvc用什么对象从后台向前台传递数据
        通过Model或Map对象 使用put方法把设进去 前台就可以通过el表达式拿到
        
springmvc怎么和AJAX相互调用的
        1、action参数中添加Outputstream 通过json-lib等json框架将对象转为json字符串 通过OutputStream输出
        2、通过Jackson框架可以把Java里面的对象直接转化成js可以识别的json对象
                需要添加Jackson相关jar包
                配置jackson相关的消息转换器
                返回object或list 要在方法前加上@ResponseBody
                
springmvc的控制器是不是单例模式,如果是有什么问题,怎么解决
        是单例模式 在多线程访问的时候有线程安全问题  在方法中添加字段

springmvc中的控制器的注解一般用哪个,有没有别的注解可以代替
        一般用@Conntroller 表示控制层的接入
        @RequestMapping  当前方法对外访问的路径映射 注解里加上method=RequestMethod.GET|DELETE|PUT|POST可以用来请求限定 
        rest是一种设计风格 网络上的操作都是操作资源 资源的四个动作 GET DELETE PUT POST

猜你喜欢

转载自blog.csdn.net/panhaigang123/article/details/79587578