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
一时想不出来了,以后再添吧 -___-!!
分享到:
相关推荐
Struts2漏洞检查工具Struts2.2019.V2.3
Struts 2 全版本漏洞检测工具
Struts2漏洞检查工具2019版 警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! ==漏洞编号==============影响版本=========================官方公告==========================================影响范围====...
struts2 漏洞检测工具 ,快速检测struts命令执行漏洞,可批量。运行环境要求:MAC/Linux下的Python2、Python3 。支持ST2-005,ST2-008,ST2-009,ST2-013,ST2-016,ST2-019,ST2-020,ST2-devmode,ST2-032,ST2-033,ST2-037...
struts2全版本检测,利用工具
检测struts2系统漏洞 包含s2-032、s2-037、s2-019、s2-016、s2-045、s2-046、s2-052、s2-059
5、作者对不同的struts2漏洞测试语句做了大量修改,执行命令、上传功能已经能通用。 6、支持HTTPS。 7、支持GET、POST、UPLOAD三种请求方法,您可以自由选择。(UPLOAD为Multi-Part方式提交) 8、部分漏洞测试支持...
struts2.0扫盲文档2加入struts.xml配置文件(自己建) ... <result>/abc.jsp </package> </struts> 红色部分尤为重要,还有一点,这个配置文件在src目录下,不要放到WEB-INF下了,这是和1.x
该项目主要是struts2.3的零配置,里面包含两个action,下载后导入myeclipse后,部署后。可以直接访问http://localhost:8080/struts2/abc.action、login.action\login1.action。这里的返回值是以json方式返回。
能够检测编号为S2-048、S2-046、S2-045、S2-016、S2-019、S2-037、S2-032的漏洞
二、Hibernate部分 三、Action部分 四、struts.xml部分
</td><br> </tr><br> </table><br> <table><br> <tr><br> ...abc=<bean:write name="item" property="account" />"><bean:write name="item" property="account" /><br> </td><br> ...
Struts框架的使用流程,主要讲述的是如何搭建框架,如何配置等适用于初学者。
1、解压后,里面有5个工程,名字为abc的工程是个web工程,用来部署struts插件工程,其他四个是从网上找的获取时间的例子; 2、把abc这个工程导入eclipse,发布到tomcat6.0运行; 3、访问...
写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...
jsp 开发之struts2中s:select标签的使用 1.第一个例子: <s list={ theme=simple headerKey=00 headerValue=00></s> 2.第二个例子: <s list=#{1: label=abc listKey=key listValue=value headerKey=0 headerValue...
SpringMVC-ABC SpringMVC learning 之前做开发用过codeignitor,thinkphp等框架,对mvc结构已经有所了解。但是是种感觉,php框架的分层的层次感没有J2EE那么清晰, 恰好项目需好,接手一个二手的基于SSH的项目,刚才...
这个web工程是利用Hibernate技术和struts框架完成。 用法:第一,安装Oracle9i和6.5版本以上的MyEclipse。第二,进入到Oracle9i的SQL*Plus环境下,复制并粘贴Java+Oracle.txt文件的全部内容。 第三,导入该工程,...
代码如下: //初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $(“#getMessage”).click(function(){ $.get... //向服务器发送表达数据 $(“#getabc”).click(function(){ //把表
交通运输业因其在贸易和商业中的广泛应用而成为经济的Struts。 因此,停车就成了一个考虑因素。 为了将车辆停放在停车位,仍然使用旧的停车系统,该系统以计划外的方式维护并且没有任何纪律。 正因为如此,人们通常...