2016-03-24 4 views
0

は、私はこのようなフォルダを持っています。 しかし、私はプロジェクトINSIDEフォルダ/ Hを配置し、イメージなどのファイルをwarファイルにバンドルして、サーブレットにアクセスできるようにするにはどうすればいいですか?</p> <pre><code>File file=new File("/Users/mac/Desktop/h/"+device_id+"/"+postID+".jpg"); </code></pre> <p>それは細かい上記のコードを動作します:

File file=new File("/h/"+device_id+"/"+postID+".jpg"); 

経由でファイルにアクセスすると、私はそれは私が 誰もがどのように適切にwarファイルとファイルへのアクセスを実装するためにknoew例外見つからないファイルを提供しますか?

答えて

0

お試しください。

BufferedReader br= new BufferedReader(new InputStreamReader(request.getSession().getServletContext().getResourceAsStream("<<Relative path from webroot of your project>>"))); E.g. Path value can be /WEB-INF/images/img1.jpg 

バッファリングされ、読者はファイルの内容を持っています

または

InputStream is = request.getSession().getServletContext().getResourceAsStream("<<Relative path from webroot of your project>>"); 

は、あなたがたInputStreamからコンテンツを取得することができます

私はそれは問題ではないのセッションを使用していない
+0

? – yanozai

+0

良い質問です。 ServletContextはさまざまな方法で取得できます。すでにサーブレットの中にいるので、getServletContext()を使って取得できます。これは基本クラスのメソッドです。 @Override ServletException、IOException { ServletContext context = getServletContext();例外が発生した場合、doGet(HttpServletRequestリクエスト、HttpServletResponseレスポンス)がServletExceptionをスローします。 // ... }これは、セッション – alphablue

+0

で取得したくない場合にのみ表示されます – yanozai

関連する問題

 関連する問題