`
yyzhpq
  • 浏览: 289909 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts ABC

阅读更多
    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

    Struts2漏洞检查工具Struts2.2019.V2.3

    全网最全Struts 2 全版本漏洞检测工具,最新struts漏洞更新

    Struts 2 全版本漏洞检测工具

    Struts2漏洞检查工具2019版 V2.3.exe

    Struts2漏洞检查工具2019版 警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! ==漏洞编号==============影响版本=========================官方公告==========================================影响范围====...

    struts漏洞检测工具

    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...

    Struts 2 全版本漏洞检测工具 18.09 过waf版.jar

    struts2全版本检测,利用工具

    Struts2漏洞检查工具2018版.zip

    检测struts2系统漏洞 包含s2-032、s2-037、s2-019、s2-016、s2-045、s2-046、s2-052、s2-059

    Struts 2 全版本漏洞检测工具 18.09 过waf版

    5、作者对不同的struts2漏洞测试语句做了大量修改,执行命令、上传功能已经能通用。 6、支持HTTPS。 7、支持GET、POST、UPLOAD三种请求方法,您可以自由选择。(UPLOAD为Multi-Part方式提交) 8、部分漏洞测试支持...

    struts2.0扫盲文档

    struts2.0扫盲文档2加入struts.xml配置文件(自己建) ... &lt;result&gt;/abc.jsp &lt;/package&gt; &lt;/struts&gt; 红色部分尤为重要,还有一点,这个配置文件在src目录下,不要放到WEB-INF下了,这是和1.x

    struts2.3零配置

    该项目主要是struts2.3的零配置,里面包含两个action,下载后导入myeclipse后,部署后。可以直接访问http://localhost:8080/struts2/abc.action、login.action\login1.action。这里的返回值是以json方式返回。

    struts漏洞检测工具2017

    能够检测编号为S2-048、S2-046、S2-045、S2-016、S2-019、S2-037、S2-032的漏洞

    abc123lzf#notebook#Struts2+Hibernate 读取数据库存储有图片的Blob并将图片显示到前台页面1

    二、Hibernate部分 三、Action部分 四、struts.xml部分

    struts 标签 logic:iterate使用 logic:iterate

    &lt;/td&gt;&lt;br&gt; &lt;/tr&gt;&lt;br&gt; &lt;/table&gt;&lt;br&gt; &lt;table&gt;&lt;br&gt; &lt;tr&gt;&lt;br&gt; ...abc=&lt;bean:write name="item" property="account" /&gt;"&gt;&lt;bean:write name="item" property="account" /&gt;&lt;br&gt; &lt;/td&gt;&lt;br&gt; ...

    Struts使用流程

    Struts框架的使用流程,主要讲述的是如何搭建框架,如何配置等适用于初学者。

    felix+strust+spring-DM的例子

    1、解压后,里面有5个工程,名字为abc的工程是个web工程,用来部署struts插件工程,其他四个是从网上找的获取时间的例子; 2、把abc这个工程导入eclipse,发布到tomcat6.0运行; 3、访问...

    java面试题大全--java基础,struts,spring,ejb等

    写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...

    jsp 开发之struts2中s:select标签的使用

    jsp 开发之struts2中s:select标签的使用 1.第一个例子: &lt;s list={ theme=simple headerKey=00 headerValue=00&gt;&lt;/s&gt; 2.第二个例子: &lt;s list=#{1: label=abc listKey=key listValue=value headerKey=0 headerValue...

    SpringMVC-ABC:SpringMVC学习

    SpringMVC-ABC SpringMVC learning 之前做开发用过codeignitor,thinkphp等框架,对mvc结构已经有所了解。但是是种感觉,php框架的分层的层次感没有J2EE那么清晰, 恰好项目需好,接手一个二手的基于SSH的项目,刚才...

    Java高级+Oracle课程设计_售书管理

    这个web工程是利用Hibernate技术和struts框架完成。 用法:第一,安装Oracle9i和6.5版本以上的MyEclipse。第二,进入到Oracle9i的SQL*Plus环境下,复制并粘贴Java+Oracle.txt文件的全部内容。 第三,导入该工程,...

    struts2+jquery+json实现异步加载数据(自写)

    代码如下: //初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $(“#getMessage”).click(function(){ $.get... //向服务器发送表达数据 $(“#getabc”).click(function(){ //把表

    一种基于人工神经网络的优化停车机制-研究论文

    交通运输业因其在贸易和商业中的广泛应用而成为经济的Struts。 因此,停车就成了一个考虑因素。 为了将车辆停放在停车位,仍然使用旧的停车系统,该系统以计划外的方式维护并且没有任何纪律。 正因为如此,人们通常...

Global site tag (gtag.js) - Google Analytics