有关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);

浙公网安备 33010602011771号