Struts应该已经不算很新的东西了,
不知道还有没有初学者需要下面的内容
一、Struts简介
Struts是apache组织jakarta项目的一个子项目,用以改善web系统的结构。
Web系统本身的复杂性与业务流程的不确定性,是相当棘手且难于处理的。
例如,用户可能随时使用一个链接从系统的这部分跳到另一部分。又或者登陆一个
页面后可能隔半天没反映,而突然又请求另一项服务…………
如果Web系统没有一个很好地设计结构,这些烦人的问题能缠着你直到你崩溃,
或者系统崩溃。即使你硬撑着闯过几关,后期维护工作又能把你逼疯,或者把
其他的维护人员逼疯!:)
MVC(模型-视图-控制器)模式最重要的思想就是业务代码与视图代码分离。
能有效地理清系统结构,降低系统复杂度与维护难度。
Struts就是基于J2EE的web形式MVC模式实现!
当然,Struts不只是如此。它主要由两大部分组成,其一是上面所说的改善
web系统结构的MVC框架部分。另一部分是Struts的标签库,主要由web
页面制作人员使用。
我们主要讲的是第一部分,一些入门级的内容,以及新手会碰到的一些问题。
二、环境配置
我们用Tomcat4.1.29+Struts1.1来做演示。
Tomcat的下载地址:
http://apache.linuxforum.net/dist/jakarta/tomcat-4/v4.1.29/bin/jakarta-tomcat-4.1.29.zip
Struts的下载地址:
http://apache.linuxforum.net/dist/jakarta/struts/binaries/jakarta-struts-1.1.zip
添加环境变量:(例如:)
JAVA_HOMEC:\j2sdk1.4.2\
TOMCAT_HOMEC:\tomcat\
同时,你也需要将Struts\lib\struts.jar、Tomcat\common\lib\servlet.jar
文件添加到CLASSPATH变量中,代码编译时会用到。
(当然,有eclipse等集成环境就方便多了)
运行Tomcat\bin\startup.bat启动Tomcat
Tomcat测试:http://localhost:8080/能看到那只猫就算成功了
Struts其实根本不需要多少配置
解压Struts的下载压缩包,复制\webapps\struts-example.war文件
到Tomcat的\webapps\目录下,然后重启Tomcat就可以测试
输入:http://localhost:8080/struts-example/看到蓝色的“Struts”图标就OK了
注意:如果你测试老不成功,建议换台机子试试。
Java环境太乱测试会失败?!(我就这样憋了一天)
三、实例演示
如果上面的配置做完了,我们开始要做个小演示。演示任务是做一个用户
注册/登陆的“站点”。关于Struts的演示,这类用户注册/登陆的例子算是老套了。
不知道我的例子能否激起你的兴趣。:)
首先,在Tomcat\webapps\目录下建个子目录取名StrutsDemo
StrutsDemo下的目录结构如图
StrutsDemo下放所有的.jsp页面文件
复制Struts解压目录lib\下的所有*.tld文件到WEB-INF\下
这些是Struts的标签库文件,我们的例子会用到一点。
复制Struts目录lib\下的所有*.jar文件到WEB-INF\lib\目录
用到的.jar包都要放这儿,否则会发生找不到类资源的错误
(要做Struts相关的,起码要把Struts解压目录下\lib下的.jar考过来)
WEB-INF\classes\目录下(或它的子目录下)还需要有个.properties资源文件
用来支持国际化
上面是准备一个基于Struts工程最基本的准备工作
本来打算贴代码,限于篇幅提供代码下载,已包含详细注释
下载:
StrutsDemo.rar
四、初学者需要注意的问题
(1)2个.xml的配置文件确实很烦人,特别是直接用记事本的朋友
要有耐心,格式一定要正确,可以参考Struts自带的例子
(2)struts-config.xml文件里Acturn属性的validate字段属性需要设置为“true”
才能启动对应Form的validate方法启动页面检测
(3)strturs_config.xml配置文件中<action>的scope字段,用来指定Action的活动范围,默认的值是"session",所以一般我们将scope设置为"request"。如果需要设置
为"session",则留心一下对应FormBean的reset()方法还原FormBean初始值;
(3)怎样制作*_zh.properties中文资源文件
使用JAVA_HOME\bin\目录下的native2ascii工具
先制作一个ApplicationResources.properties文件里采用中文书写信息
然后命令行窗口键入
native2ascii-encodinggb2312ApplicationResources.properties
ApplicationResources_zh.properties
一时想不出来了,以后再添吧-___-!!