• ベストアンサー

サーブレットの動かし方が分からないです・・・

フォームにユーザ名・パスワードを入れてログイン出来たら次のページに進んでメニューを表示させる、というようなWebアプリを作っています。 そのユーザ名・パスワードで先生か生徒か判断し、生徒なら授業を表示する画面、先生なら授業の表示とテストの点の追加やら修正が出来る管理者メニューに行けるといった感じにしたいです。 ログインを判断するサーブレットは出来てコンパイルも通ったのですが、web.xmlやらserver.xmlの編集がイマイチ分かりません… 環境はwindows2000、Tomcat4.1、Apache1.3で連携は出来てます。 ディレクトリは C:WebApp------login        |---add        |---update        |---WEB-INF って感じです。(自分の力ではこの書き方が限界…) loginの中にtop.htmlやらstudent.jsp、loginFailure.jsp、admin.jspをぶち込んでます。 (生徒と管理者の画面を同じとこに入れるのもマズイですかね…?) 長々とすいませんが初心者なので説明足りない部分あるかと思いますがよろしくお願いしますm(__)m

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

  • ベストアンサー
回答No.1

どういった部分がわからないのでしょうか。ブラウザにURLを入力しても画面が表示されないということでしょうか。 web.xmlの編集については下記URLを参考にすればわかると思います。

参考URL:
http://www.hellohiro.com/servletwebxml.htm
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • green64
  • ベストアンサー率0% (0/2)
回答No.2

No.1の方が、ほとんどの回答を言ってくださいました。 No.1の方の参考URLを見れば両方のxmlについてわかると思います。 エラーが表示された場合、エラーの内容を見れば多少解決できると思います。 web.xmlはアプリケーションの設定、 server.xmlはTomcat自身の設定をします。 エラー内容によって、それぞれの設定を変更すれば良いと思います。 loginの中にhtmlやjspを全て入れているようですが、問題は無いと思います。 正しく設定できれば、どこに配置しても大丈夫です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • サーブレットのクラス図について。

    サーブレットを勉強しています。同時にモデリングも勉強したいと思っています。 サーブレットで、例えば、 login1.jsp(htmlのログインのフォーム) login2.jsp(IDとパスワード送信後のページ。ログイン成功、失敗を表示する) ConnectionManager.java(DBとの接続を担当) user.java(ユーザオブジェクト。オブジェクトをセッションにおく) というファイルたちで、ログインの処理を実装したのですが、これらをクラス図で表現するとどんな感じになるのでしょうか? そもそもこういった処理はクラス図にはしないものなのでしょうか?(user.javaだけクラス図に書くとか…。よく分かりませんが。) 参考文献や参考URLだけでも結構です。 よろしくお願いします。

  • サーブレット内でuseragent情報を取得したい

    お世話になります。 プログラムは、 ログイン画面で、ユーザIDとパスワードを入れていただき、 認証OKであれば、次の画面(ログイン直後の画面)を表示するだけの、 JavaServletとJSPの連携した動的Webプログラムです。 (実際に動作確認済です) これまでは、JavaServletのdoPostメソッド内で、 パスワード認証OK直後に、固定で1つのJSPファイルを 単純にforwardで開く仕様でしたが、 今後は、 JSPファイルを開く前のどこかで、 user-agent情報(ログインなさった人のOS情報と、Webブラウザ情報)を 取得して、IF文で判断させて、 別々のJSPファイルをforwardで開く仕様に変更したいです。 (たとえば、   IE9でログインなされた場合には、doPostメソッド内から”FormIE9.jsp”をforwardで開く。   Firefoxでログインなされた場合には、doPostメソッド内から”FormFirefox.jsp”をforwardで開く。 など、表示されるJSP画面を変更したいです) 上記したようなプログラムの流れでは、 どのタイミングで、どのようにして、 user-agent情報(ログインなさった人のOS情報と、Webブラウザ情報)を 取得するのが定番なのでしょうか? (ちなみに、ログイン直後の画面(JSP)内に、JavaScriptを追加して、  user-agent情報を取得することは試してみて出来たのですが、  しかし、そのJavaScript内から、  別のJSPファイルを開くことが、私には出来ませんでした) 以上になります。 もし方法を御存じの方がいらっしゃいましたら、 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Tomcatにおけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- web.xml --------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//SUN Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • Java
  • JSPとサーブレット

    こんにちは。 webアプリを開発中に、 JSPを作成したあと web.xmlを作成しました。 そうしたら今まで、ページを 表示できていたのにできなくなってしまいました。 どうしてでしょうか? 開発はトムキャットとeclipseを使用しています

  • サーブレットに移動できないできない

    HTTPステータス 405 - HTTPのGETメソッドは、このURLではサポートされていません。 type ステータスレポート メッセージ HTTPのGETメソッドは、このURLではサポートされていません。 <%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href="css/style.css" rel="stylesheet" type="text/css" /> <title>ログイン画面</title> </head> <body> <header> <h3>書籍一覧システム</h3> </header> <div id="main"> <p>ユーザーIDとパスワードを入力してください。</p> <form action="/book_list/login" method="post"> ユーザーID:<input type="text" name="bookUserId"><br> パスワード:<input type="password" name="password"><br> <input type="submit" value="ログイン"><br> <a href="<%=request.getContextPath() %>/Login">gogoggo</a> </form> </div> <%@ include file="footer.jsp"%> </body> </html> <a href="<%=request.getContextPath() %>/Login">gogoggo</a> ↑個人的にはこの部分がだめで動かないと思っているのですが まだわからないのでどなたかお力添えをお願いします

  • JSPとServletの連携

    JSPからServletを呼ぶ方法がわかりません。 例えばログインの一連の動きとしては、 一番初めにログイン画面があって、 それからユーザIDとパスワードが一致するか判断するためにservletを呼んでクラスで処理して、 一致したらメニュー画面、一致しなかったらもう一度ログイン画面に遷移するんですよね? 一番初めにJSPからservletを呼ぶにはどこでファイル名を指定したらいいのでしょうか?

    • ベストアンサー
    • Java
  • RequestDispatcher.forwardメソッドで遷移する際のURL

    お世話になります。 JSP/サーブレットを使用してwebアプリケーションを作成しています。 タイトルの通りRequestDispatcher.forwardメソッドで遷移する際のURL についてうまくいかず、原因がわからない為質問させて頂きます。 ご教授宜しくお願い致します。 Aproject/jsp/login.jsp Aproject/jsp/top.jsp Aproject/WEB-INF/src/servlet/Login.java という3つのファイルを使用しています。 login.jspにて<form action="../Login" method="post">で Login.javaサーブレットにIDとパスワードを渡し、 サーブレットで認証を行ったあと RequestDispatcher.forwardメソッドにて以下のように 遷移するようになっています。 RequestDispatcher rd = request.getRequestDispatcher("./jsp/top.jsp"); rd.forward(request, response); 遷移はうまくいくのですが、top.jspが表示される時のURLが http://localhost:8080/Aproject/jsp/top.jspとなるはずが、 http://localhost:8080/Aproject/Login となってしまいます。 web.xmlの記述は <servlet> <servlet-name>Login</servlet-name> <servlet-class>servlet.Login</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> としています。 forwardメソッドではなく、sendRedirectメソッドを使用した場合 http://localhost:8080/Aproject/jsp/top.jsp とうまくいきます。 どのような原因が考えられますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • JSPファイルは参照できましたが、サーブレット不可

    JSPファイルは参照できましたが、サーブレットが上手く行きません Eclipse(Ver3)+Tomcat6を使用し、「サーブレット&JSP 逆引き大全」のコーディングを行っております。 JSPファイルは参照できましたが、サーブレットが上手く行きません 表示しようとすると下記エラーが出ます。 The requested resource (/myapp/Sample014/) is not available. ◎web.xmlの設定 [省略]・・・・・・・・・・・・ <servlet> <servlet-name>Sample014</servlet-name> <servlet-class>com.gokui.Sample014</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample014</servlet-name> <url-pattern>/Sample014</url-pattern> </servlet-mapping> [省略]・・・・・・・・・・・・ ◎ロケーション D:\Users\ueda\workspace\myapp\WEB-INF\web.xml ◎状態 ・http://localhost:8080/myapp/Sample015.jsp は表示される。 ・http://localhost:8080/myapp/Sample014/ は表示されず。 下記URLは参照したのですが、未解決です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1158881041 http://www.javaroad.jp/bbs/answer.jsp?q_id=20100904015203906 アドバイス頂けると有り難いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • サーブレットの【405】POSTについて

    「HTTPのGETメソッドは、このURLではサポートされていません。」のエラーが出ます。 コードは「スッキリわかるサーブレット&JSP」本の10章です。 サーブレットを右クリックで実行すると、上記のエラーが出ます。 ----------------------------------------------------------------- package servlet; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import model.LoginLogic; import model.User; @WebServlet("/Login") public class Login extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // リクエストパラメータの取得 request.setCharacterEncoding("UTF-8"); //PrintWriter out = response.getWriter(); //out.println(createHTML("POST")); //out.close(); String name = request.getParameter("name"); String pass = request.getParameter("pass"); // Userインスタンス(ユーザー情報)の生成 User user = new User(name, pass); // ログイン処理 LoginLogic loginLogic = new LoginLogic(); boolean isLogin = loginLogic.execute(user); // ログイン成功時の処理 if (isLogin) { // ユーザー情報をセッションスコープに保存 HttpSession session = request.getSession(); session.setAttribute("loginUser", user); } // ログイン結果画面にフォワード RequestDispatcher dispatcher =request.getRequestDispatcher("/WEB-INF/jsp/loginResult.jsp"); dispatcher.forward(request, response); } //private char[] createHTML(String string) { // TODO 自動生成されたメソッド・スタブ //return null; //} } ------------------------------------------------------------------------------------ ビュー <%--つぶやきトップ画面 --%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>つぶやき画面</title> </head> <body> <br><br><br><p style="text-align:center"><b>ようこそ!!つぶやきアプリへ!</b></p> <form action="Tsubuyaki/Login" method="post"> <p style="text-align:center">ユーザー名:<input type="text" name = "name"></p> <p style="text-align:center">パスワード:<input type="text" name = "pass"></p> <p style="text-align:center"><input type="submit" value="ログイン"></p> </form> </body> </html> ------------------------------------------------------------------------------------ どこがダメかご回答願います。

  • Seaser2のフォルダ構成について

    Seaser2のフォルダ構成について 下記の構成 eclipse3.5 jdk1.6 Seasar2のプラグイン各種 Doltengを使用してプロジェクトを作成しています。 状況管理システムというシステムを考えていて、 ログイン画面と状況一覧画面のAction、ActionForm、jspを作成し、 ログイン画面からログインをしたところ以下のエラーが発生しました。 「HTTPステータス 404 - /TEST/WEB-INF/view/login/Itiran.jsp」 LoginAction内では、 「return Itiran.jsp;」 と記述しており、 JSPの配置を下記のような配置にしているので WEB-INF └view ├login─login.jsp └itiran─itiran.jsp 当然といえば当然ですが、あるサイトをみたら 「JSPのルートにユースケース名のフォルダを作成し、そこに対象のページを作成する。」 ということ記事があったのでこのような構成を考えました。 でも本音は WEB-INF └view └jokyo ├login.jsp └itiran.jsp のような構成にしたいのです。 Seasar2に限らず「フレームワークでは規約があって規約通りに記述しないと動かない~」 ということも知っていますが、 このような構成にすることは可能なのでしょうか?

    • ベストアンサー
    • Java