有关spring MVC的一些问题:mvc框架的理解理解、 spring mvc框架的工作原理、控制器类有几种返回值类型和如何实现、spring mvc如何实现参数的封装与转换

 1.简述什么是mvc设计模式?

1)mvc框架是一种实现了mvc设计模式的框架

2)mvc设计模式包含了:model模型,view视图,Contrallor控制器,

使用mvc设计模式可以可以对代码实现分层管理,是代码的分类更加清晰,在进 行代码编写时也容易实现分工 合作

3)mvc框架不仅仅web开发,在所有程序中都可以采用mvc设计模式进行实现

4)java web开发的常用mvc框架:spring mvc,struts1,sturts2,jsf...

 2.说一说你对mvc框架的理解

MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模 式,它强制性的把应用程序的输入、处理和输出分开。

MVC中的模型、视图、控制器它们分别担负着不同的任务。

 

 3.简述spring mvc框架的工作原理

1、客户端向web服务器(如tomcat)发送一个http请求,web服务器对http请求进行解析,解析后的URL地址如果匹配了DispatcherServlet的映射路径(通过web.xml中的servlet-mapping配置),web容器就将请求交给DispatcherServlet处理。

2、DispatcherServlet接收到这个请求后,再对URL进行解析,得到请求资源标识符(URI)。然后调用相应方法得到的HandlerMapping对象,再根据URI,调用这个对象的相应方法获得Handler对象以及它对应的拦截器。(在这里只是获得了Handler对象,并不会操作它,在SpringMVC中,是通过HandlerAdapter对Handler进行调用、控制的)

3、DispatcherServlet根据得到的Handler对象,选择一个合适的HandlerAdapter,创建其实例对象,执行拦截器中的preHandler()方法

4、在拦截器方法中,提取请求中的数据模型,填充Handler入参,所以所有准备工作都已做好,开始执行Handler(我们写的controller代码并不是能被直接执行,需要有刚才那些操作,才能转变为Handler被执行)。

5、Handler执行完毕后返回一个ModelAndView对象给DispatcherServlet。

6、这个ModleAndView只是一个逻辑视图,并不是真正的视图,DispatcherServlet通过ViewResolver视图解析器将逻辑视图转化为真正的视图(通俗理解为将视图名称补全,如加上路径前缀,加上.jsp后缀,能指向实际的视图)。

7、DispatcherServlet通过Model将ModelAndView中得到的处数据解析后用于渲染视图。将得到的最终视图通过http响应返回客户端。

 

 4.控制器类有几种返回值类型,它们如何实现跳转控制?

spring Contrallor类的方法通常有三种返回值

String类型,默认的使用请求转发方式进行页面的跳转,如果进行重定向需要使用 redirect标记

void类型

ModelAndView类型    构造函数可以指定返回页面的名称,也可以通过setViewName方法 来设置所需要跳转的页面,并且返回的是一个包含模型和视图的ModelAndView对象;

 

 

 5.spring mvc如何实现参数的封装与转换?都有哪些方法?

使用servlet方式接收数据

如:String uid=request.getParameter("uid");

String类型转int类型

intUid=Integer.valueOf(uid);

手动封装数据封装   

UserInfo userInfo=new UserInfo(intUid,userName);

posted @ 2017-11-08 19:17  voter小全  阅读(188)  评论(0)    收藏  举报