2012-01-03 5 views
0

を使用してサーブレットに表示するためには見られません。画像は、私が(ドロップダウン選択にそれを変更しようとして)テキストボックスを持っているWebページ(HTM)を持ってimgタグ

私は送信ボタンが画像の名前を書く(.PNG、.JPG、.GIF)とヒット

サーブレットが呼び出され、私は、ユーザーが入力したその名前を持つ画像を表示しようとしていますウェブページで

画像は、 である本サーブレットの.classファイルと同じディレクトリに存在しているが、私は、サーブレットから(のPrintWriterのストリームに書き込むことによって)<img>タグを使用してそれを表示しようとすると、私は利用できないリソースを入手します。

私は手動でもlocalhost:8080/webAppName/imgNameを使用して、いくつかの画像を見つけることを試みたが、まだリソースが見つかりません。

私はFileクラスのexists()メソッドを使用しようとすると私はまた、偽得ます。

サーブレットが正常に動作し、私はいくつかのクライアントへの応答としてテキストが、画像を見つけることができ、その表示されています。

サーブレットはHTTP GETとして呼び出されます。ここで

は、サーブレットのコードです:

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class Expt16_3PassImg2Servlet extends HttpServlet 
{ 
    String IPMsg; 
    String imgName=""; 

public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException 
{ 
    response.setContentType("text/html"); 
    PrintWriter pw = response.getWriter(); 
    imgName=request.getParameter("imgNameEntry"); 
    boolean imgExists=true; 
    pw.println("<html>"); 
    pw.println("<body>"); 
    //if((new File("./"+imgName)).exists()) 
     pw.println("<img src=\""+imgName+"\">"); 
    //else 
     //pw.println("<h1>Image doesnt exist</h1>"); 
    pw.println("</body>"); 
    pw.println("</html>"); 
    pw.println("<br>Sample Text"); 

} 
} 

私たちは、画像/ JPEGなどのコンテンツタイプを設定することにより、画像を表示することができます知っているが、私はimgタグを使用して、それを表示したいです。

そして、あなたが見ていると同じような方法で、私はHttpServletのに私のサーブレットを拡張しています。

+0

サーブレットはスレッドセーフではありません。 – BalusC

+0

ええと、ありがとうございました。しかし、ちょうどサンプルのダミーコードです。 それは実際のものです.. ..! – ritesht93

答えて

1

画像は、Webディレクトリにする必要があります - あなたが他の公的にアクセス可能なリソースを入れて同じ場所、HTMLファイル(ただしWEB-INF下)のように。

クライアントは、クラスパスリソースについての手掛かりがありません。イメージ名をクラスパスリソースにマップしてバイトをストリームバックしない限り、クラスパス上のイメージはクライアントには見えません。


イメージの名前はどのようにしてわかりますか?

+0

実際に名前をつけたドロップダウンセレクションがあるつもりです。名前は画像自体について教えてくれるでしょう。 – ritesht93

+0

そしてちょっと感謝します。ちょっと愚かな間違いです! JAVAサーブレットには実際に新しくなっています。私は昨日のように始まったと思います....ありがとう! – ritesht93

+0

@Davesレスポンスがあなたを満足させる場合、彼に報酬を与えて解決策としてマークしてください。 –

0

あなたのウェブアプリ名やコンテキスト名は 'MyWebApp' あなたのimagesディレクトリはその後、ここでMyWebApp/allimages

ようなものだが、あなたのイメージタグが

のIMG SRC = 'MyWebApp/allimages/imagenameのように見える方法です.png 'id =' 'alt =' '

関連する問題