• 締切済み

servletとjspの連携について

昨日も質問したため、ほぼ連投になってしまって申し訳ありません 現在ブラウザ上で計算を行うプログラムを組んでいます jspから、form actionでサーブレットのパスを指定して、引数を渡すと同時にサーブレットを実行といった感じなんですが、サーブレットに飛ぼうとするとダイアログが出てきてしまいます。 これはどういったことが原因なんでしょうか? ページではなくファイルとして認識されているというのは大体判るんですが、解決方を教えていただけると幸いです。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

Servletに setContentType("text/html"); のメソッドを入力されてますか? このメソッドの引数の部分 "text/html" が間違っていると、ダイアログが出てきてしまいます。

関連するQ&A

  • Servlet+JSP連携

    Tomcat6.0を用いてSSL通信のテストプログラムを作成しています。 以下の順で実行するとサーブレットのdoPostが実行されずHTTP 404でエラーとなってしまいます。 1の地点で証明書がエラーになっているのが問題なのでしょうか? httpの場合は通常に遷移するため何か設定が必要なのでしょうか? 1.https://localhost:8443/Testを実行するとindex.jspが実行されます。 2.index.jsp内から <form action="TestServlet" method="POST"><input type="submit" value="a"/> でサーブレットに遷移したいです。  URLはhttps://localhost:8443/Test/TestServletとなっているため問題ないと思われます。

    • ベストアンサー
    • Java
  • Servlet/JSPのアクセス制限

    Apache 2.2.x + Tomcat 5.5.xでサーバをたてています。 そこに、とあるサーブレット、ないしはJSPのファイルがあるとします。  www.somewhere.com/apps/servlet_or_jsp これを、通常は、同一サイト内にあるhtmlファイルのフォームから呼び出しています。  www.somewhere.com/foo.html   <form action="apps/servlet_or_jsp" ...> ここで、別サイトにあるhtmlファイルのフォームから、上記のファイルを呼び出そうとしてみます。  www.somewhereelse.com/bar.html   <form action="www.somewhere.com/apps/servlet_or_jsp" ...> すると、件のファイルを実行できてしまうのですが、これを外部サイトから実行できないようにするにはどうすれば良いのでしょうか? もしかしたら、とてつもなくくだらないことなのかもしれませんが、入門書を見たりWebで検索してみても答えが見つからなかったので、質問させてください。

  • JSPでメッセージボックスを表示したい

    urizakaです。 さて、早速質問したいのですが、現在作っているJSPのプログラムで ボタンを押すとFORMのActionに記述されているサーブレットに移動 してサーブレットを実行するかキャンセルするかという(いわゆるVB でいうところの)メッセージボックスを表示したいのですが、そのような 方法というのはあるのでしょうか?確か、javaにはメッセージボックス という概念が無かったような気もするので… 環境は、JBuilder4で、HTMLのソースコードは <Form Method="POST" Action="×××(ここにサーブレットの アドレスを入力)"> <Input type="submit" Value="押す"> </Form> です。  宜しくお願いします。

    • ベストアンサー
    • Java
  • WTP,JSP,Servlet

    WTPを使って開発をしています。 設定まではうまくいきました。 一応環境をお知らせします。 ・WindowsVista ・WTP ・Tomcat6.0 ・Java6.0 ○実現したい事 JSP画面のフォームから送信ボタンでServletを呼ぶ。 ○困っていること JSP画面からServletが呼べない。 どうも <form method="post" action="com.Servlet"> のactionの指定が間違っているようです。 ○ソース環境 JSP : ルート/WebContent/JSP画面 Servlet : ルート/src/com/Servlet.java class : ルート/build/classes/com/Servlet.class ○エラー HTTPステータス 404 - /ルート/com.Servlet Actionの指定をいろいろと試したのですがダメでした。 Sevletの代わりにJSP画面と同じフォルダ内の他のJSPファイルを指定したらうまくいってます。 情報が足りなかったらすいません。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • JSPが表示されません

    Apache2+Tomcat4.1+j2sdk1.4.2_06+EclipseでJSPとサーブレットのページを作ろうとしています。 HTMLファイルのフォームの内容をJSPファイルに送り、ServletでDBと参照、登録という流れを作ろうとしています。 aaa.html(ユーザーがデータを入力) ↓(1)フォームの内容を転送 bbb.jsp((2)htmlからの入力をccc.classに中継、(7)返り値を表示) ↓(3)メソッド呼び出し ↑(6)返り値を返す ccc.class(重複の有無確認やDBへの登録メソッド) ↓(4)SQL ↑(5)結果 DB(PostgresSQL) 本に書いてあるのを真似たらlocalhost上ではちゃんと動くようになりました。 つまり、下記のようにaaa.htmlからの転送先をlocalhost:8080/bbb.jspに指定するとうまく作動します。 <form name="form1" method="post" action="http://localhost:8080/bbb.jsp"> しかしながらこれではローカルでしか使えないので転送先を相対パスで指定したらうまくいきません。 <form name="form1" method="post" action="../bbb.jsp"> 外部から参照できるURL(サーバのIPアドレス)でもダメです。 <form name="form1" method="post" action="http://***.***.**.**/bbb.jsp"> 症状としては.jspファイルの最初のHTMLの記述はちゃんと動いているようで画面の色等はちゃんと変わります。 <%.....%>で囲まれたJAVAの記述がまったく作動しません。 /work/org/apache/jspに発生する中間ファイルもlocalhostのときには出来るのですが相対パスにすると出来ません。 どうしたらいいのでしょうか? ひょっとしたらとても初歩的なことかもしれませんがご存知の方がいらっしゃいましたらご教授願いたいと思います。

    • ベストアンサー
    • Java
  • サーブレットからJSPへ情報を渡す

    サーブレットからJSPへ情報を渡すことについて質問がございます。 ■質問は、ブラウザからサーブレットにリクエストして      モデルからデータを取り出しJSPがモデルを参照して      ブラウザに結果を表示し、ブラウザの画面のボタンを      クリックすると、またサーブレットにリクエストが      いくようにしたいのですが、      そのJSPから二度目のサーブレットへのリクエスト及び      リクエストする際にデータを渡すのですが、      JSPからサーブレットへ飛んでくれず404エラーがでます。      ★どうしたら、JSPからサーブレットへ飛んで       くれるでしょうか? ■簡単な流れでかきますと   リクエスト(hidden value="patu") ブラウザ  →  サーブレット  →  モデル ←→ テキスト           ↓           ↑(参照)   ブラウザ ← ← JSP →→→→→  上記の流れは一回の流れですが、次JSPからまたサーブレットへ  actionし、(hidden value="patu")をして同じ流れを  くりかえしたいのです。 ■JSPではどのようになっているかと申しますと <form action="http:://localhost:8080/sotu/TextServlet"method="POST"> <input type="image" src="NEXTquiz.gif" value="次の問題"     onclick="http://localhost:8080/sotu/TextServlet'"> <iuput type="hidden" name="patu" value="yonyc.getPatu()"> </form> となっております。 ■サーブレットでは protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {  String kye = request.getParameter("patu");//value受け取り MondaiSC mondaisc = new MondaiSC(); //モデルクラス生成  mondaisc . mondaisc.DefaultQuiz(kye, i); //モデルにキーを渡す ArrayList textList = mondaisc.getTextList();  //モデルクラスからテキストの情報が入っているArrayListを受ける り  HttpSession session =request.getSession();//sessionに入れる  session.setAttribute("text",textList);  RequestDispatcher rd =getServletContext().getRequestDispatcher("/yomi.jsp"); } このyomi.jspからまたサーブレットへ同じリクエストをおくりたいの です。  ところが飛んでくれません。  恐らく、JSPでの記述の仕方に問題があるのではないこと思っており ますが、どなたかアドバイスをお願い致します。  宜しくお願い致します。

    • ベストアンサー
    • Java
  • JSP/サーブレットについて

    JSP/サーブレットのMVCモデル風にJSP、サーブレットと、Beanを作成したばあい、サーバーに各プログラム?をどう配置し、プログラム内でのお互いの具体な指定の仕方がぴんときません。 指定の仕方とはたとえばサーブレットからJSPを呼ぶときgetServletContext().getRequestDispatcher("xxxxx/aaaaaa.jsp").forward(......); とコーディングするとおもいますが、この場合のxxxxxと実際にサーバーに配置する場合の関連です。 サーブレットは...../WEB-INF/classesに置くとか、Beanは...../WEB-INF/classes/パッケージ名に配置するのはわかります。JSPは通常どこにおくのでしょうか?たとえばC:\Tomcat\webapps\examplesなのか C:\Tomcat\webapps\examples\jspなのか? その場合プログラムないではどう指定するのが一般的なのでしょうか? 文章がわかりにくくてすいません。 開発環境はWindowsXP,Apache,Tomcatの場合です。

  • [JSP]1Servletから複数フレームにパラメータ渡し

    HTMLの<frame>タグでaaa.jspとbbb.jspを同時に表示させています。 aaa.jspからのフォームの値をHOGEというServletで受取り、 処理したものをaaa.jsp・bbb.jsp共に反映(更新)させるにはどうすれば良いでしょうか? 現状、forwardを2回書いているのですが、下記の様に怒られてしまいます。 (エラー/java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません ) ============aaa.jspのフォーム=================================== <form name="a1" method="post" action="/HOGE"> <input type="submit" name="GO" value="go"> </form> ================================================================ ============HOGE (サーブレット)================================ public class HOGE extends HttpServlet { public void doPost (HttpServletRequest request, HttpServletResponse response){ //jspに渡すパラメータをセット request.setAttribute("pram1", "judy"); request.setAttribute("pram2", "mary"); //forward準備 ServletContext sc = getServletContext(); RequestDispatcher aaa = sc.getRequestDispatcher("/jsp/aaa.jsp"); ServletContext sa = getServletContext(); RequestDispatcher bbb = sa.getRequestDispatcher("/jsp/bbb.jsp"); try { aaa.forward(request, response); bbb.forward(request, response); //ここでエラー } catch (ServletException e) { } catch (IOException e) { } } } ============================================================== どなたかご存知の方いらっしゃいましたら御教授宜しくお願いします。

  • java、サーブレットなどを勉強しています。html(jsp)のfor

    java、サーブレットなどを勉強しています。html(jsp)のform actionでサーブレットに飛ばしたいとき、レイアウト上別の処理をさせたい(submit)ボタンがあります。 form actionタグはネスト出来ないとの事で、他の方法を探しています。 submitでなく、type="button" でjava script処理と言う解法があるようですが、まだそこまで勉強していないので、ひとつ教えてください。 input type="submit"にvalueがあります、ボタン名になりますが、このvalueは受け手のサーブレットで、読めないのでしょうか。読めればそれによって、処理を分けれるのですが。 あるいは、input type="submit"でサーブレットに別の情報を送る手段はあるでしょうか。 よろしくお願いいたします。

  • jspで無限ループ

    jspやサーブレット、或いはaspのプログラムの中で無限ループになった場合、例えば while(true){ ・ ・ ・ } のように。 そのプロセスはどうなるのでしょうか? ブラウザを閉じた瞬間に止まるのでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう