
Java初心者の者です。現在、DBを使ったWEBアプリケーションについて学んでおります。
htmlをスタートページとしてjsp(登録用画面)へ処理を移したいのですが、どのように記述すれば良いか悩んでおります。
現在、htmlの登録ボタンを押すと下記のエラーページへ飛んでしまいます。
The server encountered an internal error () that prevented it from fulfilling this request.
java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません
以下はソースの一部抜粋です。
HTML
<FIELDSET>
<LEGEND align="center">MENU</LEGEND>
<FORM action="/webapp/control" method="POST">
<INPUT class="button" type="submit" name="button" value="登録">
<INPUT class="button" type="submit" name="button" value="一覧">
</FORM>
</FIELDSET>
・・・・・
JSP
<%@page contentType="text/html;charset=Windows-31J" %>
<%@page import="java.sql.*" %>
<%@page import="XXX.XXX.XXX.bean.Bean" %>
<%@page import="XXX.XXX.XXX.Entry" %>
<%@page import="XXX.XXX.XXX.common.Accsess" %>
<HTML>
<HEAD>
<TITLE>登録画面</TITLE>
<link rel="stylesheet" type="text/css" href="./default.css">
</HEAD>
<BODY>
<DIV class="header">
<B>登録</B>
</DIV>
<BR>
<DIV align="center">
<FIELDSET class="entry">
<FORM action="/webapp/control" method="POST">
<TABLE border="0" cellspacing="0" cellpadding="5">
<TR>
<TD>ID</TD>
<TD><INPUT type="text" name="userid" value="" size="20" maxlength="16"></TD>
</TR>
<TR>
<TD>PASSWORD</TD>
<TD><INPUT type="text" name="password" value="" size="20" maxlength="16"></TD>
</TR>
//省略//
<INPUT class="button" type="submit" name="button" value="INSERT">
・・・・・・
try{
Bean bean=new Bean();
request.setCharacterEncoding("Windows-31J");
String button = request.getParameter("button");
if(button != null && button.equals("登録")){
//ここの記述が分かりません//
}
else if(button != null && button.equals("INSERT")){
//INSERTの呼び出し方も間違っている気がします//
Entry cEntry=new Entry();
CustomerEntry cEntry=new CustomerEntry();
cEntry.entry(bean);
request.setAttribute("ENTRY",cEntry);
}
finally{
ServletContext context = this.getServletContext();
RequestDispatcher dispatcher=context.getRequestDispatcher("/insert.jsp");
dispatcher.forward(request,response);
・・・・・
初歩的な質問で申し訳ありませんが、ご教授お願い致します。
No.1ベストアンサー
- 回答日時:
フォワードは条件によってできないときがあるので、あまりおすすめしません。
>ServletContext context = this.getServletContext();
>RequestDispatcher dispatcher=context.getRequestDispatcher("/insert.jsp");
>dispatcher.forward(request,response);
上記3行を以下のように書き換えてみたらどうでしょう?
response.sendRedirect("/insert.jsp");
>response.sendRedirect("/insert.jsp");
この方法ではないのですが、無事に解決することが出来ました!
ですが、forwardが条件によってできないことを初めて知ることが出来、
大変勉強になりました。
アドバイス有難う御座いました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リクエストに応じたselectedの...
-
「<c:forEach タグが終了し...
-
フォーム上で押されたボタンに...
-
JAVA JSPにてSQL UPDATE文が実...
-
JSPでのサブミット判定
-
Java struts プルダウン
-
JSPでテキストボックスのループ...
-
struts bean:defineについて
-
Mapの要素の削除と挿入
-
struts:input type="text"とht...
-
HashMapで、valueにマッピング...
-
フォームで同じ複数のnameで違...
-
jspでjavascript関数へ引数を渡...
-
ラジオボタンの選択肢をサーブ...
-
int型の内容をbyteの配列にコピー
-
apacheとtomcat連携時において...
-
三菱GOTの画面切り替えについて
-
Java-jspの画面入力値保持について
-
jspからServletを呼び、元のjsp...
-
C言語で今まで表示していた画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
「<c:forEach タグが終了し...
-
JSPでのリストボックス表示
-
StrutsでPOSTのデータ(リクエ...
-
ラジオボタンの選択肢をサーブ...
-
jspでjavascript関数へ引数を渡...
-
EL式 true falseを表示
-
Strutsで、どのRadioボタンが選...
-
strutsを使用したjspでjavascri...
-
strutsを使ってテキストエリア...
-
jspファイルで注文フォームの合...
-
JSPでのサブミット判定
-
Struts2のifタグについて
-
formでテキストとファイルタイ...
-
struts bean:defineについて
-
動的に作成したラジオボタンの...
-
教えてください:strutsのhtml:...
おすすめ情報