お世話になります。
現在私はスケジュール管理システムを作っていますけれども
セッションを使ってユーザー情報を格納したい(ログイン後の画面にユーザー情報を移す)
ときはどうしたらいいでしょうか。
後セッションで格納したユーザー情報をスケジュール編集ファイル(別ファイル)に引き出す方法
はございますか?
よろしくお願いします。
(スケジュールの内容は文字数の都合により割愛します。)
ログインチェック
<%
String username = request.getParameter("name");
String uid = request.getParameter("uid");
String pass =request.getParameter("pass");
String msg = ""; // エラーメッセージ表示用変数
String html = "";
Boolean isLogined= false; // ログイン済みフラグ
// out.println("UID="+uid);
// out.println("PASS="+pass);
if( null == uid && null == pass ){
//初回表示、もしくはログインIDと
//パスに何も記入されていないので処理を行わない
out.println("ログインIDとパスワードを入力してください。");
}else{
//ログインIDとパスワードがNULLではないので
//認証処理を実行する。
/*(3)SQL文の作成。*/
String sql="select * from user_table u left join a_table a on u.user_ID = a.u_name where user_ID='"+uid+"' and PW='"+pass+"'";
/*(4)問い合わせ*/
ResultSet rs=sta.executeQuery(sql);
while(rs.next()){
isLogined = true;
html += "<span style='visibility:hidden;' id='d_"+rs.getString("s_date")+"'>"+rs.getString("MEMO")+"</span>";
username = rs.getString("name");
}
//ログイン判定を行う ここでは失敗するように設定
if( isLogined )
{
//ログイン成功
//ログイン者の名前を取得 本来はDBから取得する
isLogined = true;
}else{
//ログインに失敗したので
//メッセージ表示用変数にエラーメッセージを格納
msg = "ログインIDとパスワードが違います。";
}
}
%>
ログインフォーム(画面)
<%
if(!isLogined)
{
%>
<form action="scheduletop1.jsp" name="roguinok" method="post">
<p>ログイン</p>
<p class="inputTitle">ユーザーID</p><p><input type="text" name="uid" size="20" maxlength="12" autocomplete="OFF" /></p>
<p class="inputTitle">パスワード</p><p><input type="password" name="pass" size="20" maxlength="12" autocomplete="OFF" /></p>
<p><INPUT type="submit" value="ログイン"></p>
ログインできたら利用者名を表示
<%
}else{
out.println("利用者名:<span class='userName'>" + username + "</span><inpu type='hidden' name='UID' id='UID' value='"+uid+"'/>" );
out.println(html);
}
%>
スケジュール変更(scheduletop1.jspがログイン後スケジュール画面です。)
<%@ page language="java" contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"
%>
<%!
private String createOption(int start,int end){
StringBuffer builder = new StringBuffer();
for(int i=start;i<=end;i++){
builder.append("<option value ='"+i+"'>"+i+"</option>");
}
return builder.toString();
}
%>
<html>
<head>
<title>スケジュールの編集・削除1</title>
</head>
<body>
<h1>日付を選択してください。</h1>
<form action="ScheduleHenkou2.jsp" method="POST">
<tr>
<th align="right">日付:</th>
<td>
<select name="sdate_year"><%=createOption(2000,2030)%></select>年
<select name="sdate_month"><%=createOption(1,12)%></select>月
<select name="sdate_day"><%=createOption(1,31)%></select>日
</td>
</tr>
<p>
<input type="submit"value="OK">
<input type="button"value="キャンル"onClick="location.href='http://localhost:8080/scheduletop1.jsp'">
</p>
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
ログイン成功したらセッションにセットする処理を追加する。
※本当はデータクラス(データを保持するだけのクラス)にユーザ情報をセットして
それをセッションに格納するのがスマートな方法なのだが・・・。
たぶんJSPだけでサーブレットとか使ってないようなのでユーザの値をひとつずつ
設定するやりでいきましょう。
session.setAttribute("uid", uid);
session.setAttribute("pass", pass);
session.setAttribute("userName", userName);
こんな感じで。
つぎに「scheduletop1.jsp」でセッションを取り出して表示する。
<%= session.getAttribute("uid") %>
こんな感じで。
予断ですがSQLのところでStatementを使用していると思いますが
セキュリティの関係上PreparedStatementを使用したほうがいいですよ。
趣味程度ならかまいませんが・・・。
使い方は、
「select * from user_table u left join a_table a on u.user_ID = a.u_name where user_ID= ? and PW= ?」
のようにパラメータを「?」にしといて後で値を設定してから実行します。
使い方はこのサイトみてちょ。
http://www.javadrive.jp/servlet/database/index10 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
動的に作成したラジオボタンの...
-
javaでDBから取得したデータのJ...
-
struts bean:defineについて
-
「<c:forEach タグが終了し...
-
Strutsで、どのRadioボタンが選...
-
Struts2のファイルアップロード...
-
Struts、Iterateタグの使い方
-
JSPでのリストボックス表示
-
strutsを使用したjspでjavascri...
-
struts-config.xmlの設定
-
int型の内容をbyteの配列にコピー
-
ボタンが活性化の場合とは、ボ...
-
C言語で今まで表示していた画面...
-
グローバルIPアドレスの変更タ...
-
VB.NET DataReaderが開かれている
-
jspからServletを呼び、元のjsp...
-
VC++にて、コンソールを二画面表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
「<c:forEach タグが終了し...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
jspでjavascript関数へ引数を渡...
-
JSPでのリストボックス表示
-
JSPでのサブミット判定
-
jspファイルで注文フォームの合...
-
strutsを使用したjspでjavascri...
-
EL式 true falseを表示
-
JSFでJavaScriptを使用するには?
-
Strutsで、どのRadioボタンが選...
-
JSPのフォームの値を別のJSPか...
-
Java struts プルダウン
-
動的に作成したラジオボタンの...
-
JSP+Servletで終了ボタン
-
StrutsでPOSTのデータ(リクエ...
-
Struts2のタグについて
-
struts-config.xmlの設定
おすすめ情報