• ベストアンサー

サーブレットが実行できない

VAJを利用してサーブレットを動かそうとしているのですが、うまくいきません。どこに問題があると考えられるでしょうか? htmlファイルからServlet起動 html:input1.html Servlet:Login1.java input1.htmlのFORMタグ <FORM action = "/servlet/Login1" method = "GET">

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

質問者が選んだベストアンサー

  • ベストアンサー
  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.5

>あと、今つまづいてるのが、DBにアクセスする際にJDBCドライバをロードする際に、ClassNotFoundExceptionが発生してしまいます。 >kuro_73さんがおっしゃっている、「DBへのアクセス用のjarファイル等も別途必要であれば追加しておく必要があります。」と関係しているのでしょうか テストうまくいってよかったですね。 たとえばDB2であれば、db2java.zip等をテスト環境のクラスパスに設定する必要があります。 これをしないと、ClassNotFoundになります。

mikmik_a
質問者

お礼

db2java.zipをクラスパスに設定すると動くようになりました。色々教えて下さりどうもありがとうございました。また機会がありましたらよろしくおねがいします。

その他の回答 (4)

  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.4

すみません、遅くなりました。 VAJということは、WebSphereテスト環境を用いてテストされているのですね? WebSphereテスト環境を起動すると、「WebSphereテスト環境コントロール・センター」が起動されます。 「クラスパスの編集」ボタンをクリックして、クラスパスにインクルードする(VAJの)プロジェクトを選択してください。 それ以外に、たとえばDBへのアクセス用のjarファイル等も別途必要であれば追加しておく必要があります。 それが終わったらServletエンジンを起動して、アクセスできると思います。

mikmik_a
質問者

補足

色々アドバイスいただきありがとうございます。 原因をつきとめることができました。原因はサーブレットクラスがpublicになっていませんでした。 あと、今つまづいてるのが、DBにアクセスする際にJDBCドライバをロードする際に、ClassNotFoundExceptionが発生してしまいます。 kuro_73さんがおっしゃっている、「DBへのアクセス用のjarファイル等も別途必要であれば追加しておく必要があります。」と関係しているのでしょうか?

  • misoka
  • ベストアンサー率35% (56/160)
回答No.3

うまくいかない、とは、具体的にどうなっているのでしょう? サーブレットのエラーが表示されるのでしょうか? ページがない、と言われるのでしょうか? 別のサーブレットは動くんだけど、これだけが動かないのでしょうか? GETメソッドで送信するなら、サーブレットにはdoGetメソッドが なくてはいけませんが、実装しているでしょうか?

mikmik_a
質問者

補足

Error500 必須のサーブレットクラスが見つかりませんでした。というエラーが発生します。 doGet()メソッドは実装しています。

  • arusu
  • ベストアンサー率9% (1/11)
回答No.2

FORMとactionが大文字と小文字になってますね。 両方とも小文字か大文字で統一してみてはどうでしょうか。

mikmik_a
質問者

補足

統一しましたが変化はなかったです。

  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.1

基本ですが確認事項 <その1> <FORM>タグの中に<INPUT type="submit">もしくは<INPUT type="button" onClick="サブミットするJavaScriptを起動">でServletに対してサブミットをかけていますか? <その2> <FORM>タグはきちんと閉じられていますか?

mikmik_a
質問者

補足

HTMLのソースです。 <HTML> <BODY> <FORM action = "/servlet/Login1" method = "GET"> ユーザID:<INPUT type ="input" name ="userid"><BR> パスワード:<INPUT type = "password" name = "password"><BR> <INPUT type ="submit" value ="ログイン"> </FORM> </BODY> </HTML>

関連するQ&A

  • サーブレット

    HTMLからJavaサーブレットを起動させたいのですが、 うまく行きません submitでActionを起こしてます。 <form name="form1" method="post" action="AAA"> javaサーブレットは同じディレクトリに存在します。 どのようにすればよろしいでしょうか? よろしくお願いします。

  • Java JSP/サーブレットについて

    HtmlファイルでDBとのコネクションを行うログイン処理の画面を作成しました。 <form name="mainForm" action="Test" method="POST"> でTest.javaファイルに処理が移りDBとのコネクトを行いデータの取得はできました。 Test.javaファイルを「Ctrl+C」で「Ctrl+V」を行い別名でLogin.javaファイルを作成しました。 作成したLogin.javaファイルはクラス名などはもちろんLoginと変更しています。 その後、<form name="mainForm" action="Login" method="POST">タグの actionを TestからLoginに変更しただけで、Htmlファイルから実行をすると The requested resource (ファイルのパス名) is not available.と出力されます。 環境としてはEclipse3.4でTomcat6.0です。strutsは使用しておりません。 Javaファイルをコピーして新しいファイル名を実行しようとしたら 何か他にも変更や設定をしないといけないことがあるのでしょうか? 見落としがありますでしょうか? お手数ではございますがアドバイスをお願いします。

    • ベストアンサー
    • Java
  • JSPからクラス(サーブレット)を呼び出す方法

    JSPからクラス(サーブレット)を呼び出そうとしてるんですが 以下のエラーになってしまいます。 The requested resource (/Hello) is not available. ネットで調べてみたら、パスの指定の仕方が悪いんじゃないかって感じがするので 色々パスを弄ってみましたが、ずっとavailableになります。 わかる方いらっしゃったらアドバイスよろしくお願いします。 ※usebeanはこのエラーの前の段階で、getとset両方動くのを確認しています。 ※「http://localhost:8080/javaroad/Hello」を直接WEBブラウザのURLに入れたら動きました。 【フォルダ構成 (Tomcat 6.0\webappsの直下) 】 javaroad ---------- index.jsp ---------- WEB-INF -------------------- web.xml -------------------- classes ---------------------------- HelloServlet.class 【index.jsp】 <%@ page contentType="text/html;charset=Shift_JIS" %> <jsp:useBean id="GSBean" class="Testaaa.GetSetBean" /> <html> <head> <title>Hello World!</title> </head> <body> <form method="post" action="/Hello"> <input type="text" name="name1" maxlength="10" style="ime-mode: disabled"> <jsp:setProperty name="GSBean" property="userID" param="name1" /> <br><br> <input type="submit" value="submit"> </form> </body> </html> 【web.xml】 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app> 【HelloServlet.class】 import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<BODY>"); out.println(new java.util.Date()); out.println("</BODY>"); out.println("</HTML>"); } 以下試して駄目だったパスの一覧です。 <form method="post" action="Hello"> <form method="post" action="/Hello"> <form method="post" action="../servlet/Hello"> <form method="post" action="HelloServlet"> <form method="post" action="/HelloServlet"> <form method="post" action="../servlet/HelloServlet"> <form method="post" action="WEB-INF\classes/HelloServlet"> <form method="post" action="http://localhost:8080/javaroad/Hello">

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ・ファイルの配置 basic |-input |...|-echo.jsp |-WEB-INF |...|-src |......|-input |.........|-EchoServlet.java |...|-classes |......|-input |.........|-EchoServlet.class |...|-web.xml ・echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="../servlet/input.EchoServlet"> ・web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> tomcatの/confのinvokerのコメントは外していません。 過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと 思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • 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"でサーブレットに別の情報を送る手段はあるでしょうか。 よろしくお願いいたします。

  • eclipse でjspからJavaを実行するには

    eclipse 3.4 tomcat 4.1 j2sdk1.4.2 sysdeo 3.2.1 を使用し開発を行おうとしています。 なんとかeclipse上からtomcatを起動し、localhost:8080 を指定してjspの画面は出るようになったのですが、jspからJAVAを呼ぼうとすると エラーになってしまいます。 呼び出し部分は <form action="servlet/javahello.FileUploadServlet" method="post" enctype="multipart/form-data" name="form1"> 名前: <input type="text" name="name"> <br> ファイル: <input type="file" name="file1"> <br> <br> <input type="submit" name="Submit" value="送信"> <input type="reset" name="submit" value="リセット"> </form> とし、javaファイルは eclipse上のプロジェクト(tomcat_test)のWEB-INF/src/配下に servlet/javahelloを作ってFileUploadServlet.javaを入れています。 http://localhost:8080/tomcat_test/servlet/javahello.FileUploadServletを実行すると エラーは以下のようなエラーで HTTP Status 404 - /tomcat_test/servlet/javahello.FileUploadServlet javaファイルが見つけられていないと思うのですが、 jspからjavaを見に行く時はどのように参照しにいくのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • ブラウザーでの入力値をサーブレットで取得する方法

    サーブレットの開発を行っていますが、ブラウザー側で 入力したパラメーターをサーブレットで受け取りたいのですがうまくいきません。 受け取りたいのは、以下のHTMLで作成したテキストボックスへの入力値です <form name="form7" method="post" action=""> <p> <input type="text" name="textfield2" size="4" maxlength="4"> 年 <input type="text" name="textfield" size="2" maxlength="2"> 月</p> </form> ブラウザー側からは <form action="http://localhost/servlet/yuushi" method=post> の指定を行っています。 サーブレットでの受け取り方は、 String p=request.getParameter("textfield2"); String p1=request.getParameter("textfield"); としましたが、p、p1とも何の値も入りませんでした。 getParameterで取得できると思ったのですが取得できませんでした。 値の取得方法の御教示をお願いいたします。

    • ベストアンサー
    • Java
  • サーブレットが起動しない

    HTMLのSubmitボタンを押すと、Sample_Servletにリクエストが 送信されます。そして、JSPを表示します。 その後、JSPのSubmitボタンを押すと 何もかわりません。Servletにリクエストが わたってないのだと思います。 <FORM ACTION ="sample.Sample_Servlet" METHOD = "POST"> ・・・ <INPUT TYPE = "submit" NAME="btn" VALUE ="btn"> としているのですが、、、、 何か心当たりがありましたらお願いします。

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

    こんばんはです。 htmlからサーブレットに飛ばして、JSPで表示しています。 でも、htmlでform action="../todayServlet/M" method="get" で飛ばした後、../tomorrowServlet/Mに変えてみたて飛ばしてみたら todayServletの方に飛んでしまいました。これって?? おまけにaction=の中身を消してaction="";などとしても、todayServletに 遷移します。何かデータが残っているのでしょうか? tomcat55を再起動しても同じです。 なぜ、遷移先を記載していないにもかかわらず移動してしまうのか・・。 http://localhost:8081・・・・という風にHTMLを表示させそこから飛ばしています。HTMLのaction先を変えた後保存もしています。 遷移先のプログラムはコンパイルとおっています。 以前遷移先のプログラムは普通に動作しました。 今回HTMLだけ変えて送ってみました。 何かお気づきな点がございましたらご指導ください。 宜しくお願いいたします。 ちなみにDBも絡んで居ます。 HTMLからサーブレットに飛ぶまでなので関係ないとは思いますが・・。

    • ベストアンサー
    • Java
  • eclipseWTP環境 HTMLフォームからのデータをサーブレットで

    eclipseWTP環境 HTMLフォームからのデータをサーブレットで受け取れない。 eclipseWTP環境で、HTMLフォームからデータをサーブレットで受け取るサンプルファイルの実行動作を確認しようとしています。しかしエラーが発生し対処方法が分からず困っています。 htmlファイル http://localhost:8080/JSP_Servlet/view/formTest.html <FORM action="JSP_Servlet/FormTestServlet" method="POST"> MailAddress : <INPUT type="text" name="mailAddress"><BR> Password : <INPUT type="password" name="password"><BR> <INPUT type="submit" value="O K"> で、データをPOSTで投げてるのですが、サーブレットが見あたらないみたいです。 サーブレットファイル http://localhost:8080/JSP_Servlet/FormTestServlet エラー表示 HTTPステータス 404 - /JSP_Servlet/view/JSP_Servlet/FormTestServlet -------------------------------------------------------------------------------- type ステータスレポート メッセージ /JSP_Servlet/view/JSP_Servlet/FormTestServlet 説明 The requested resource (/JSP_Servlet/view/JSP_Servlet/FormTestServlet) is not available. web.xmlファイル <servlet> <description></description> <display-name>FormTestServlet</display-name> <servlet-name>FormTestServlet</servlet-name> <servlet-class>pac.FormTestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FormTestServlet</servlet-name> <url-pattern>/FormTestServlet</url-pattern> </servlet-mapping> マッピングがおかしいでしょうか?それとも私の考え方がおかしいでしょうか? サーブレットマッピングパスがよく分かっていないのかもしれません。 FormTestServlet.javaはJSP_Servletプロジェクトのsrc内pacパッケージの中にいます。

    • ベストアンサー
    • Java

専門家に質問してみよう