网站标签制作,360网站兼容模式,中铁广州建设有限公司网站,上海服装外贸公司有哪些SpringMVC1、什么是SpringMVCSpring MVC是一个MVC的开源框架#xff0c;Spring MVC Struts2spring#xff0c;Spring MVC就相当于是Struts2加上Spring的整合#xff0c;但是这里有一疑惑是Spring MVC和Spring是什么样的关系呢。Spring MVC是Spring的一个后续产品#xff0…SpringMVC1、什么是SpringMVCSpring MVC是一个MVC的开源框架Spring MVC Struts2springSpring MVC就相当于是Struts2加上Spring的整合但是这里有一疑惑是Spring MVC和Spring是什么样的关系呢。Spring MVC是Spring的一个后续产品其实就是Spring在原有基础上又提供了Web应用的MVC模块可以简单的把Spring MVC理解为是Spring的一个模块类似于AOP、IOC这样的模块。2、MVC模式MVCMVC是一种设计模式MVC的原理图M-Model 模型完成业务逻辑有JavaBean构成servicedaoentityV-View 视图做界面的展示jsp、htmlC-Controller 接收请求——调用模型——根据结果派发页面servlet3、SpringMVC的优点它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java组件.并且和Spring提供的其他基础结构紧密集成. 不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 可以任意使用各种视图技术,而不仅仅局限于JSP 支持各种请求资源的映射策略 它应是易于扩展的4、SpringMVC的工作原理客户端发送请求到DispatcherServlet DispatcherServlet查询handlerMapping找到处理请求的Controller Controller调用业务逻辑后返回ModelAndView DispatcherServlet查询ModelAndView找到指定视图 视图将结果返回到客户端5、各个组件的说明前端控制器DispatcherServlet不需要工程师开发由框架提供 作用接收请求响应结果相当于转发器中央处理器。可以降低与其他组件之间的耦合度处理器映射器HandllerMapping不需要工程师开发由框架提供 作用根据请求的URL查找HandllerHandllerMapping负责根据用户的请求找到Handller即处理器Soring MVC提供了不同的映射器实现不同的映射方式例如配置文件方式实现接口方式注解方式等处理适配器HandllerAdapter 作用按照特定规则HandllerAdapter要求的规则去执行Handler通过HandllerAdapter对处理器进行执行这是适配器模式的应用通过扩展适配器可以对更多烈性的处理器进行执行。处理器Handler需要工程师开发 注意编写Handler时按照HandlerAdapter的要求去开发这样适配器才可以去正确执行HandllerHandler是继DispatcherServlet前端控制器的后端控制器在DispatcherServlet的控制下Handler对据图的用户请求进行处理由于Handller涉及到具体的用户业务请求所以一般情况需要工程师根据业务需求开发Handler视图解析器ViewResolver不需要工程师开发由框架提供 作用进行视图解析根据逻辑视图名解析成真正的视图ViewViewResolver负责将处理结果生成View视图ViewResovler首先根据逻辑实体名解析成物理实体名成物理视图名即具体的页面地址在生成View视图对象最后对View进行渲染将处理结果通过页面展示给用户。Spring MVC框架提供了很多的View视图类型包括jstView、pdfView视图View需要工程师开发 View是一个接口实现类支持不同的View类型JSP、pdf6、SpringMVC 工作流程用户发起请求到前端控制器DispatcherServlet前端控制器请求处理器映射器HandlerMapping去查找处理器Handle通过XML配置或者注解进行查找找到以后处理器映射器HandlerMapping像前端控制器返回执行链前端控制器DispatcherServlet调用处理器适配器HandlerAdapter去处理器Handler处理器适配器去执行HandlerHandler执行完给处理适配器返回ModelAndView处理器适配器向前端控制器返回ModelAndView前端控制器请求视图解析器ViewResolver去执行视图解析视图解析器像前端控制器返回View前端控制器对视图进行渲染前端控制器向用户响应结果7、SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。8、简单介绍SpringMVC和Struts2的区别有哪些?springmvc的入口是一个servlet即前端控制器而struts2入口是一个filter过虑器。springmvc是基于方法开发(一个url对应一个方法)请求参数传递到方法的形参可以设计为单例或多例(建议单例)struts2是基于类开发传递参数是通过类的属性只能设计为多例。Struts采用值栈存储请求和响应的数据通过OGNL存取数据springmvc通过参数解析器是将request请求内容解析并给方法形参赋值将数据和视图封装成ModelAndView对象最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。9、SpringMvc怎么和AJAX相互调用的通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。 具体步骤如下加入Jackson.jar 在配置文件中配置json的映射 在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上ResponseBody注解10、 RequestMapping注解用在类上面有什么作用是一个用来处理请求地址映射的注解可用于类或方法上。用于类上表示类中的所有响应请求的方法都是以该地址作为父路径。本人会陆续整理出大数据和Java的高频面试题请持续关注大数据健身侠