Struts框架应用分析的问题
发布网友
发布时间:2024-10-01 19:06
我来回答
共4个回答
热心网友
时间:2024-10-15 02:49
1.
Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
是Apache Jakarta项目的一部分,它用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用
Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是
应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
struts是个开源的框架技术,一般常运用于MVC模式中作为控制层。
2.
MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更
富于变化。MVC的工作原理如下图所示:
Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,
并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理,如下图所示:
控制:通过图2大家可以看到有一个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。
3.
1、客户从浏览器客户端向Web服务器发出请求,服务器将请求转发到Web容器,比如:Tomcat;根据请求路径URL找到ActionServlet
,Web容器调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法。
2、而ActionServlet的doGet()或者doPost()方法调用process()方法处理请求和响应,生成RequestProcess对象处理配置文件
struts-config.xml中的配置信息,依次调用processMapping()-查找处理此次请求的Action信息并返回ActionMapping对象;
processActionForm()--创建此次请求的ActionForm对象;processActionCreate()--创建处理此次请求的Action实例(LoginAction
对象);processActionPerform()--执行Action实例的execute()方法。
3、通过调用execute()方法获取LoginForm存储的用户和密码等数据信息,其中将ActionForm Bean、ActionMapping、request、
response对象传递给LoginAction对象(Action实例);执行完必要的逻辑处理比如查询数据库后,返回一个ActionForward对象,
由该对象调用RequestProcess对象中的processForwardConfig()方法解析配置文件中跳转参数,转发到相应的View页面success.jsp
或者failure.jsp。
4.(1)用户的请求以HTTP方式传输到服务器上,接收请求的是ActionServlet。
(2)ActionServlet接收到请求后,会查找struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求的操作应为
登录操作。如果没有,则返回一个用户请求无效的出错信息。
(3)当ActionServlet找到用户请求的Action后,首先将用户输入的表单参数打包成一个ActionForm对象,这个ActionForm对象其实
也就是一个JavaBean,里面包含两个字段,分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定
是否要执行ActionForm对象中的Validate方法。若Validate方法执行有错,则返回;否则,继续下一步。
(4)系统生成一个用户所请求的Action的实例对象,将前面的ActionForm对象传递给它,运行它的execute()方法。这一步其实就是
用户登录的控制器,在执行execute()方法时,可以调用后台模型验证登录名和密码是否正确等信息。
(5)execute()执行结束前会生成一个ActionForward类型的对象并将之返回给ActionServlet,该对象的作用是告诉ActionServlet下
一步应该跳转到哪里,假如后台模型检验用户名和密码正确,则ActionForward就代表跳转到一个登录成功的界面。ActionServlet
将对之进行分析,其实就相当于接收到一个新的请求,重复(2)~(5)的过程,直到将某个界面返回用户为止。
以上就是Struts的基本工作流程,可以看出struts-config.xml在整个流程中起到了一个类似站点地图的作用,它记录了所有可能的
请求跳转。其实,在Web容器加载Struts应用程序后,struts-config.xml就被首先读入内存成为一个ActionMapping对象,前面所说
的查找struts-config.xml文件,实际上是查找ActionMapping对象。
热心网友
时间:2024-10-15 02:48
1基于MVC模式的网页开发框架
2和MVC原理大致相同,只是把控制层的功能划分的更细
3
热心网友
时间:2024-10-15 02:47
1.struts是个开源的框架技术,一般常运用于MVC模式中作为控制层。
2.struts它的工作原理也很简单就是通过jsp页面中触发相应的action,在配置文件中找到对应的后台类,所有的业务逻辑都写在后台类中,成功或者失败都可以配置到相应的页面。多看看action的配置就知道用了。
3.一个登录页面,一个后台处理类(action),一个异常页面,然后就是struts的配置文件,这里还需要登录的javabean,处理的formbean来传递数据。页面上按钮提交数据通过配置文件找到action.相应的action处理传递过来的数据,验证是否是正确用户,然后在跳转的成功页面或者异常页面。
4.详细情况见3。
struts这东西其实很简单,你找个例子随便做下其实就了解了,这里随便在网上下本资料上都有例子的。
我觉得你可能只需要描述一下struts吧,那我说的也差不多了,关键还是要动手。
热心网友
时间:2024-10-15 02:44
它引入了"控制器"这个概念,控制器一般由servlet来担任,客户端的请求不再直接送给一个处理业务逻辑的JSP页面,而是送给这个控制器,再由控制器根据具体的请求调用不同的事务逻辑,并将处理结果返回到合适的页面。因此,这个servlet控制器为应用程序提供了一个进行前-后端处理的中枢。一方面为输入数据的验证、身份认证、日志及实现国际化编程提供了一个合适的切入点;另一方面也提供了将业务逻辑从JSP文件剥离的可能。业务逻辑从JSP页面分离后,JSP文件蜕变成一个单纯完成显示任务的东西,这就是常说的View.而独立出来的事务逻辑变成人们常说的Model,再加上控制器Control本身,就构成了MVC模式。实践证明,MVC模式为大型程序的开发及维护提供了巨大的便利。
热心网友
时间:2024-10-15 02:44
1.
Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
是Apache Jakarta项目的一部分,它用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用
Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是
应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
struts是个开源的框架技术,一般常运用于MVC模式中作为控制层。
2.
MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更
富于变化。MVC的工作原理如下图所示:
Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,
并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理,如下图所示:
控制:通过图2大家可以看到有一个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。
3.
1、客户从浏览器客户端向Web服务器发出请求,服务器将请求转发到Web容器,比如:Tomcat;根据请求路径URL找到ActionServlet
,Web容器调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法。
2、而ActionServlet的doGet()或者doPost()方法调用process()方法处理请求和响应,生成RequestProcess对象处理配置文件
struts-config.xml中的配置信息,依次调用processMapping()-查找处理此次请求的Action信息并返回ActionMapping对象;
processActionForm()--创建此次请求的ActionForm对象;processActionCreate()--创建处理此次请求的Action实例(LoginAction
对象);processActionPerform()--执行Action实例的execute()方法。
3、通过调用execute()方法获取LoginForm存储的用户和密码等数据信息,其中将ActionForm Bean、ActionMapping、request、
response对象传递给LoginAction对象(Action实例);执行完必要的逻辑处理比如查询数据库后,返回一个ActionForward对象,
由该对象调用RequestProcess对象中的processForwardConfig()方法解析配置文件中跳转参数,转发到相应的View页面success.jsp
或者failure.jsp。
4.(1)用户的请求以HTTP方式传输到服务器上,接收请求的是ActionServlet。
(2)ActionServlet接收到请求后,会查找struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求的操作应为
登录操作。如果没有,则返回一个用户请求无效的出错信息。
(3)当ActionServlet找到用户请求的Action后,首先将用户输入的表单参数打包成一个ActionForm对象,这个ActionForm对象其实
也就是一个JavaBean,里面包含两个字段,分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定
是否要执行ActionForm对象中的Validate方法。若Validate方法执行有错,则返回;否则,继续下一步。
(4)系统生成一个用户所请求的Action的实例对象,将前面的ActionForm对象传递给它,运行它的execute()方法。这一步其实就是
用户登录的控制器,在执行execute()方法时,可以调用后台模型验证登录名和密码是否正确等信息。
(5)execute()执行结束前会生成一个ActionForward类型的对象并将之返回给ActionServlet,该对象的作用是告诉ActionServlet下
一步应该跳转到哪里,假如后台模型检验用户名和密码正确,则ActionForward就代表跳转到一个登录成功的界面。ActionServlet
将对之进行分析,其实就相当于接收到一个新的请求,重复(2)~(5)的过程,直到将某个界面返回用户为止。
以上就是Struts的基本工作流程,可以看出struts-config.xml在整个流程中起到了一个类似站点地图的作用,它记录了所有可能的
请求跳转。其实,在Web容器加载Struts应用程序后,struts-config.xml就被首先读入内存成为一个ActionMapping对象,前面所说
的查找struts-config.xml文件,实际上是查找ActionMapping对象。
热心网友
时间:2024-10-15 02:46
1.struts是个开源的框架技术,一般常运用于MVC模式中作为控制层。
2.struts它的工作原理也很简单就是通过jsp页面中触发相应的action,在配置文件中找到对应的后台类,所有的业务逻辑都写在后台类中,成功或者失败都可以配置到相应的页面。多看看action的配置就知道用了。
3.一个登录页面,一个后台处理类(action),一个异常页面,然后就是struts的配置文件,这里还需要登录的javabean,处理的formbean来传递数据。页面上按钮提交数据通过配置文件找到action.相应的action处理传递过来的数据,验证是否是正确用户,然后在跳转的成功页面或者异常页面。
4.详细情况见3。
struts这东西其实很简单,你找个例子随便做下其实就了解了,这里随便在网上下本资料上都有例子的。
我觉得你可能只需要描述一下struts吧,那我说的也差不多了,关键还是要动手。
热心网友
时间:2024-10-15 02:48
它引入了"控制器"这个概念,控制器一般由servlet来担任,客户端的请求不再直接送给一个处理业务逻辑的JSP页面,而是送给这个控制器,再由控制器根据具体的请求调用不同的事务逻辑,并将处理结果返回到合适的页面。因此,这个servlet控制器为应用程序提供了一个进行前-后端处理的中枢。一方面为输入数据的验证、身份认证、日志及实现国际化编程提供了一个合适的切入点;另一方面也提供了将业务逻辑从JSP文件剥离的可能。业务逻辑从JSP页面分离后,JSP文件蜕变成一个单纯完成显示任务的东西,这就是常说的View.而独立出来的事务逻辑变成人们常说的Model,再加上控制器Control本身,就构成了MVC模式。实践证明,MVC模式为大型程序的开发及维护提供了巨大的便利。
热心网友
时间:2024-10-15 02:43
1基于MVC模式的网页开发框架
2和MVC原理大致相同,只是把控制层的功能划分的更细
3