私の問題を説明しようと思います。ユーザー名とパスワードを入力してサーブレットに送信するlogin.jspがあります。このサーブレットはデータベースをチェックし、userLogged.jspへの呼び出しが正しいかどうか、正しくない場合はinvalidLogin.jspに送信します。これは問題なく動作し、userlogged.jsp を取得しても、サーブレットで作成したセッション データを取得できます。Userlogged.jsp は、続行するための 1 つのボタン、パスワードを変更するための 1 つのフォーム、および 1 つのバナーの 3 つの部分からなる html ページを作成します。次に、ボタンをクリックして続行すると、サーブレットが呼び出されますが、ここではセッションを取得できず、常に null です。ボタンをクリックしたときにセッション情報をサーブレットに渡すにはどうすればよいですか? コードを貼り付けます。さらに情報が必要な場合はお知らせください。ありがとうございました。
サーブレット
private void getLogin(HttpServletRequest request, HttpServletResponse response, DataAccessUtils dao) throws ServletException, IOException
{
String userName = request.getParameter("username");
String userPassword = request.getParameter("password");
// DATABASE ACCESS
Login login = new Login();
String[] currentUser = login.validateLogin(userName, userPassword, dao);
if (!currentUser[0].equals("-1"))
{
String nextJSP = "/actions/userLogged.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
HttpSession session = request.getSession(true);
session.setAttribute("username", currentUser[0]);
session.setAttribute("agencyname", currentUser[1]);
session.setAttribute("branchname", currentUser[2]);
session.setAttribute("currenttravelfile", "N/A");
dispatcher.forward(request,response);
}
else
{
response.sendRedirect("actions/invalidLogin.jsp"); //error page
}
}
private void getGoToMenu(HttpServletRequest request, HttpServletResponse response, DataAccessUtils dao) throws ServletException, IOException
{
// HERE ALWAYS IS NULL
String username = (String)request.getSession().getAttribute("username");
String nextJSP = "/actions/menu.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
}
USERLOGGED.jsp (サーブレットを呼び出す部分のみ)
<form action="./getjsprequestservlet" method="post" id="userlogged-form">
<fieldset>
<div style="margin-bottom:1em; margin-left: 11em;">
<input type=hidden name=action id=opr value="gotomenu"/>
<input type="submit" value="Go To Menu" class="button round blue image-right ic-right-arrow"></input>
</div>
<div class="information-box round">
<input type=hidden name=action id=opr value="change-password"/>
<p>
<label class="title">Change Password</label>
<label>Current Password</label>
<input type="password" name="password" id="login-password" class="round full-width-input" />
<label>New Password</label>
<input type="password" name="password" id="login-password" class="round full-width-input" />
<label>Confirm New Password</label>
<input type="password" name="password" id="login-password" class="round full-width-input" />
<input type="submit" value="Change" class="button round blue image-right ic-right-arrow"></input>
</p>
</div>
</fieldset>
</form>
<div class="banner-box round">
<label class="alt-label">Sponsored links </label>
<table id="raw">
<tr>
<td>
<a href="#" class="fr"><img src="./images/test.gif"/></a>
</td>
<td>
<a href="#" class="fr"><img src="./images/test2.gif"/></a>
</td>
<td>
<a href="#" class="fr"><img src="./images/test3.gif"/></a>
</td>
</tr>
</table>
</div>
</div> <!-- end content -->