氧气中毒 - J2EE

爪吐奕奕征途
posts - 24, comments - 10, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 ::  ::  :: 管理

Struts实践入门

Posted on 2006-06-14 15:09 氧气中毒 阅读(1523) 评论(2)  编辑  收藏 所属分类: Framework
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

评论

# re: Struts实践入门  回复  更多评论   

2006-06-15 02:03 by d
没写完吧

# re: Struts实践入门  回复  更多评论   

2008-08-03 14:58 by 周军
救命啊!
啥玩意!!!!!!!

只有注册用户登录后才能发表评论。


网站导航: