初学Struts

类别:Java 点击:0 评论:0 推荐:

初学Struts

  

学习struts好久了,可是还是感觉自己糊里糊涂的,尤其是ActionServlet,Action,ActionForm之间的关系很难搞清楚,还有就是到底Struts是如何运行的,也是很迷茫。

 

总结了一些经验提供给大家,我是初学者难免有不对的地方。希望大家予以指正。

 

Struts框架中提供一个单独的Action Servlet,它实际充当控制器角色,负责处理浏览器请求,但不进行任何具体操,具体操作是在action的子类中完成的。

 

一、应用Struts框架的系统,在WEB应用配置文件web.xml中须将具有某种url-pattern都映射到Action Servlet。如

 

Web.Xml

-------

  <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern> 

  </servlet-mapping>

---------

以上代码,你可以修改*.do为其他的后缀,比如*.aspx ,相应的你要修改你的表单action,如
<form method="post" action="welcomeAction.do ">修改为<form method="post" action="welcomeAction.aspx ">

 

二、在web.xml已经映射了action (<servlet-name>action</servlet-name>),action是Struts框架自身的类。它通过struts-config.xml来设定每个不同的action子类映射。

 

浏览器请求在struts-config.xml文件中映射到一个这样的子类,Action Servlet在运行时加载该配置,将请求分配给相应的Action 子类去处理。如:

struts-config.xml

……..

 <action-mappings>

    <action name="welcomeActionForm" path="/welcomeAction" scope="request" type="strutstest.WelcomeAction" validate="false">

      <forward name="welcome" path="/welcome.jsp" />

    </action>

…….

 

以上代码可以看到 path中路径("/welcomeAction")映射到类type(“strutstest.WelcomeAction”)

 

三、ActionForm Bean 浏览器带参数时候,用户提交HTML表单后,Struts框架把参数放在一个org.apache.struts.action.ActionFormBean中。ActionForm Bean的作用可以是从数据库中把一些值取出来填入到表单中,或者对表单中值进行验证。

 

四、标签库,标签库是用来支持ActionForm Bean的,它可以把ActionForm Bean中数据推入视图(JSP)。可以提供由用户来决定字符显示(国际化)。

 

五、ActionForward你就可以理解为Action 操作完成后的跳转URL,Action在处理完相关操作后,返回的是一个ActionForward也就是告诉Struts我做完这个操作下一步到哪儿去。如:<forward name="welcome" path="/welcome.jsp" />

 

name :               石太祥
QQ    :              9690501
msn  :             ealpha(AT)msn.com

本文地址:http://com.8s8s.com/it/it16437.htm