お世話になります。
現在私はスケジュール管理システムを作っていますけれども
セッションを使ってユーザー情報を格納したい(ログイン後の画面にユーザー情報を移す)
ときはどうしたらいいでしょうか。
後セッションで格納したユーザー情報をスケジュール編集ファイル(別ファイル)に引き出す方法
はございますか?
よろしくお願いします。
(スケジュールの内容は文字数の都合により割愛します。)
ログインチェック
<%
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で質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
javaでDBから取得したデータのJ...
-
JSPでのリストボックス表示
-
フォームで同じ複数のnameで違...
-
リクエストに応じたselectedの...
-
「<c:forEach タグが終了し...
-
EL式 true falseを表示
-
文字列をタブ区切りで出力したい
-
struts-config.xmlの設定
-
strutsを使用したjspでjavascri...
-
教えてください:strutsのhtml:...
-
JSPでテキストボックスのループ...
-
ラジオボタンの選択肢をサーブ...
-
JSPとサーブレット間での画面遷...
-
サーブレットからJSPへの変数受...
-
htmlからjspへ処理を移す方法が...
-
JAVA JSPにてSQL UPDATE文が実...
-
Java-jspの画面入力値保持について
-
ボタンが活性化の場合とは、ボ...
-
jspからServletを呼び、元のjsp...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
「<c:forEach タグが終了し...
-
ラジオボタンの選択肢をサーブ...
-
javaでDBから取得したデータのJ...
-
StrutsでPOSTのデータ(リクエ...
-
Servletへフォームから配列を送...
-
JSPでのリストボックス表示
-
strutsを使用したjspでjavascri...
-
EL式 true falseを表示
-
JSPで複数テーブルのSQL実行後...
-
JSP+Servletで終了ボタン
-
JSPとサーブレット間での画面遷...
-
jspでjavascript関数へ引数を渡...
-
ボタンクリック-JSP判断
-
checkboxのvalue値を動的にしたい
-
jspの文字化けの解消方法を教え...
-
テキストボックスで入力したデ...
おすすめ情報