2011-01-28 14 views
0

今は非常に単純なファイル提供を行うためにApacheを使用しています。また、JBoss 4.2.3のインスタンスでは、すべてのアプリケーションにサービスを提供しています。私はJBossをすべて使用したいと思います。 Apacheのでは、私は、ファイル配信を行うためにhttpd.confファイルに次のようにやっている:JBoss 4.2.3でのファイルサービング?

Alias /reports "C:/driveReports/" 
<Directory "C:/driveReports/*"> 
    AllowOverride All 
    Options Indexes FollowSymLinks 
    Order allow,deny 
    Allow from all 
</Directory> 

私は同じことを達成するためにJBossに行うことができます同等の何かがありますか?十分に簡単なようですが、私は、ApacheがJBossのTomcatにリンクされていないという解決策があると私に信じさせる何かを見つけることができませんでした。

"C:/ driveReports"の場所からJBoss Webデプロイヤの場所にファイルを移動するだけで十分ですが、そうする必要はありません。ありがとう。

+0

Apacheやその他のプロキシを置くのが一般的です。 Apacheは、静的コンテンツを提供する方が効率的です。 –

答えて

0

てみてください。

0

JBoss ASにこのような機能があるかどうかはわかりません。結局のところ、アプリケーションサーバーです。

あなたは、このようなこのようなコードで、桟橋のデフォルトのサーブレットに似て、そのような目的のためのサーブレットを使用してもよい:static file servingについてこのwikiページからの助けを取るために

private void dispatchFileForDownload(File file, HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 

    // Check the file existence. 
    if(!file.exists()) 
     throw new IllegalStateException("File "+file.getPath()+" does not exist."); 
    if(!file.isFile()) 
     throw new IllegalStateException("File "+file.getPath()+" is not a regular file."); 

    // HTTP stuff. 
    resp.setContentLength((int)file.length()); 
    if(artifactInfo.getFileName().endsWith(".jar")) 
     resp.setContentType("application/java-archive"); 
    else if(artifactInfo.getFileName().endsWith(".xml")) 
     resp.setContentType("text/xml"); 
    else 
     resp.setContentType("application/octet-stream"); 

    resp.setHeader("Content-Disposition", "attachment; filename="+file.getName()); 


    ServletOutputStream os = resp.getOutputStream(); 
    FileInputStream in = new FileInputStream(file); 
    IOUtils.copy(in, os); 
    in.close(); 
    os.close(); 
} 
関連する問題