JBuilder7和WebLogic7集成开发Struts一点经验

类别:Java 点击:0 评论:0 推荐:

一、WEB.xml文件一定要按格式写,前后顺序也要注意。我就遇到过这样的问题
用Apache Ant 1.5编译过的WAR文件在WEBLOGIC7可以发布成功。
但是解开后在JBuilder7中发布(使用WEBLOGIC7),会出现问题:
经研究,问题的原因是web.xml文件结构:
  <!-- The Welcome File List -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <!-- Action Servlet Configuration -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>application</param-name>
            <param-value>ApplicationResources</param-value>
        </init-param>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>validate</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

应改为:
    <!-- Action Servlet Configuration -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>application</param-name>
            <param-value>ApplicationResources</param-value>
        </init-param>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>validate</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
  <!-- The Welcome File List -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
也就是说在JBuilder7中会严格检查web.xml文件按格式:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

二、如果你想在JBuiler7中集成WEBLOGIC7测试,那请删除在$BEA_HOME\user_projects\mydomain\applications中可以
默认发布的项目WAR文件或文件夹:如文件ebusiness.war和ebusiness文件夹。防止在JBuilder中运行WEBLOGIC会用目录
中默认发布的xml文件会影响JBuilder中的项目的xml文件。(经测试web.xml会被自动改动)
或者在WEBLOGIC的CONSOLE中把默认发布的那一页禁止掉!

三、用DJ反编译的文件做为JAVA源文件,可能会影响项目的发布。原因可能是反编译的文件并非百分百正确。
或者反编译的JAVA源文件会把一些诸如STATIC FINAL的变量名换成真实的变量值

四、我用的JBuilder出现一个奇怪的问题,在project中加入所需要的JAR文件,对WEBLOGIC发布时不起作用,解决办法是
在JBuilder的WEBLOGIC服务器配置中加入相关的JAR库文件或者目录。不知是否为JBuilder的BUG。

五、还有一个问题是在发布时会找不到Action类。(这些类已经加入到相应路径)。我的解决办法同上。

六、要在打包WAR文件时包含properties资源文件,把文件放在源代码根目录如:src

七、要在打包WAR文件时包含WEB-INF下目录tlds及下面的tld文件,在WEB属性里加入tlds目录。

 


一点经验,希望批评指正和交流,我的EMAIL:[email protected]

 

 

本文地址:http://com.8s8s.com/it/it18012.htm