Struts的基本流程

| 好吧,我想学习Struts,所以我将从Struts 1开始 我想知道一般流程。需要什么文件? struts-config.xml的功能是什么? validation.xml? validation-rules.xml 当您访问JSP页面并触发操作时,会发生什么? Action和Form类做什么?触发动作时首先调用哪个类。 我刚刚下载了示例表格,所有这些文件起初都是令人困惑的。我想知道是怎么回事才能更好地了解Struts。     
已邀请:
您应该从关于Struts的教程开始,这将使它易于理解:D。您可以在网上找到很多东西,尤其是对于Struts1。这里是一个起点。 但是仅出于此目的,这里是一个高角度的演示。 首先,将Struts的“ 0”添加到“ 1”文件中,并将其配置为接受与特定映射匹配的请求。对于Struts,这是
*.do
(您可以为此拥有任何东西,
*.do
只是Struts社区中的一个约定)。 现在,任何以这样的“ 2” URL模式到达服务器的内容都将被发送到“ 0”。 现在,
struts-config.xml
文件的内容开始起作用。
ActionServlet
是一个前端控制器,它仅分派给其他更适当的资源以进行特定处理。这些特定的资源是“ 8”类。 例如,您可以拥有一个“ 9”,它必须处理在“ 10”路径上到达的请求。在
struts-config.xml
中指定以下内容:
login
路径中出现的所有内容都必须发送到
LoginAction
类。 您可以根据需要指定任意数量的声明,对于路径
x
调用
XAction
,对于
y
调用
YAction
等,等等。 通常,您的客户端将数据输入到服务器,这些数据是他输入到HTML表单中的数据。您需要在
Action
类中处理此数据。现在输入
ActionForm
ActionForm
是Struts框架用HTML表单中的数据填充的bean。例如,您可以使用诸如
formBean.getFoo()
之类的对象来代替
request.getParameter(\"foo\")
。 一旦使用
ActionForm
Action
类中进行处理,就必须以某种视图呈现结果(顺便说一下,Struts是MVC框架,因此您也必须对此有所了解。) 这些视图通常是JSP文件。当您从“ѭ”八号返回时,请按名称指定“转发”位置(即前往哪个视图)。现在,信息再次位于
struts-config.xml
文件中,在该文件中,视图名称已映射到JSP位置。 然后,框架将控制权转发给该JSP,JSP呈现数据,然后将数据作为HTML发送给客户端(客户端将不再需要直接访问JSP,它们必须被Struts框架隐藏)。 客户端在新页面中再次执行一些请求,然后重复该过程。 好吧,这就是它所能获得的最高展示。当然,还有很多,但您在学习Struts时会发现它们。 至于
validator-rules.xml
validation.xml
,这些是由Validator框架使用的,您可以通过使用插件将其与Struts集成(Struts的插件可用于向其中添加新内容),还可以向用户的输入。 好吧,就是这样。您可以在网上找到很多教程,其中提供了更多详细信息,但希望能帮助您获得更好的开始。 祝好运!     
用户提交jsp页面时。该页面具有(的属性 )
action=\"login.do\"
。容器将调用
web.xml
。在那里面
web.xml
servlet和servlet映射分为两部分 在servlet映射中,它在url模式中找到
*.do
。如果发现 以servlet的名称。并检查相应的类。在里面 servlet部分。那个班是
ActionServlet
。 ActionServlet是Struts模块体系结构的控制器。在 具有服务方法的动作servlet。用这种方法我们创建
RequestPrecessor
类实例
Service(req,res) RequestPrecessor rp = new RequestPrecessor();
我们通过 实例
rp.process(req,res)
在请求处理器类中具有带有 req,res的参数则该类中的if条件为1。 该条件返回值始终为true。因为那是假方法。 在这种情况下,有6个步骤正在处理 在ѭ38中创建一个动作映射实例。它 将保留动作映射路径,值,类型的所有详细信息 forward,
validation=true/false
input 
=\"*.jsp\"
等这些r创建的实例 然后它将在检查名称之前创建Form类实例。 动作映射和表单名称是否一致(如果一致) 将创建表单实例 然后它会转到
ActionMapping
实例中是否提及ris
validate =true/false
如果为假,则不执行此步骤 它将执行此步骤。 然后它将创建动作实例 接下来,它将使用四个execute方法参数,它将返回
ActionErrors
实例。如果不为空。它将进入错误页面 否则它将到达相应的页面。否则,如果为空 如果走得更远,并在jsp中显示页面的相应值 视图。这是支柱流。     
模型 Struts不直接支持Model。但是,Struts操作和配置文件使您能够自己实现它。 视图 1)扩展org.apache.struts.action.ActionForm的Form bean,在运行时有两种使用方式: 当JSP页面准备要显示的相关HTML表单时,JSP 页面访问Bean,该Bean包含要放入其中的值 形成。这些值是从业务逻辑或先前的 用户输入。 从Web浏览器返回用户输入时,Bean 验证并保留该输入以供业务逻辑或 (如果验证失败)以供后续重新显示。 2)Struts标记库,例如bean,逻辑,html和tile插件 控制者 Struts操作servlet根据部署时提供的一组规则处理运行时事件。这些规则包含在Struts配置文件中,并指定Servlet如何响应从业务逻辑接收到的每个结果。更改控制流仅需要更改配置文件。 Struts操作扩展了org.apache.struts.action.Action。在运行时,将动作servlet称为“执行动作”,这意味着servlet调用每个实例化动作类的execute方法。从execute方法返回的对象将操作servlet定向到下一步要访问的操作或JSP文件。 为了促进重用,请从操作类中调用业务逻辑,而不要在该类中包括业务逻辑。 参见Struts 1.3示例 供您比较和参考,这里是Struts 2.3演示     

要回复问题请先登录注册