初学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" />

 

 

 

给C++初学者的50个忠告

1.把C++当成一门新的语言学习(和C没啥关系!真的。);     2.看《Thinking In C++》,不要看《C++变成死相》;    3.看《The C++ Programming La...
  • shenshen211
  • shenshen211
  • 2016年03月17日 09:42
  • 442

《Visual c++从初学到精通》读书笔记(1)

原来学习过孙鑫老师的《VC++》深入详解,对MFC有点概念。最近重新学习c++,以及需要用到vs2010,故顺便学习下windows开发的相关知识,主要就是指借助VS2010基于MFC框架的开发啦。...
  • lijiuyangzilsc
  • lijiuyangzilsc
  • 2016年03月11日 15:18
  • 342

javascript初学者入门小例子

整理之前自己学javascript时写的练手小例子发出来,以便偶尔来回顾一下 1、显示当前时间信息 function getTime() { var now = new Date(); v...
  • diyagea
  • diyagea
  • 2015年12月11日 11:11
  • 412

初学angular2的一些总结 1.)

先从模块库中引入组件 import {Component} from “angular2/core”; import {bootstrap} from “angular2/platform/brows...
  • u012138137
  • u012138137
  • 2017年02月21日 10:32
  • 224

QTP11.5/UFT初学练手(2)

上一节对QTP有了初步的认识,当能正确识别时,开始第一个脚本的编写。 1. 按照上一节的步骤新建一个GUITest,Resources→ObjectResponsitory 打开QTP本地对象库 ...
  • u014714713
  • u014714713
  • 2016年06月06日 15:36
  • 1009

Android 模仿微信主界面

先看一下效果图实现的原理:ViewPager+FragmentPagerAdapter主界面可分为三部分: top标题栏就是一个TextView 中间的ViewPager作为显示的容器,填充Fragm...
  • bruce_qiwei
  • bruce_qiwei
  • 2016年12月26日 15:41
  • 249

详细学习之java简单连接Oracle数据库

详细学习java连接数据库的使用。
  • u012712257
  • u012712257
  • 2015年08月18日 12:15
  • 656

R语言初学指南(笔记)

R语言的下载地址(Windows版本):http://ftp.ctex.org/mirrors/CRAN/ R语言的安装,需要额外安装mikTex,Rtools,htmlhelp: R:D:\Pr...
  • wendll
  • wendll
  • 2014年03月31日 10:35
  • 1247

Python爬虫的简单入门及实用的实例(1)

一.PYthon爬虫的介绍及应用       利用爬虫可以进行数据挖掘,比如可以爬取别人的网页,收集有用的数据进行整合和划分,简单的就是用程序爬取网页上的所有图片并保存在自己新建的文件夹内,还有可以爬...
  • HOT_and_COOl
  • HOT_and_COOl
  • 2017年04月17日 16:17
  • 1064

Java入门需要从哪里入手学习

多年前我自学的时候是很茫然,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗?  首先很多人认为学JA...
  • coffee801
  • coffee801
  • 2017年04月19日 14:42
  • 592
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初学Struts
举报原因:
原因补充:

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