• 締切済み

JSPのエラー画面(error.jsp)に遷移(移動)しない

フォームを設定したlogin.htmlから情報を受け取るlogin.jspで検証をして、間違ったid番号を入力した場合はerror.jspに移動させたいのですが、遷移せず、「HTTP 500 - 内部サーバー エラー」となります。 改善のご教示お願い致します。 [login.html] <html><head><title>login.html</title></head> <body><h1>ログイン</h1><hr><br> <form method="post" action="/webapp/JSPtest/login.jsp"> <table> <tr> <td>ID:</td> <td><input type="text" name="id"></td> </tr> </table> <br><br> <input type="submit" value="送信"> <input type="reset" value="キャンセル"> </form> </body> </html> [login.jsp] <%@ page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page errorPage="error.jsp" %> <html><head><title>login.jsp</title></head> <body> <% String id = "2007"; String data = request.getParameter("id"); StringBuffer temp = new StringBuffer(); if(!id.equals(data)) temp.append("数値間違い<BR>"); if(temp.length() != 0){ throw new Exception(temp.toString()); } %> <h1>こんにちは<%= data %>様</h1> <h1><%= temp.length() %> </h1> </body></html> [error.jsp] <%@page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page isErrorPage="true" %> <html><head><title>error.jsp</title></head> <body> エラーメッセージ<br> <%= exception.getMessage() %> </body></html>

  • Java
  • 回答数4
  • ありがとう数3

みんなの回答

  • ARIA9
  • ベストアンサー率37% (3/8)
回答No.4

アプリケーションサーバに何を使用しているかわかりませんが ログに何か出力されていませんか?

maiko100
質問者

お礼

ありがとうございます。 ログは特に無いようです。 MYSQL+Tomcatです

noname#49428
noname#49428
回答No.3

error.jspがどこに配置されてるか分かりませんが、パスを正しく設定して、web.xmlに以下のタグを追加して下さい。 <error-page> <exception-type>java.lang.Exception</exception-type> <location>error.jsp</location> </error-page>

参考URL:
http://www.geocities.jp/newtype_shira/java/tomcaterror.html
maiko100
質問者

お礼

早速の回答ありがとうございました。参考ページ等も拝見して、調べてみました。 現在、当方は webapp------WEB-INF/src | |-----work |-----JSPtest |   |---error.jsp |   |---login.html |   |---login.jsp | |---WEB-INF |---lib という構造になっています。ご指摘に従って、次のweb.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!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> <error-page> <exception-type>java.lang.Exception</exception-type> <location>error.jsp</location> </error-page> </web-app> をWEB-INFの配下においたところ、login.html、login.jspも動かなくなりました。(HTTPステータス 404) 勉強不足で申し訳ないのですが、web.xmlにサーブレットを登録するのは、 <?xml version="1.0" encoding="ISO-8859-1"?> <!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>Hello</servlet-name> <servlet-class>JSPtest.HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> という形は理解しているのですが、JSPとweb.xmlの関係がよくわかりません。通常のエラー(NULLとか、/ZERO)を返すプログラムは問題なく動作するのですが、自分で設定したメッセージを返したいと思います。 そのあたりのご教授お願いいたします。

回答No.2

No1の者です。 ごめんなさい。 ><%@ page errorPage="/error.jsp" %> ではなく、 ><%@ page errorPage="/webapp/JSPtest/error.jsp" %> でした。

maiko100
質問者

お礼

早速ありがとうございます。 残念ながら、動作しませんでした

回答No.1

><%@ page errorPage="error.jsp" %> これを <%@ page errorPage="/error.jsp" %> にしてみては。

関連するQ&A

  • JSPにおけるPageディレクティブ記述

    こんにちは、Strutsを勉強しているものです。 ユーザが入力したID, パスワードをフォワード先のJSPで表示するといった簡単なアプリーションを作成していますが、JSP表示時に500エラーとなってしまいます。エラー理由としてpageタグが終了していないことがあげられています。しかし、通常JSPで記述するpageディレクティブには閉じるタグは記述不要と考えています。どのようにすればこのエラーを回避できるのでしょうか。 ▽JSPソース <%@ page contentType="text/html"; charset="Shift_JIS" %> <html> <head> <title>Login Result</title> </head> <body> <%= (String)request.getAttribute("message") %> </body> </html> ※バージョン情報 Tomcat 5.5 JDK 1.5 Struts 1.2.4

    • ベストアンサー
    • Java
  • jspファイルが作れません

    現在、jspを勉強なのですが、jspファイルが作れません。 メモ帳にコードを打ちこんだあと、拡張子に「.jsp」を つけて保存するのですが、テキストファイルのままになって しまいます。(教本に付属CDがあり、サンプルでは「jspファイル」 とちゃんと表示されています) ちなみに、サーブレットやHTMLファイルを作成して、トムキャット で実行することはできています。 jspファイルを作るには何か特別なソフトがいるのでしょうか? ネットをいろいろ検索してみましたが、糸口がつかめず困っています。 このような説明でうまく伝わるか不安ですが、どなたかわかる方がいらっしゃいましたら 教えていただけるとうれしいです。 よろしくお願いいたします。 メモ帳でSample1.jsp作成時のコード内容↓ <%@ page cotentType="text/html; charset=Shift_JIS" %> <%@ page import="java.util.*" %> <html> <head> <title>サンプル</title> </head> <body> <center> <img src="car.gif"><br /> <h2>ようこそ</h2> <hr /> 今<%= new Date() %>です。<br /> お選びください。<br /> <br /> <a href="car1.html">乗用車</a><br /> <a href="car2.html">トラック</a><br /> <a href="car3.html">オープンカー</a><br /> </center> </body> </html>

    • ベストアンサー
    • Java
  • JSPのエラー。

    以下のjspファイルでコンパイルエラーが出ます。 これはログインの処理の二つ目のjspファイルで、一つ目のファイルではhtmlのフォームで、このファイルにpostしています。 mディレクトリにuserクラスを作ってあり、loginメソッドで成功すればtrueが返ってきます。 ブラウザに表示されるエラーの一行目は org.apache.jasper.JasperException: /login2.jsp(3,27) &lt;jsp:useBean タグが終了していません と表示されます。 よろしくお願いします。 <%@page contentType="text/html;charset=Windows-31J"%> <%@page import="m.user,javax.sql.*,java.sql.*"%> <jsp:useBean class="m.user" id="user" scope="session"/> <html> <head><title>ログイン</title></head> <body> <% String strLoginName = request.getParameter("login_name");/*フォームからの受け取り*/ String strPassword = request.getParameter("password"); String strResult; boolean blResult = user.login(strLoginName,strPassword); if(blResult){ strResult = "ログインしました。"; }else{ strResult = "失敗です。"; }%> <%=strResult%> </body> </html>

    • ベストアンサー
    • Java
  • JSPの文字化けについて

    はじめまして。 初心者ですがよろしくお願いします。 現在、Strutsの勉強をしています。 ログイン画面を作成しているのですが、 以下の「logon.jsp」を表示したところ 文字化けが発生しました。 自分の思いつく限りの事は試したのですが、 一向に文字化けを解消できません。 どこが悪いのかお分かりになる方が いらっしゃいましたらご教示願います。 ○主な環境 OS:WindowsXP Java SDK :1.5.0_01 Eclips :3.0.1 Struts :1.2.4 Apache Tomcat:5.5.4 mysql :5.0.4-beta ○logon.jsp <%@ page contentType="text/html;charset=Windows-31J"%> <%@ page pageEncoding="Windows-31J" %> <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> <!-- %@taglib uri="struts-html" prefix="html" % --> <html:html> <head><title>ログオン画面</title></head> <body bgcolor="#ffffff"> <center> <h3>ログオン画面</h3> <html:form action="/logon"> <html:errors /> <table border="0"> <tr><td>ユーザID </td><td><html:text property="userName" size="20" maxlength="30" /> </td></tr> <tr><td>パスワード</td><td><html:password property="password" size="20" maxlength="30" /></td></tr> </table> <br></br><br></br> <html:submit value="ログオン" /> </html:form> </center> </body> </html:html>

    • ベストアンサー
    • Java
  • JSPでソースが表示されてしまう。

    JSPでブラウザで実行すると ソースが表示されてしまいますなぜですか? 結果///////////// 下記が表示される。 <%@ page contentType="text/html;charset=Shift_JIS" %> <% out.println("ハローワールド!"); %> ////////////////// ソース: <%@ page contentType="text/html;charset=Shift_JIS" %> <html> <head><title>Sample015</title></head> <body> <% out.println("ハローワールド!"); %> </body> </html> 文字コードをUTF-8のLFにあわせても同じでした。

    • ベストアンサー
    • Java
  • jspから別のjspへパラメータが送信できない

    javaBeanを利用してjspを作成したけど Test.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <jsp:setProperty name="formprocess" property="*"/> <html> <head> <title>TEST</title> </head> <h2>情報の入力</h2> <form method="GET" action="/javaroad/jspdir/Test_1.jsp"> <p> 名前: <input type="text" name="name" size=30> <p> メールアドレス: <input type="text" name="mailaddress" size=30> <p> <input type="submit" value="送信"> </form> </center> </body> </html> Test_1.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <html> <head> <title>TEST</title> </head> <body> <p> 名前: <jsp:getProperty name="formprocess" property="name"/> <p> メールアドレス: <jsp:getProperty name="formprocess" property="mailaddress"/> </body> </html> Beanのソース package struts; public class FormProcess { String name; String mailaddress; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; } public String getMailaddress() { return mailaddress; } } Test.jspでデータを入力して送信ボタンを押すとTest_1.jspではnullが表示します。前の入力したデータではないです。どうしたらできますか?

    • ベストアンサー
    • Java
  • JSPにおける引数の受け渡し

    こんにちは. 今JSPのプログラムを作っているのですが,引数を送る場面で困っています. test2.jspにおいて,タイプはちゃんと表示されているのですが,IDとパスワードはnullになっています. もし宜しければ,どこが間違っているのかお教えいただけないでしょうか?よろしくお願いします. 【test.jsp】 ~省略~ <%String type="aaa";%> <?xml version="1.0" encoding="Shift-JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> ~省略~ </head> <body> <div class="abc"> <h1>タイトル</h1> <form action="test2.jsp" method="post"> <p> <table> <tr> <td>ID</td> <td><input type="text" name="user_id" /></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="user_pass" /></td> </tr> </table> <br /> <input type="button" value="ログイン" onclick="test('test2.jsp?type=<%=type%>')" /> </p> </form> </div> <script type="text/javascript" src="test.js"></script> </body> </html> 【test2.jsp】 ~省略~ <% String type=request.getParameter("type"); String user_id=request.getParameter("user_id"); String user_pass=request.getParameter("user_pass"); %> ~省略~ <h1>タイトル2</h1> <p> <table> <tr> <td>ID</td> <td><%=user_id%></td> </tr> <tr> <td>パスワード</td> <td><%=user_pass%></td> </tr> <tr> <td>タイプ</td> <td><%=type%></td> </tr> </table> </p>

    • ベストアンサー
    • HTML
  • テキストボックスに遷移するごとに○が追加されるjsp

    こんにちは。 前にも質問させていただきましたが、再度お願いします。 画像のようなテキストボックスがあり、OKボタンを押下するごとに○が1つずつ追加され、全部埋まった状態でOKを押すとまた最初からになるというjspなんですが、下記コードまではこぎつけましたが、分からなくなりました。 ------------------------------------------------- <%@page language="java" %> <%@page contentType="text/html;charset=Shift_JIS" %> <% int index = -1; request.setCharacterEncoding("SHIFT_JIS"); String strBox=request.getParameter("box"); if(strBox!=null){ session.setAttribute("box",strBox); %> <HTML><HEAD><TITLE>問題1</TITLE> </HEAD><BODY> 問題1<BR> <FORM ACTION="mondai1.jsp" METHOD="post"> <% for(int i=0; i<9; i++){ String value=""; if(i<=index){ value="○"; } %> No.<%=i+1%><input type="text" name="box" value="<%=value%>"><BR> <%}%> <% index++; %> <INPUT TYPE="submit" VALUE="ok"> </FORM> </BODY></HTML> ------------------------------------------------- 以上がコードです。 1回目は上手くいきますが、2回目以降もテキストボックスの中に○が追加されません。 「session.getAttribute()」の使い方がよく分かりません。 画像は1枚目が1番最初or全部埋まってからまた戻ってきたもの、2枚目が3回目、3枚目が9回目のものです。 ご教示お願いします。

    • ベストアンサー
    • Java
  • JSPで個人データを入力、出力

    <html> <head><title>Costomer</head></title> <body bgcolor="white"> <div align="center"> <%@ include file="header.html"%> <form method="POST"action="customer.jsp"> <TABLE> <TR> <TD>Name</TD> <TD><input type="text" name="name"></TD> </TR><br> <TR> <TD>Mail Address</TD> <TD><input type="text" name="mail address"></TD> </TR><br> <TR> <TD>TEL No</TD> <TD><input type="text" name="tel no"></TD> </TR><br> </TABLE> <br> <input type="submit"value="Submit"> <input type="reset"value="Cancel"> </form> <jsp:include page="post-response.jsp" flush ="true" /> <%@ include file="copyright.html"%> </div> </body> </html> …………………………………………………………………………………… <html> <head><title>Post-Response</head></title> <body bgcolor="white"> <div align="center"> <TABLE BORDER="1"> <TR> <TD>Name</TD> <TD></TD> </TR><br> <TR> <TD>Mail Address</TD> <TD></TD> </TR><br> <TR> <TD>TEL No</TD> <TD></TD> </TR><br> </TABLE> <form method="GET"action="customer.jsp"> <input type="reset"value="Clear"> <br> </form> </div> </body> </html> …………………………………………………………………………………… 上のcustomer.jspにName,Mail Adress,Tel no,を入力し、打ち込んだものを下のpost-response.jspに出力したいのですがどのように出力したらよいのかわかりません!何度やってもエラーが出てしまいます。 教えてください!!お願いします! ・上のcustomer.jsp内の<%@ include file="header.html"%>と<%@ include file="copyright.html"%>無視してください!

  • taglibが見つかれません。。と。。(jsp)

    お疲れ様です。 jspページの ユーザ数 : <s:property value="userCount" />人 <br /><br /> の部分に 「's'に対するtaglibディクティブが存在しないかTLDファイルが見つかりません。」とエラーがでます。 他のs:property部分は全部エラーがでます。 ソースは下記の通りです。 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="Windows-31J"%> <%@taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>List User</title> </head> <body> ユーザ一覧<br /><br /> <!-- ListUserAction.getUserCount()が呼び出される。 --> ユーザ数 : <s:property value="userCount" />人 <br /><br /> <table border="1"> <tr> <th>ID</th> <th>指名</th> <th>出身地</th> </tr> <!-- ListUserAction.getUserlist()が呼び出され全データを繰り返しループ。--> <!-- その後、それぞれのループ毎に以下のメソッドが呼ばれる。 --> <!--  ListUserAction.getUserlist().getId()      --> <!--  ListUserAction.getUserlist().getName()     --> <!--  ListUserAction.getUserlist().getPref()     --> <s:iterator value="userlist"> <tr> <td><s:property value="id" /></td> <td><s:property value="name" /></td> <td><s:property value="pref" /></td> </tr> </s:iterator> </table> </body> </html> フレームワークはstruts2.0を使っています。 どうやったら解消できましょうか。 お答え宜しくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう