本文目录一览:
- 1、Java中ModelAndView是做什么的?
- 2、java中的Model1和Model2有什么区别
- 3、java开发时为什么要dao和service都是model层吗?
- 4、java的MVC,其中Model模型是什么?
- 5、java中bean类,action类,model类,util类,dao等的作用是什么啊?
- 6、java model层作用是什么?
Java中ModelAndView是做什么的?
ModelAndView以org.springframework.ui.ModelMap的形式来保持模型数据,通过构造方法传入的或者通过实例方法添加的模型数据都将添加到这个ModelMap中。至于ModelMap中保持的模型数据将会在视图渲染阶段,由具体的View实现类来获取并使用。
我们需要为添加到ModelAndView的一组或者多组模型数据提供相应的键(Key),以便具体的View实现类可以根据这些键获取具体的模型数据,然后公开给视图模板。通常,模型中的数据对应的键需要与视图模板中的标志符相对应,如图所示:
基于JSP/JSTL模板的视图实现,通常是将模型数据通过HttpServletRequest的属性(Attribute)的形式公开给具体的模板。而像基于Velocity之类的通用模板引擎的视图实现,则会将ModelAndView中的模型数据复制到它们自己的数据获取上下文中,比如Velocity的Context。
但不管什么视图类型,对应的视图模板都将可以通过添加到ModelAndView的模型数据的键来获取模型数据,并合并到最终的视图输出结果中。
拓展资料:
ModelAndView 的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView 实例。
ModelAndView 类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。
最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实作org.springframework.web.servlet.View接口的实例解析,例如 InternalResourceView或JstlView等等。
ModelAndView(String viewName) 如果您要返回Model对象,则可以使用Map来收集这些Model对象,然后设定给ModelAndView,使用下面这个版本的 ModelAndView: ModelAndView(String viewName, Map model) Map对象中设定好key与value值。
之后可以在视图中取出,如果您只是要返回一个Model对象,则可以使用下面这个 ModelAndView版本: ModelAndView(String viewName, String modelName, Object modelObject) 藉由modelName,您可以在视图中取出Model并显示。
web.servlet.View的实例,View接口如下: public interface View { public void render(Map model, HttpServletResquest resquest, HttpServletResponse response) throws ServletException, IOException; }
View的实作之前用过 org.springframework.web.servlet.view.InternalResourceView,另外也还有JstlView、 TilesView、VelocityView等等的实作,分别进行不同的表现展处理 。
ModelAndView() 这个构造方法构造出来的ModelAndView 不能直接使用,应为它没有指定view,也没有绑定对应的model对象。当然,model对象不是必须的,但是view确实必须的。 用这个构造方法构造的实例主要用来在以后往其中加view设置和model对象。
给ModelAndView 实例设置view的方法有两 个:setViewName(String viewName) 和 setView(View view)。前者是使用view name,后者是使用预先构造好的View对象。
其中前者比较常用。事实上View是一个接口,而不是一个可以构造的具体类,我们只能通过其他途径来获取 View的实例。对于view name,它既可以是jsp的名字,也可以是tiles定义的名字,取决于使用的ViewNameResolver如何理解这个view name。
如何获取View的实例以后再研究。 而对应如何给ModelAndView 实例设置model则比较复杂。有三个方法可以使用: addObject(Object modelObject) addObject(String modelName, Object modelObject) addAllObjects(Map modelMap) ModelAndView 可以接收Object类型的对象,ModelAndView 将它视为其众多model中的一个。
当使用Object类型的对象的时候,必须指定一个名字。ModelAndView 也可以接收没有明显名字的对象,原因在于ModelAndView 将调用spring自己定义的Conventions 类的.getVariableName()方法来为这个model生成一个名字。
java中的Model1和Model2有什么区别
Model1:
Model1的中心是JSP页面,JSP页面中结合业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制。从而快速开发。
Model1的优缺点:
优点:简单,快速开发,适用小规模开发;
缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载太大。所以非常不利于应用系统业务的重用和改动,不便于维护。
Model2:
Model
2表示的是基于MVC模式的框架。MVC
“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),
“Controller
”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。
Model2其实是在Model1基础上又抽了一层控制层。
Model2优缺点:
优点:具有组件化的优点从而更易于实现对大规模系统的开发和管理。职责划分清晰。
缺点:不适合小项目开发。
java开发时为什么要dao和service都是model层吗?
dao和service不是model层。学习java开发推荐千锋教育。千锋教育培训业务分为大学生技能培训和职后技能培训,为学生的学习保驾护航。
dao是数据访问层。DAO(Data Access Object) 数据访问对象是第一个面向对象的接口。service是业务层,负责所有的业务逻辑处理。model属于数据实体模型。和数据库的数据字段是基本对应的,model也可以增加一些数据库没有的虚拟字段,帮助处理业务。这样分层的好处是降低程序耦合度。
想要了解更多有关java开发的相关信息,推荐咨询千锋教育。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。
java的MVC,其中Model模型是什么?
model层指实体层,写数据库的增删改查操作,view层指视图层,就是写前端的页面,controller层是负责前端界面与实体层进行交互,写具体的方法,即界面要使用那些实体
java中bean类,action类,model类,util类,dao等的作用是什么啊?
bean类:是一些实体类,包括viewbean,databean等等。
action类:可作为接收显示层的数据,连接显示层和业务逻辑实现层的控制层。
model类:MVC中model层就是到层。在java中无特殊含义就是模块。
util类:工具类
dao:数据库操作类。对数据库进行曾删改查等操作
java model层作用是什么?
mvc这个常用的模式。v是视图,很快就知道了view。
c是Controller,控制器,就是接受请求返回请求的东西,都不包含逻辑处理。调用model的东西进行逻辑处理。
所以model层就是逻辑处理层。
当然分层的好处是低耦合等