初学Struts

原创 2004年08月15日 00:02:00

版权归 石太祥 (ealpha(AT)msn(DOT).com)所有;

联系:   msn: ealpha(AT)msn(DOT).com

                QQ : 9690501

 

===========================================

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

学习struts好久了,可是还是感觉自己糊里糊涂的,尤其是ActionServletActionActionForm之间的关系很难搞清楚,还有就是到底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>),actionStruts框架自身的类。它通过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" />

 

 

 

Struts2路径找不到类

分析最为重要,学会分析
  • SJshenjian
  • SJshenjian
  • 2016年11月28日 19:56
  • 470

初学Struts

重新看了一下Struts。以前也看过,基本了解是怎么一回事。那还是半年前,还做过一个登录的例子,但基本忘完了。今天又重做了这个例子。这次有一个更好的理解。及时总结,写一下学习体会。Struts的组成,...
  • dengkun39
  • dengkun39
  • 2007年06月16日 10:08
  • 400

初学struts

   上班也有大半个月了,这个月因为公司在搬家,所以暂时在临时的办公地点,也没有具体的项目做,所以很闲。而且我被分在central build team,以后主要做些部署工作,这不是我的兴趣所在,我的...
  • Kenny_liu
  • Kenny_liu
  • 2007年08月09日 09:24
  • 319

初学STRUTS

欢迎你来关注我,心里感到特别高兴,毕竟这是我的第一个贴。我初学Struts没几天,脑海里总蹦出点东西,所以想把它写出来:我用Myeclipse 开发STRUTS下面是我简单介绍一下各个文件的作用:如有...
  • jinren1010
  • jinren1010
  • 2006年03月29日 14:09
  • 1997

struts初学!

 1.控制器—Struts2有两个重要的控制器:◦StrutsPrepareAndExecuteFilter: 核心控制器,负责接收所有请求◦Action: 负责处理单个特定请求—Action是一个普...
  • baitiandeye
  • baitiandeye
  • 2010年08月04日 20:50
  • 280

Struts初学手记

1、建立Web工程。用MyEclipse建立一个普通的Web工程,部署工程,在工程名称上点击右键 MyEclipse->Add and Remove Project Deployment... 弹出对...
  • vanship
  • vanship
  • 2009年05月11日 11:52
  • 351

Struts初学指南

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 06:29
  • 170

初学Struts,标签库问题

刚开始学struts,弄了将近一个周,一直在解决一个问题:导入标签库的时候,一直都提示/struts-tags not found。从网上查了很久,有人说tomcat的问题,有人说配置的问题,各种答案...
  • ajfajz
  • ajfajz
  • 2012年09月03日 15:37
  • 110

Struts 初学指南

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月24日 03:46
  • 146

Struts的初学一例

***book.jsp***    pageEncoding="ISO-8859-1"%>Logon BookId:  BookName:  logon ***BookForm.java***pack...
  • jyh_jack
  • jyh_jack
  • 2007年01月10日 15:18
  • 636
收藏助手
不良信息举报
您举报文章:初学Struts
举报原因:
原因补充:

(最多只允许输入30个字)