java ee struts2框架的mvc模式控制器是struts.xml中的action吗?模型是所定义的接口吗?
- 提问者网友:蓝莓格格巫
- 2021-05-08 03:43
- 五星知识达人网友:狂恋
- 2021-05-08 04:39
控制器是action,
但模型不只是定义的接口,还包括封装数据的类、访问数据库的类、处理业务逻辑的类
- 1楼网友:忘川信使
- 2021-05-08 06:33
在Struts实现MVC/Model 2方式中,担任控制器(Controller)角色的是org.apache.struts.action.ActionServlet,它继承自javax.servlet.http.HttpServlet,通常会直接使用ActionServlet,在web.xml中配置相关的组态,就如同配置一般的Servlet一样,您也可以配置一些相关的初始参数给ActionServlet使用。 在MVC/Model 2的架构中,理想上客户端不会直接要求资源或指定请求的JSP页面,所有客户的请求都必须发送至控制器,由控制器决定该转发给哪一个对象进行处理、决定该由哪一个视图页面进行显示与响应。 在Struts中,担任控制器的是ActionServlet,所有的请求都发送给ActionServlet,对于ActionServlet来说,doGet()会将调用doPost(),所以无论请求是GET或POST在行为上都是相同的,ActionServlet藉由组态档struts-config.xml知道如何分配对象来处理请求,这包括了org.apache.struts.action.ActionMapping、org.apache.struts.action.ActionForm、org.apache.struts.action.Action等物件的分配,struts-config.xml是整个Struts运作的重心。 ActionServlet会将处理的控制权暂时交给Action对象,在Action中,您可以藉由一些数据传输对象(Data Transfer Object)、辅助类别(Helper Class)等来完成业务请求,Action应当传回ActionForward对象给ActionServlet,之后ActionServlet根据ActionForward来进行forward给视图或include视图(Viewer)的动作,由视图显示处理的结果。 Struts的视图部份可以是静态网页、JSP网页、Struts自订卷标,Struts自订卷标可以与Struts的一些对象及资源文件合作使用,但也可以使用其它自订标签,像是JSTL、JSF等。 在Struts 1.1中新增org.apache.struts.action.RequestProcessor类别,有关于使用者请求的对象分配等动作已经大部份交由RequestProcessor来处理,下图是ActionServlet接收到请求之后的一些主要动作,在之后的各主题说明中,您可以藉由这张图您将可以了解struts-config.xml的组态设定意义,以及Struts运作的方式:
- 2楼网友:一把行者刀
- 2021-05-08 06:05