Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

セキュリティーの警告

はじめまして。
以下のコードを書いて、ブラウザで実行した際に
「ファイルのダウンロード−セキュリティーの警告」というポップアップがあがってきてブラウザ上での表示が出来ません。解決方法がわかりません。どなたかご存じないでしょうか?
<中身>
※参考書内容通りの記述です。コンパイルはOKで、Tomcatを起動し、ローカルで実行しました。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {
    //doGet()メソッドをオーバーライドする
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException,IOException {

    //コンテント種類としてtext/htmlと日本語をしていする
    res.setContentType("test/thml;charset=iso-2022-jp");
    //出力用PrintWriterの参照を取得する
    PrintWriter out = res.getWriter();

    //htmlテキストを出力する
    out.println("<html><body><img src=\""
        + getServletContext().getRealPath("images\\sample3.jpg")
        +"\" width=\"349\" heigth=\"325\" align=\"right\">"
        +"<center><h1>初めてのサーブレットプログラム</h1>"
        +"<font size=6 color=\"#333399\">いやあ、またお会いしましたね!</font></center></body>"
    +"</html>");
        out.close();
    }
    
    //doPost()メソッドをオーバーライドする
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException,IOException {

    doGet(req,res);
    }

14

回答

3302

閲覧

14件の回答

評価

0

ぐぐってみた?

評価

0

ググるまでもない。
まずは、自分のタイプミスを疑おうぜ。

それと、charsetにiso-2022-jpを指定するなら、
ちゃんとエンコードしろよ。

評価

0

はい。これといった解決策が見つかりませんでした。
インターネットオプションでのセキュリティーがきついのか?と思って設定を見てみたのですが、特にきついわけではなかったです。

評価

0

記述間違ってましたすみません。
ただ、記述直して再度実行したのですが、やはり同じ結果でした。

評価

0

Tomcatの再起動はしたの?

評価

0

はい、再起動しました。

評価

0

「text/html;charset〜」を「text/html; charset〜」にしてみて。

評価

0

変更して実行しました。
結果は同じでした。

もう少しググッて見ます!

評価

0

まずは、これでうまくいくかどうか試してみては。

out.println("<html><body>Hello World !</body></html>");

画像だのなんだのは後回し。
一度に考えることは、ひとつだけにしたまえ。

評価

0

Hello World!を作成して実行したのですが、どうしても駄目でした。
ググッて見ても解決の糸口が見つかってません。

ーー整理の為に・・ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<環境>
OS:Win XP Pro
Eclipse3.1
Tomcat4.0.6
<目的>
作成したsevletをコンパイルし、出来たclassファイルをWEB-INF\classesへ配置し、LocalHostのブラウザ上でHTMLの内容を表示する事
<問題>
URLへアクセスした際に「ファイルのダウンロード−セキュリティーの警告」というポップアップが発生し、ブラウザでの表示が出来ない。
ファイルをダウンロードすると拡張子の付いていないファイル(class名が付いている)がダウンロードできる。拡張子を「.html」にして開くと、ブラウザ上で表示したい内容が表示される。

<解決の為に>
?PCのセキュリティーの確認→NG(解決しなかった)
 セキュリティー設定が「高」なのではないかと考え調査したが、「中低」であり特に問題はないと考えた。

?Web.xmlの記述の確認→NG
 URLの指定方法がよくないのではと考え調査したが、デフォルトのままであったので問題ないと考えた。

?ググッて見ました。→NG
 現時点で糸口が見つかっていない

ーーーーーー<以上>ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

糸口になりそうなキーワードでも構いませんので
お力をかしてください。
宜しくお願いします。




評価

0

セキュリティ云々については、
「サーバーから、データが送り込まれてきてるよ。
 保存するかどうかは、ユーザーが決めてください」
てな意味だから、気にしなくていいでしょ。
ブラウザに表示されないのは問題だが。

後、参考までに、URLはどうなってるのか張ってみてください。
ポート番号が抜けてたりしないかね。

このサイトにも同じようなものがあるし、試してみては。
ただし、一字一句、サンプル通りにすること。

http://www.javaroad.jp/servletjsp/sj_servlet1.htm

評価

0

現在動かしているソースを載せてみて

評価

0

URLは
http://localhost:8080/MyApp/servlet/MyServletです。

実際の記述はこれです。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet{
    //doGet()メソッドをオーバーライドする
    public void doGet(HttpServletRequest hreq,
              HttpServletResponse hres)
    throws ServletException,IOException{

    //コンテント種類としてtext/htmlと日本語を指定する
    hres.setContentType("text/html; charset=iso-2022-jp");
    //出力用PrintWriterの参照を取得する
    PrintWriter out = hres.getWriter();

    //htmlテキストを出力する
    out.println("<html><body><img src=\""
        + getServletContext().getRealPath("images\\sample3.jpg")
        + "\" width=\"349\" heigth=\"325\" align=\"right\">"
        + "<center><h1>初めてのサーブレットプログラム</h1>"
        + "<font size=6 color=\"#333399\">いやあ、またお会いしましたね!</font></center></body>"
    + "</html>");
        
    }
    
    //doPost()メソッドをオーバーライドする
    public void doPost(HttpServletRequest hreq, HttpServletResponse hres)
    throws ServletException,IOException{

    doGet(hreq,hres);
    }
}

評価

0

プログラムの問題じゃなくて、Tomcatの設定がうまくいってないんだろうな。
examlsesは、ちゃんと見られてるのかい。

がんばってるところを申し訳ないけど、
ここまでやって動かないようなら、俺だったら、
Tomcatの再インストールからやり直す。
次にやるときは、一字一句書籍やサンプルの通りにね。

申し訳ないが、俺はここまでとさせていただきます。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。