Struts实践入门

1、简介
    Struts是apache Jakarta的一个开放元码的项目(
    http://jakarta.apache.org/struts/index.html),为开发web应用程序提供了一个框架(framework)。Sturts建议我们使用MVC Model 2 的模式开发web应用程序。Sturts提供了Controller层组件,这些组件可以和多种已有Model层和View层技术集成使用。Sturts也可以帮助你建立一个扩展的开发环境。
 
2、安装
 
2.1.下载struts 源代码和支持库
    在本文中使用的是Struts 1.1 beta1 版。下载:jakarta-struts-1.1-b1-src.zip,jakarta-struts-1.1-b1-lib.zip
 
2.2.软件需求
 
    安装Struts,尤其是使用源代码build Struts时需要大量的支持软件。
   
    安装Struts是所需要的软件
    JDK,1.2版本或更高( http://java.sun.com/j2se)
   
    Servlet Container,支持servlet规范2.2或更高、jsp规范1.1或更高;建议是使用Tomcat 3.2( http://jakarta.apache.org/tomcat)以上。
   
    XML Parser,支持JAXP规范1.1或更高;推荐使用jaxp的参考实现( http://java.sun.com/xml)。当然也可以是Xercers( http://xml.apache.org/xerces-j)。
 
    以下为从源代码build Struts所需要的软件
    Ant Build system, 大名鼎鼎的ant,1.4版本以上。( http://jakarta.apache.org/ant)。
    Servlet API classes, http://jakarta.apache.org/builds/jakarta-servletapi
    JDBC 2.0 Optional Package Classes ,Struts 支持javax.sql.DataSource  ( http://java.sun.com/products/jdbc/download.html
   
    Jakarta Commons Packages,Struts使用了Jakarta Common Project的一些包:
        Beanutils (Version 1.0 or later),提供了易用的java反射和内省api。
        Collections (Version 1.0 or later),提供了一套与java Collections Framework 兼容和扩展的类。
        DBCP(version 1.0 or later),数据库连接和对象池.
        Logging(version 1.0 or later),日志
        POOL(version 1.0 or later),
        SERVICES(version 1.0 or later)
        VALIDATOR(version 1.0 or later),
        Digester (Version 1.0 or later),xml-java对象映射工具,通常用于解析xml配置文件。
    ( http://jakarta.apache.org/commons)
    Xalan XSLT Processor ,你可以使JAXP 1.1所带的xalan.jar,也可以使用Xalan 1.2或更高版本( http://xml.apache.org/xalan)。
 

2.3用原码build Struts
    以如下运行环境为例:
        OS:windows2000,
        jdk:j2sdk1.3,
 
        ant:ant1.4.1,
        XML Parser:Xalan2.3.1,
        Xalan XSLT Processor:Xereses2.0.1
        确保ant,Xalan,Xereses工作正常
        注意事项:1.ant 的 style等任务可以运行
 
    2.3.1.解压jakarta-struts-1.1-b1-src.zip到D:/jakarta/struts-1.1-b1-src目录。
      解压jakarta-struts-1.1-b1-lib.zip到D:/jakarta/struts-1.1-b1-src/lib目录。
      解压后的目录结构如下:
        D:/jakarta
        |-struts-1.1-b1-src     -->struts源码根目录
            |-conf
          |-contrib
          |-doc
          |-legacy
          |-lib            -->struts的支持库
          |-src
          |-target
          |-web
      D:/jakarta/struts-1.1-b1-src是struts源码根目录,下文用$struts表示“D:/jakarta/struts-1.1-b1-src"。
      D:/jakarta/struts-1.1-b1-src/lib是struts的支持库目录,下文用$struts_lib表示"D:/jakarta/struts-1.1-b1-src/lib"。该目录下包含commons-beanutils.jar,commons-collection.jar...等java类库,这些jar是build Struts所必需的。虽然你可以按2.2中给出的地址下载安装这些jar,但可能会很麻烦(有些只有src,你还需要build)。
 
    2.3.2建立build.properties
      $struts/build.properties.sample另存为$struts/build.properties修改下列属性:
        catalina.home - 你的tomcat 4.0路径(当你希望使用build中deploy.catalina的target时才需要配置)
 
       
        commons-beanutils.jar - BeanUtils package JAR 路径        commons-beanutils.jar=$struts_lib/commons-beanutils.jar(一定用绝对路径,因为在Struts有多个build,如使用相对路径,一些build会失败。以下相同)
 
        commons-collections.jar - Collections package JAR 路径
        commons-collections.jar=$struts_lib/commons-collections.jar
 
        commons-dbcp.jar - DBCP package JAR 路径
        commons-dbcp.jar=$struts_lib/commons-dbcp.jar
 
        Digester package JAR 路径
        commons-digester.jar=$struts_lib/commons-digester.jar
 
        Logging package JAR 路径
        commons-logging.jar=$struts_lib/commons-logging.jar
 
        POOL package JAR 路径       
        commons-pool.jar=$struts_lib/commons-pool.jar
 
        SERVICES package JAR 路径
        commons-services.jar=$struts_lib/commons-services.jar
 
        VALIDATOR package JAR 路径
        commons-validator.jar=$struts_lib/commons-validator.jar
 
        Jakarta Regexp package JAR 路径
        regexp.jar=D:/jakarta/regexp-1.2/jakarta-regexp-1.2.jar(如果没有这个jar,可以到 http://jakarta.apache.org/下载)
 
        JDBC 2.0 Optional Package JAR 路径
        jdbc20ext.jar=$struts_lib/jdbc2_0-stdext.jar
 
        Servlet API classes (either version 2.2 or 2.3) JAR 路径
        servlet.jar=D:/j2sdkee1.2.1/lib/j2ee.jar       
 
        tomcat.home - Tomcat 3.2 (当你希望使用build中deploy.tomcat的target时才需要配置)
        xerces.home - Xerces parser, version 1.2 or 1.3 (re(当你希望使用build中deploy.catalina的target时才需要配置)
 
        2.3.3.build Struts
        在DOS命令符下运行:ant dist
        D:/jakarta/struts-1.1-b1-src>ant dist
 
        build 成功后得到Struts 1.1 beta1 的二进制发行版:
       
        D:/jakarta
        |-struts-1.1-b1-src     -->Struts源码根目录
          |-dist                -->Struts 1.1 beta1 的二进制发行版根目录。
          | |-lib        -->Struts应用工程的支持库
          | |-webapps        -->Struts的一些应用工程
          |-target   
 
        lib目录下是一些Struts的应用工程的支持库文件:
        lib/commons-*.jar - Jakarta Commons project jar       
        (weblogc6.1 sp2 下不把commons-logging.jar放在wl 的 classpath,会出错,郁闷ing。)
 
        lib/jdbc2_0-stdext.jar - The JDBC 2.0 Optional Package API classes       
        lib/struts.jar - This JAR file contains all of the Java classes included in Struts. 你必须把struts.jar拷贝到每一个基于Struts的web application的WEB-INF/lib目录下。一定不要用设置classpath的方式包含这些jar,会出现 ClassNotFoundException的异常。
       
        lib/struts-*.tld - Struts 标签库描述文件。需要拷贝到web application的WEB-INF目录下。
       
        webapps目录下是一些web application的war文件
        webapps/struts-blank.war - 创建基于Struts的应用程序的简要指导
        webapps/struts-documentation.war - Struts 文档。       
        webapps/struts-example.war - 展示大部分Struts特点的例子。   
        webapps/struts-exercise-taglib.war - 一些使用Struts标签库和测试。
        webapps/struts-template.war - Struts 模板标签介绍和示例。
        webapps/struts-upload.war - 用Struts框架写的文件上传。
 
2.4在appserver上发布基于Struts的web应用程序
   
    如果你的appserver是WebLogic 6.0+,那么你可以向使用标准war一样使用上面的war。我的appserver是WebLogic 6.1 sp2。在其他的appserver上发布Struts的web应用程序参见 http://jakarta.apache.org/struts/userGuide/installation.html中"installing Struts with your servlet container"一节。
    启动webLogic,进入控制台,配置一个新的web application,路径指向$struts/dist/webapps
 

23:23 | 评论 (0)

struts 学习起歩问答

1 JSP Framework - Struts介绍
Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。

采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。

Struts有如下的主要功能:

1. 包含一个controller servlet,能将用户的请求发送到相应的Action对象。

2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

Struts是Jakarta项目的一部分,主页在http://jakarta.apache.org/struts.

Version 0.5的下载地址:http://jakarta.apache.org/builds/jakarta-struts/release/v0.5


1.1 1、什么是MVC模式。
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。

1.2 2、是否所有JSP应用都该采用MVC模式?
不一定所有的JSP应用都该采用MVC模式。但对于大型应用来说,我认为还是该采用MVC模式。不使用MVC模式,用户界面界面设计往往将这些对象混在一起,而MVC则将它们分离以提高灵活性和复用性。

1.3 3、Struts中能做XML吗,与Cocoon相比有何优点?
Struts把主要精力放在JSP上了。Cocoon才是专业级的XML Framework。


2. Struts的安装
2.1 安装Struts需要的软件

Java Development Kit - 你需要download和install 1.2(或之后)版本的JDK。下载地址:http://java.sun.com/j2se
Servlet Container - 通常的选择是下载Tomcat(至少是3.1版,推荐使用3.2版)。下载地址:http://jakarta.apache.org/tomcat
Ant Build System - 如果你通过Struts源码发布包安装,你必须下载1.1或之后版本的ant build system。在你通过Struts来开发你自己的Web应用程序是,我也推荐使用ant来build你的应用。下载地址:http://jakarta.apache.org/ant
Servlet API Classes - 为了编译Structs自己,或应用程序使用Struts,你需要一个包含Servlet和JSP API对象的servlet.jar包。大多数Servlet container(例如Tomcat)已经自带了这个文件。否则,你必需下载:http://jakarta.apache.org/builds/jakarta-servletapi
XML Parser - Structs需要一个与Java API for XML Parsing(JAXP)规格兼容的XML处理器。我推荐使用Xerces。下载地址:http://xml.apache.org/xerces-j
Xalan XSLT Processor - 如果你通过Structs源码发布版来构造你的Structs系统,你必须下载和安装1_2_D01或之后版本的Xalan XSLT处理器(Xerces中已自带Xalan)。这个处理器用于将基于XML的Structs文档转换为Html文档。


2.2 通过源码构造Structs

1.下载Structs的源码发布包。
2.设置ANT_HOME环境变量,指向你的Ant目录。
3.设置JAVA_HOME环境变量,指向你的JDK目录。
4.设置SERVLETAPI_HOME环境变量,指向你的Servlet API目录(如果你的CLASSPATH已经包含了servlet.jar,就不需要指定该目录)
5.将Structs的源码发布包进行解包。
6.进入Structs目录,运行以下命令:
./build.sh dist
该命令将创建Struts的二进制发布包,目录在../dist/structs(相对于你的编译目录)。


2.3 通过Struts的二进制发布包安装Structs

1.下载Struts的二进制发布版。
2.将Struts的二进制发布版进行解包。(如果你是通过Struts源码构造Struts,build的结果就已经是已解包的Struts)。解包后的Struts包含以下内容:
lib/struts.jar - 这个文件包含了Struts的所有Java对象。你需要把它拷贝到你的Web应用的WEB-INF/lib目录。
lib/structs.tld - 这是一个"tag library descriptor"文件,它描述了Struts库的自由tag。需要将它拷贝到你的Web应用的WEB-INF目录。
webapps/struts-documentation.war - 这是一个"web application archive"文件,包含了所有的Struts文档。你可以将它安装到支持Servlet API 2.2或之后版本的servlet container(推荐使用tomcat)中。
webapps/struts-example.war - 这是一个web应用实例,它广泛地演示了Struts的许多功能。你可以将它安装到兼容Servlet2.2或之后版本以及JSP1.1或之后版本规范的servlet容器中(推荐使用tomcat)。
webapps/struts-test.war - 这个web应用包含了Struts支持的许多tag的测试网页,可以作为使用Struts tag的例子。

可通过以下的步骤在你自己的应用程序中使用Struts:
1.将Struts目录的lib/struts.jar拷贝到web应用的WEB-INF/lib目录。
2.将Struts目录的lib/struts*.tld拷贝到web应用的WEB-INF目录。
3.修改Web应用目录的WEB-INF/web.xml文件,增加一个<servlet>元素来定义controller servlet,增加一个<servlet-mapping>元素来建立URI请求与servlet的对应关系。可以参照Struts例子中的WEB-INF/web.xml文件来了解详细的语法要求。
4.修改Web应用目录的WEB-INF/web.xml文件,使之包含以下的tag库定义:
<taglib>
<taglib-uri>/WEB-INF/struts.tld</taglib-uri>
<taglib-location>/WEB-INF/struts.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
5.创建一个WEB-INF/action.xml文件来定义你的web应用的action映射关系。可以参照Struts例子中的action.xml文件来了解详细的语法要求。
6.在使用Struts tag库的JSP网页中加入以下tag库定义:
<@ taglib uri="/WEB-INF/struts.tld" prefix="struts" %>
<@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
7.最后,在编译你的web应用的java程序时,不要忘了在CLASSPATH中包含struts.jar文件哟。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值