Weblogic CGIServlet NoClassDefFoundError

时间:2015-08-18 15:15:40

标签: cgi weblogic

我正在尝试在weblogic中配置CGI Servlet。我有一个简单的战争来测试它。我在web.xml中没什么特别的,只是一个简单的配置:

<?xml version="1.0" encoding="utf-8" ?>
<News>
    <Item>
        <Title><![CDATA[Example Title 01]]></Title>
        <Summary>
            <![CDATA[
                Example Text 01
            ]]>
        </Summary>
        <Image><![CDATA[]]></Image>
        <ImageWidth>1420</ImageWidth>
        <ImageHeight>480</ImageHeight>
        <ImageAlignment>left</ImageAlignment>
        <ImageSrcSet><![CDATA[]]></ImageSrcSet>
        <ImageSizes><![CDATA[]]></ImageSizes>
        <Url><![CDATA[]]></Url>
        <UrlText><![CDATA[]]></UrlText>
        <UrlTarget>_blank</UrlTarget>
        <Date><![CDATA[05/01/2009]]></Date>
    </Item>
    <Item>
        <Title><![CDATA[Example Title 02]]></Title>
        <Summary>
            <![CDATA[
                Example Text 02
            ]]>
        </Summary>
        <Image><![CDATA[]]></Image>
        <ImageWidth>920</ImageWidth>
        <ImageHeight>480</ImageHeight>
        <ImageAlignment>left</ImageAlignment>
        <ImageSrcSet><![CDATA[]]></ImageSrcSet>
        <ImageSizes><![CDATA[]]></ImageSizes>
        <Url><![CDATA[]]></Url>
        <UrlText><![CDATA[]]></UrlText>
        <UrlTarget>_self</UrlTarget>
        <Date><![CDATA[05/01/2009]]></Date>
    </Item>
</News>

并在server.xml中

<servlet>
    <servlet-name>CGIServlet</servlet-name>
    <servlet-class>weblogic.servlet.CGIServlet</servlet-class>
    <init-param>
        <param-name>cgiDir</param-name>
        <param-value>/tmp/scripts</param-value>
    </init-param>
    <init-param>
        <param-name>*.py</param-name>
        <param-value>/usr/bin/python</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>CGIServlet</servlet-name>
    <url-pattern>/config/*</url-pattern>
</servlet-mapping>

当我尝试访问localhost / cgitest / config / test.py时 我在服务器的日志中遇到异常:

<prefer-web-inf-classes>false</prefer-web-inf-classes>

正如我所见,weblogic.servlet.Env是weblogic.jar的一部分,它存在于服务器的lib文件夹中。也许服务器在某种程度上错误配置。 (WebLogic Server版本:12.1.1.0)

我很感激有关发现背后问题的任何提示。感谢。

1 个答案:

答案 0 :(得分:0)

只是为了完整性。当您第一次请求CGIServlet时(例如GET /cgi-bin/hello-world.sh),您将看到类似这样的异常:

java.lang.UnsatisfiedLinkError: /home/lurodrig/development/servers/wls1221/wls12210/wlserver/server/native/linux/x86_64/libwlenv.so: libstdc++.so.5: cannot open shared object file: No such file or directory

安装该库可以解决问题。例如。在ubuntu $sudo apt-get install libstdc++5

<CGIServletSH: Exec script with args :[/bin/sh, /tmp/cgi-bin/hello-world.sh]> 

希望它有所帮助,

路易斯

BTW:感谢@damian关于C库的提示

相关问题