﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-神仙的技术博客-文章分类-JAVA技术</title><link>http://www.blogjava.net/wuxingjia/category/30618.html</link><description>J道人生</description><language>zh-cn</language><lastBuildDate>Fri, 04 Apr 2008 17:21:55 GMT</lastBuildDate><pubDate>Fri, 04 Apr 2008 17:21:55 GMT</pubDate><ttl>60</ttl><item><title>通过一个简单的登录过程了解Struts的业务流程(Struts初学的请进)</title><link>http://www.blogjava.net/wuxingjia/articles/190838.html</link><dc:creator>伍兴佳</dc:creator><author>伍兴佳</author><pubDate>Fri, 04 Apr 2008 15:27:00 GMT</pubDate><guid>http://www.blogjava.net/wuxingjia/articles/190838.html</guid><wfw:comment>http://www.blogjava.net/wuxingjia/comments/190838.html</wfw:comment><comments>http://www.blogjava.net/wuxingjia/articles/190838.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wuxingjia/comments/commentRss/190838.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuxingjia/services/trackbacks/190838.html</trackback:ping><description><![CDATA[<marquee><span class="STYLE1"><font color="#0000ff">一个简单的登录过程描述了一下Struts的业务流程，感觉挺容易懂的，摘出来大家分享：</font></span></marquee><span style="color: #ff9900">(1)用户的请求以HTTP方式传输到服务器上，接收请求的是ActionServlet。</span><br />
<span style="color: #808000">(2)ActionServlet接收到请求后，会查找struts-config.xml文件来确定服务器上是否有用户请求的操作，此处用户请求的操作应为登录操作。如果没有，则返回一个用户请求无效的出错信息。</span><br />
<span style="color: #008000">(3)当ActionServlet找到用户请求的Action后，首先将用户输入的表单参数打包成一个ActionForm对象，这个ActionForm对象其实也就是一个JavaBean，里面包含两个字段，分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定是否要执行ActionForm对象中的Validate方法。若Validate方法执行有错，则返回；否则，继续下一步。<br />
</span><span style="color: #99cc00">(4)系统生成一个用户所请求的Action的实例对象，将前面的ActionForm对象传递给它，运行它的execute()方法。这一步其实就是用户登录的控制器，在执行execute()方法时，可以调用后台模型验证登录名和密码是否正确等信息。<br />
</span><span style="color: #00ff00">(5)execute()执行结束前会生成一个ActionForward类型的对象并将之返回给ActionServlet，该对象的作用是告诉ActionServlet下一步应该跳转到哪里，假如后台模型检验用户名和密码正确，则ActionForward就代表跳转到一个登录成功的界面。ActionServlet将对之进行分析，其实就相当于接收到一个新的请求，重复(2)~(5)的过程，直到将某个界面返回用户为止。<br />
</span><span style="color: #cc99ff">以上就是Struts的基本工作流程，可以看出struts-config.xml在整个流程中起到了一个类似站点地图的作用，它记录了所有可能的请求跳转。其实，在Web容器加载Struts应用程序后，struts-config.xml就被首先读入内存成为一个ActionMapping对象，前面所说的查找struts-config.xml文件，实际上是查找ActionMapping对象。对于初学者来说可以不必深究其中的细节&#8230;&#8230;<br />
</span><span style="color: #ccffcc">摘自清华大学出版社出版的《Struts-Web设计与开发大全》</span> </span> <img src ="http://www.blogjava.net/wuxingjia/aggbug/190838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxingjia/" target="_blank">伍兴佳</a> 2008-04-04 23:27 <a href="http://www.blogjava.net/wuxingjia/articles/190838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>