【问题标题】:Problem accesing a file when deploying in tomcat a java/flex application在 tomcat 中部署 java/flex 应用程序时访问文件时出现问题
【发布时间】:2011-05-22 14:59:26
【问题描述】:

我有两个应用程序:flex 中的客户端和 Java 中的服务器。当我在 flex builder 中部署应用程序时,里面也有 tomcat 服务器,一切正常。但现在我试图在 flex/eclipse 构建器之外部署 apache tomcat,但我遇到了问题。

我认为问题出在相对/绝对路径上,但我不知道如何解决。 在我的 Java 应用程序中,我必须访问数据库并从中获取文件。我使用属性来设置我想要下载这些文件的路径,如下所示:

pacs.ruta=C:\\resources\\

然后我需要访问该文件,因此在使用此代码时:

fin = new FileInputStream(pacsRuta+""+f.getName());

其中 f.getName() 给了我文件的名称,因此我可以使用我在 pacs.ruta 中设置的路径和文件名获取文件的路径。 我不知道为什么它不起作用。我试着把

pacs.ruta=/resources/

与我的应用程序中的文件夹关联,但它不起作用。

有人可以给我一个建议吗?你认为这是问题吗?因为整个应用程序在 flex/eclipse 构建器之外的 tomcat 服务器中部署时可以正常工作,但是当调用此代码时,应用程序无法正常工作。

【问题讨论】:

    标签: java apache-flex tomcat deployment


    【解决方案1】:

    尝试将它放在 WEB-INF/classes 中,使其位于 CLASSPATH 中并使用 getResourceAsStream() 从 servlet 上下文中读取它。

    【讨论】:

    • 感谢您的快速回复,但我尝试这样做,但可能我不知道该怎么做。我不使用 servlet,它只是一个 java 应用程序。是否需要在 catalina 的 server.xml 中设置一些东西?我读了一些关于上下文路径的东西,但我也没有把它放在哪里。我只是将我的 webContent 文件复制到 tomcat 中的 webapps 中并尝试部署。
    • 我尝试使用 String s=ConsultaPACS.class.getResource("");s = s.substring(6);设置路径。 ConsultaPACS 是我调用接收文件的类,它是下载我的数据库文件的路径。
    • 在 Catalina 上运行没有 servlet 或 JSP 的 Java 应用程序有什么好处?不,您应该从 servlet 上下文中加载它。我还建议使用您在 web.xml 中配置的 ServletContextLoaderListener
    • 抱歉,您的意思是 servlet applet。确实,我必须使用 servlet 才能让 blazeds 工作,我在 web.xml 中配置它们:RDSDispatchServletRDSDispatchServletflex.rds.server.servlet.FrontEndServletuseAppserverSecurityfalsemessageBrokerId_messageBroker-param> 10
    • 你能解释一下我如何使用 getResourceAsStream() 吗?我用上下文路径制作了一个 .xml 文件并将其放在 catalina/localhost 中,但它不起作用。可能是配置的东西......
    【解决方案2】:

    终于搞定了,是权限问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多