JSP とサーブレットは初めてなので、しばらくお待ちください。JSP とサーブレット間の通信に問題があります。
ログインページを作成しようとしています。
これは、LogIN の Index JSP ページです。
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head><title> index.jsp</title></head>
<body bgcolor="orange">
<h2> <font color=white> JSP index.jsp at</font>
<%= request.getContextPath () %>
<font color=white>
</font></h2><hr>
<form action="LibrarySysServlet" method ="POST">
<font color=navy><h3>Login</h3>
<table>
<tr>
<td> MemberId </td>
<td align="left"><input type="text" name="memId" length="30"/></td>
</tr>
<tr>
<td> Password </td>
<td align="left"><input type="text" name="password" length="30"/></td>
</tr>
</table>
<br>
<p><input type="submit" value="Submit"/></p>
</font>
</form>
<br>
</body>
</html>
ログインが正しいかどうかで宛先が変わるので、ログイン時のインデックスページのフォームアクションに何を入れたらいいのか非常に迷っています。
私のサーブレット側では、インデックスページをスキャンして関数に渡し、logIn が正しいかどうかを確認し、別の回答に従ってリダイレクトしようとしました。
ただし、実行するとリダイレクトされず、フォームアクションで指定されたものに進みます。
コードの短いスニペット (長すぎるため、全体を貼り付けませんでした):
RequestDispatcher dispatcher;
ServletContext servletContext = getServletContext(); //links to index.JSP
String page = request.getPathInfo();
page = page.substring(1);
if ("index".equals(page)) {
if (logIn(request)) {
dispatcher= servletContext.getRequestDispatcher("/result.jsp");
} else {
dispatcher= servletContext.getRequestDispatcher("/Menu.jsp");
}
}
本当に混乱ヘルプ!私は何を間違っていますか??