
サーブレットの削除機能の抜粋なのですが
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
MessageDao dao = new MessageDao();
String sendMessage = request.getParameter("sendMessage");
String deleteMessage = request.getParameter("deleteMessage");
if(deleteMessage != null){
String deleteid = request.getParameter("id");
String deletepassword = request.getParameter("deletepassword");
String rsPassword = request.getParameter("rsPassword");
if (deletepassword.equals("rsPassword") || deleteid.equals("id")){
Message message = new Message();
message.setId(Integer.parseInt(deleteid));
}
if (!deletepassword.equals("rsPassword") || deleteid.equals("id")){
}
}
削除成功や、削除パスが違う時に投稿用jspに文を表示して、かつレコードを消すという処理をしたいのですが、そのような記述はどのようにすればいいのでしょうか?
今のままだと判定だけして終わっていると思うのですが思いつきません。
よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
>なのでその表示方法の記述が思いつかないし、調べてもうまくはまらないので質問をさせていただいているのです。
そこからですか。やっぱり整理できていないように見えます。
>削除ボタンが押される
>↓
>押された投稿のIDと入力されたパスワードのチェック
>↓
>一致していれば該当の投稿を消し掲示板先頭に”削除しました。”、
>一致していなければ”パスワードが違います”と表示
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
MessageDao dao = new MessageDao();
//押された投稿のIDと入力されたパスワードのチェック
//下記は、IDと入力されたパスワードの値でもないから不要
String sendMessage = request.getParameter("sendMessage");
String deleteMessage = request.getParameter("deleteMessage");
//deleteMessageは受け取らないので不要
if(deleteMessage != null){
//下記は、IDの値であるから必要。
String deleteid = request.getParameter("id");
//下記は、パスワードの値であるから必要。
String deletepassword = request.getParameter("deletepassword");
//下記は、IDと入力されたパスワードの値でもないから不要。
String rsPassword = request.getParameter("rsPassword");
//処理追加1.IDのパスワードをDBから取得する処理
//処理追加2-1.IDの入力されたパスワードとDBから取得したパスワードが一致するか?
//処理追加2-2.一致しなければパスワードが違いますとメッセージする
//処理追加2-3.一致していればDBから該当メッセージを削除し(DAOのdeleteMessageメソッド)、削除しましたとメッセージする
//処理追加3.メッセージを表示する
//処理追加したので以下は不要。
if (deletepassword.equals("rsPassword") || deleteid.equals("id")){
Message message = new Message();
message.setId(Integer.parseInt(deleteid));
}
//処理追加したので以下は不要。
if (!deletepassword.equals("rsPassword") || deleteid.equals("id")){
}
}
追加した処理を純に記述すればいいはずです。
No.5
- 回答日時:
>>ですので、そういった部分や私の最初の質問に対してのわかりやすい解説の載っているサイトなどを教えていただけませんか?
このような初心者レベルの勉強では、体系だった学習が必要です。
ネットというか、サイトで勉強するのはダメです。
大手書店には、イロイロとプログラム入門の書籍がありますので、自分で解るレベルの本を探して購入して勉強しましょう。
No.4
- 回答日時:
>>投稿ページと一覧表示が同じ2ちゃんねるみたいな形で作っているので、他のページにいかないように作ろうと考えています。
私は、2ちゃんねるがどんな形か知りませんけど、他のページに移動しない動きは、ちょっと難しくなると思います。
jspとかプログラムうんぬんするよりも前に、思っている動作が実現できるフローチャート的なものはちゃんと作っていますか?
もしくは、フロー的なものは作ってなくとも、頭の中でそういうことが明確になっていますか?
画面と制御というかロジックが明確になっていないなら、プログラムを作り上げるのは質問者には、まだまだ無理です。
ありがとうございます。
そうですね、確かに未だ勉強不足だと思います。
ですので、そういった部分や私の最初の質問に対してのわかりやすい解説の載っているサイトなどを教えていただけませんか?
No.2
- 回答日時:
拝見した感じでは、プログラムを書く以前に、どの手順を実行すれば削除できるか、
その手順が整理できていないように感じられます。
成功時の画面遷移、失敗時の画面遷移、画面間で受け渡すデータの種類、DB更新時の変更内容などなど。
>jspファイルに直接書くやり方や、エラーページに飛ばすやり方や、jspを使わずに全ての処理をサーブレットに書くやり方なら確かにたくさん出てくるのですが、目当ての書き方を見つけられ無かったのです。
大体はそのやり方です。違うやり方をしたいならば、どんなやり方をしたいのか明記してください。
この回答への補足
おっしゃる通り最初に質問の情報が少なかったです。
申し訳ございません。
こちらがDAOファイルの削除部分の抜粋です。
public int deleteMessage(String id) throws Exception {
Vector messageList = new Vector();
int i = 0;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
conn = this.getConnection();
String sql = "delete from MESSAGE_TABLE where ID = " + id;
pstmt = conn.prepareStatement(sql);
i = pstmt.executeUpdate();
}
finally {
this.close(rs);
this.close(pstmt);
this.close(conn)
}
return i;
}
ありがとうございます。
手順としては
削除ボタンが押される
↓
押された投稿のIDと入力されたパスワードのチェック
↓
一致していれば該当の投稿を消し掲示板先頭に”削除しました。”、一致していなければ”パスワードが違います”と表示
というように考えています。
投稿ページと一覧表示が同じ2ちゃんねるみたいな形で作っているので、他のページにいかないように作ろうと考えています。
No.1
- 回答日時:
>>削除成功や、削除パスが違う時に投稿用jspに文を表示して、かつレコードを消すという処理をしたいのですが、そのような記述はどのようにすればいいのでしょうか?
そういうロジックを考えて、それを設計し、いくつかのソースコードに分けて一生懸命作りこむことになると思います。
自分で考えるのは大変ですから、同様な機能を持っているオープンソースを探すとか、書籍のコード例を参考にしながら、作っていくほうが早いと思います。
言語制限が無く、できるだけ楽して作りたい方は、Javaを使わず、PHPやRuby on Railsなどを選択するでしょうけどね。
ありがとうございます。
jspファイルに直接書くやり方や、エラーページに飛ばすやり方や、jspを使わずに全ての処理をサーブレットに書くやり方なら確かにたくさん出てくるのですが、目当ての書き方を見つけられ無かったのです。
どこか御存じないでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
例外でBeanUtils.populateが、...
-
Java配列でNullPointerExceptio...
-
onbeforeunloadでnullを返すとI...
-
ibatis select複数件の受入方に...
-
C#でラジオボタンとコンボボッ...
-
Tomcatを再起動するとエラーが...
-
getStringの値がNULLの時の処理
-
postgresql接続時
-
BOOL値を逆にしたい
-
if文で・・・
-
double型変数値の整数部分のみ...
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
実数からの小数部の取得
-
ループ処理の際、最後だけ","を...
-
プログラミングの問題です。大...
-
eclipseに記述したjavaファイル...
-
JSPやサーブレットでSystem.out...
-
Javaで改行などが出来ないのです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
Java配列でNullPointerExceptio...
-
javaの掲示板について
-
eclipseでoracle接続時のエラー...
-
C#でラジオボタンとコンボボッ...
-
例外でBeanUtils.populateが、...
-
C# ListBoxのインデックスの値...
-
逆コンパイルの見方について(...
-
Tomcatを再起動するとエラーが...
-
空欄のテキストフィールドの判...
-
jsp/Servletの動的に増えるフォ...
-
プログラミングの質問です
-
入力された文字列の制限
-
androidアプリが強制終了してし...
-
if文を通らない
-
サーブレット、JSP、Mysqlについて
-
Stringを返す getText()メソッ...
おすすめ情報