電子書籍の厳選無料作品が豊富!

サーブレットの削除機能の抜粋なのですが

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件)

>なのでその表示方法の記述が思いつかないし、調べてもうまくはまらないので質問をさせていただいているのです。



そこからですか。やっぱり整理できていないように見えます。
>削除ボタンが押される
>↓
>押された投稿の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")){

}
}

追加した処理を純に記述すればいいはずです。
    • good
    • 0

>>ですので、そういった部分や私の最初の質問に対してのわかりやすい解説の載っているサイトなどを教えていただけませんか?



このような初心者レベルの勉強では、体系だった学習が必要です。
ネットというか、サイトで勉強するのはダメです。
大手書店には、イロイロとプログラム入門の書籍がありますので、自分で解るレベルの本を探して購入して勉強しましょう。
    • good
    • 0

>>投稿ページと一覧表示が同じ2ちゃんねるみたいな形で作っているので、他のページにいかないように作ろうと考えています。



私は、2ちゃんねるがどんな形か知りませんけど、他のページに移動しない動きは、ちょっと難しくなると思います。

jspとかプログラムうんぬんするよりも前に、思っている動作が実現できるフローチャート的なものはちゃんと作っていますか?
もしくは、フロー的なものは作ってなくとも、頭の中でそういうことが明確になっていますか?

画面と制御というかロジックが明確になっていないなら、プログラムを作り上げるのは質問者には、まだまだ無理です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうですね、確かに未だ勉強不足だと思います。
ですので、そういった部分や私の最初の質問に対してのわかりやすい解説の載っているサイトなどを教えていただけませんか?

お礼日時:2014/01/29 21:39

>削除ボタンが押される


>↓
>押された投稿のIDと入力されたパスワードのチェック
>↓
>一致していれば該当の投稿を消し掲示板先頭に”削除しました。”、
>一致していなければ”パスワードが違います”と表示
では、わかっているところまでプログラムを書きましょう。
そしてわからないところを明確にしてください。
    • good
    • 0
この回答へのお礼

なのでその表示方法の記述が思いつかないし、調べてもうまくはまらないので質問をさせていただいているのです。

お礼日時:2014/01/29 19:56

拝見した感じでは、プログラムを書く以前に、どの手順を実行すれば削除できるか、


その手順が整理できていないように感じられます。
成功時の画面遷移、失敗時の画面遷移、画面間で受け渡すデータの種類、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;
}

補足日時:2014/01/29 11:25
    • good
    • 0
この回答へのお礼

ありがとうございます。
手順としては
削除ボタンが押される

押された投稿のIDと入力されたパスワードのチェック

一致していれば該当の投稿を消し掲示板先頭に”削除しました。”、一致していなければ”パスワードが違います”と表示
というように考えています。

投稿ページと一覧表示が同じ2ちゃんねるみたいな形で作っているので、他のページにいかないように作ろうと考えています。

お礼日時:2014/01/29 11:24

>>削除成功や、削除パスが違う時に投稿用jspに文を表示して、かつレコードを消すという処理をしたいのですが、そのような記述はどのようにすればいいのでしょうか?



そういうロジックを考えて、それを設計し、いくつかのソースコードに分けて一生懸命作りこむことになると思います。
自分で考えるのは大変ですから、同様な機能を持っているオープンソースを探すとか、書籍のコード例を参考にしながら、作っていくほうが早いと思います。
言語制限が無く、できるだけ楽して作りたい方は、Javaを使わず、PHPやRuby on Railsなどを選択するでしょうけどね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

jspファイルに直接書くやり方や、エラーページに飛ばすやり方や、jspを使わずに全ての処理をサーブレットに書くやり方なら確かにたくさん出てくるのですが、目当ての書き方を見つけられ無かったのです。
どこか御存じないでしょうか?
よろしくお願いいたします。

お礼日時:2014/01/29 10:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!