当前页面: 开发资料首页 → Struts 专题 → Strutsnbsp;初学指南
摘要: Strutsnbsp;初学指南 Struts 应该已经不算很新的东西了, 不知道还有没有初学者需要下面的内容 一、Struts 简介 Struts 是 apache 组织 jakarta 项目...
Struts 应该已经不算很新的东西了, 不知道还有没有初学者需要下面的内容 一、Struts 简介 Struts 是 apache 组织 jakarta 项目的一个子项目,用以改善 web 系统的结构。 Web 系统本身的复杂性与业务流程的不确定性,是相当棘手且难于处理的。 例如,用户可能随时使用一个链接从系统的这部分跳到另一部分。又或者登陆一个 页面后可能隔半天没反映,而突然又请求另一项服务 ………… 如果 Web系统没有一个很好地设计结构,这些烦人的问题能缠着你直到你崩溃, 或者系统崩溃。 即使你硬撑着闯过几关,后期维护工作又能把你逼疯,或者把 其他的维护人员逼疯! :) MVC(模型-视图-控制器)模式最重要的思想就是 业务代码 与 视图代码 分离。 能有效地理清系统结构,降低系统复杂度与维护难度。 Struts 就是基于J2EE 的 web 形式 MVC 模式实现! 当然, Struts 不只是如此。 它主要由两大部分组成,其一是上面所说的改善 web 系统结构的 MVC 框架部分。 另一部分是 Struts 的标签库,主要由 web 页面制作人员使用。 我们主要讲的是第一部分,一些入门级的内容,以及新手会碰到的一些问题。 二、环境配置 我们用 Tomcat 4.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_HOME C:\j2sdk1.4.2\ TOMCAT_HOME C:\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",则留心一下对应 Form Bean 的 reset() 方法还原 Form Bean 初始值; (3)怎样制作 *_zh.properties 中文资源文件 使用 JAVA_HOME\bin\ 目录下的 native2ascii 工具 先制作一个 ApplicationResources.properties文件里采用中文书写信息 然后 命令行窗口键入 native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResources_zh.properties 一时想不出来了,以后再添吧 -___-!! 参考资料: 《一些Struts方面的使用经验》 An LianWu (swimren@163.net) 《实例学习 Struts》 胡海生 ………… |