首页 > 试题广场 > 关于struts项目中的类与MVC模式的对应关系,说法错误的
[不定项选择题]
关于struts项目中的类与MVC模式的对应关系,说法错误的是
  • Jsp文件实现视图View的功能
  • ActionServlet这一个类是整个struts项目的控制器
  • ActionForm、Action都属于Model部分
  • 一个struts项目只能有一个Servlet
发表于 2017-08-16 22:03:58 回复(13)
C
这是百度的:
Struts工作原理
MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC   减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts   是MVC的一种实现,它将   Servlet和   JSP   标记(属于   J2EE   规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
控 制:有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角 色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到 Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数 填充   Action   From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java   bean   或调用EJB。最后动作类把控制权传给后续的JSP   文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。
视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP   标签库:   Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。
模 型:模型以一个或多个java   bean的形式存在。这些bean分为三类:Action   Form、Action、JavaBean   or   EJB。Action   Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从 ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java   Bean或EJB等。
流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向 ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的 FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。 每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。
核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。
发表于 2015-04-24 14:47:04 回复(6)
Model: MVC系统中的Model部分从概念上可以分为两类――系统的内部状态,和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB 和 Session EJB等组件来实现系统状态。Struts建议在实现时把"做什么"(Action)和"如何做"(业务逻辑)分离。这样可以实现业务逻辑的重用。
编辑于 2017-08-14 17:13:25 回复(4)
Action都属于Model部分?这个难道不错?
为什么不选C?
发表于 2015-03-02 16:23:38 回复(30)
ActionForm本质上是一种JavaBean,是专门用来传递表单数据的DTO(Data Transfer Object,数据传递对象)。它包括用于表单数据验证的validate()方法和用于数据复位的reset()方法。
Struts框架利用ActionForm对象来临时存放视图页面中的表单数据。例如,一个登录页面会有一个用户名输入框和一个密码输入框,以及用来提交登录请求的按扭。当用户提交登录请求后,Struts将 用户名和密码两个输入域的数据自动填充到相应的ActionForm对象中,然后控制层可以从该ActionForm对象中读取用户输入的表单数据,也可以把来自模型层的数据存放到ActionForm中,然后返回给视图显示。
ActionForm有(request)和(session)两种作用域(scope)。如果ActionForm的作用域设定为request,ActionForm实例将保存在request对象中,像其他保存在request对象中的属性一样,仅在当前请求范围内有效。如果ActionForm的作用域设定为session,那么ActionForm实例将被保存在session对象中,同一个ActionForm实例在整个HTTP会话中有效
发表于 2015-08-12 21:48:11 回复(0)
所以C到底对不对呀?看大家的解释,ActionForm和Action确实都属于Model部分啊,所以错哪了呢?自己对这部分的知识不了解,还请大神们解释解释。
发表于 2017-09-10 15:31:55 回复(0)
擦,到底C对不对啊,日了狗了
发表于 2017-09-05 17:01:11 回复(0)
在Struts中,MVC中 Model 的实现是 Action ,MVC中 View 的实现是 Result,MVC中 Controller 的实现是 FilterDispatcher,如图:

发表于 2016-12-05 16:11:57 回复(5)
针对c选项中的Action属于Model这是确定的,,Action,service,dao这些都是javabean,所以都是属于Model部分。有些人说属于控制层,这是错误的理解。你仔细想想就明白了,在java中属于控制层的最常见的就三个:Servlet, Filter,Listener。
发表于 2017-05-25 21:38:57 回复(0)

MVC 模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数 据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用 Actionexecute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对 象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动 态的网页,返回给客户。

发表于 2014-10-25 00:26:17 回复(0)
感觉答案错了,c是对的
actionform和action属于MVC的Model层,Action用来处理业务逻辑,actionform保存用户表单数据以便于在不同页面间传递。而MVC中的model层就是业务逻辑层,该层用于实现具体的业务逻辑、状态维护及管理。
发表于 2017-09-05 09:01:15 回复(0)
C选项中的Action应该不是指ActionServlet
发表于 2017-07-28 11:51:25 回复(0)
Action应该不属于model吧,model应该是些entity吧,我觉得c也不对。
发表于 2015-03-26 12:35:25 回复(0)
没用过,  以后也不用, 无用的知识学多了 也是浪费时间.
发表于 2019-07-08 14:57:43 回复(0)
c应该是对的吧
发表于 2019-06-06 00:28:18 回复(0)
我TM这都能猜对
发表于 2019-05-25 00:52:11 回复(0)
高中常烦错误,看错题目,这是选错误的 😂
发表于 2019-05-09 00:28:26 回复(0)
屏蔽了,都没用过,将来也不会用。
发表于 2019-03-29 21:06:40 回复(0)
请问这题有10年了没?
发表于 2019-03-27 12:27:33 回复(0)
核心控制器:ActionServlet,Struts的核心控制器

这张图片一定要记住才可以
发表于 2018-12-31 15:18:20 回复(0)