Struts的MVC和简单流程
来源:互联网 发布:linux的makefile文件 编辑:程序博客网 时间:2024/05/01 20:19
今天起的很晚,下午又停了一会电,真是◎#¥%……※×,只好看看书了。总结了一下对Struts关于MVC的一些理解。把Struts标签和Form提交处理流程整理了一下。
使用了标签的表单:
- Struts实现了Controler部分,就是那个ActionServlet类,一般使用Struts都把所有的.do的请求交给这个类处理,这个类根据struts-config.xml这个配置文件来处理请求由那个Action对象来处理。要让Struts的ActionServlet类正常工作要在Web.xml中声明,初始化Struts-config.xml
映射.do的请求<servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern></servlet-mapping><servlet> <servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param> ……</servlet> - 视图是一堆Jsp文件,可以使用Struts提供的标签库。
- 模型,要继承ActionForm,和网页中的Form对应,简单的模型就是set/get和验证validate。然后交给Action处理。不知道Action到底属于那个部分,好像都不算。这块还是不太明白。发布LoginAction需要struts-config.xml配置一下:一个示例
<action path="/login" type="mypack.LoginAction"
name="loginForm" scope="session"
input="/login.jsp"
validate="true">
<forward name="success" path="/hello.jsp" />
<forward name="failure" path="/loginerror.jsp" />
</action>
使用了标签的表单:
- 从application.properties文件中读取文本,替换相应的标签代码
- 有<html:form>的标签则在session范围中查找对应的Form Bean,如果存在这样的实例,就吧From Bean中的属性映射到Form表单的输入文本框中。没有则忽略。
提交表单:
- Servlet/Jsp容器在web.xml文件中找到*.do的servlet-mapping:action。
- 根据servlet-name在servlet元素中找到对应的ActionServlet类
- 根据struts-config.xml中的设置,ActionServlet创建对应的Form对象,把客户提交的表单数据传给Form对象,这个对象保存在session范围内
- 如果该Form有validate方法则调用
- 如果验证失败(这里是指格式长度等不合要求)validate方法返回一个ActionErrors对象,包含一个ActionError对象
- ActionServlet从struts-config.xml中查找path属性符合的<action>元素,根据其中的input属性,返回该表单,如果该表单使用了<html:error>标签,则从application.properties中读出相应的错误信息。(参考上面的Action元素示例)
- 验证成功,validate方法返回的ActionError对象不包含任何ActionError对象。
- ActionServlet从struts-config.xml中查找path属性符合的<action>元素,查找<action>中type属性中的Action实例,没有则创建一个,包含以上<action>元素配置信息的ActionMapping对象,然后调用LoginAction的execute方法。
- execute中执行操作,再根据结果查找<action>中相应的<forward>子元素,获得ActionForward对象,返回给ActionServlet。这一步要通过自己来编码实现。
- ActionServlet把客户请求转发到ActionForward对象指的页面中。
- Struts的MVC和简单流程
- Struts对MVC的实现流程
- Spring MVC 和 struts MVC的区别。
- struts的开发流程和执行流程
- Struts MVC实现流程-2
- Struts 简单流程
- struts springmybatis 简单流程
- Struts和Spring MVC的整合
- mvc框架和struts框架的流程图
- Struts和Spring 实现mvc的比较
- Spring MVC和Struts的比较
- spring mvc和struts的区别
- 浅谈spring mvc和struts的比较
- struts的MVC和spring的MVC的区别
- struts的MVC和spring的MVC的区别
- struts的MVC和spring的MVC的区别
- spring mvc和struts组件功能简单对应关系
- Struts 2的架构和运行流程
- 如何用APT维护Red Hat Enterprise Linux (RHEL)
- 搬家了搬家了
- 今天我感觉自己不能做一点。就是:再坚持一会,再坚持一会我就不是现在这样子了。
- 俄罗斯方块
- Delphi小技巧
- Struts的MVC和简单流程
- 在Eclipse3.0.1中设置Lomboz3.0.1
- 跟我一起写 Makefile
- 推荐一个免费的支持JSP、Servlet的web hosting
- 没有MVC 只有 MC
- 学习j2ee流程[zz]
- eMag-delphi第一貼--創刊紀念!
- 人生規劃
- 今天接从钦州回来的高中同学.