入力フォーム(JSP)にDB検索条件を入力し、データがなかった場合入力した値を残したままJSPに戻る方法を教えてください。
基本的にはタイトルの質問なんですが、具体的な書き方がわかりません。
今作成しているのが
TOP画面(JSP)
・入力フォームに検索条件
↓
Servlet
・入力された条件でDB検索
何か検索されれば次画面へ遷移
何も検索されなければTOP画面へ戻る
というものですが、
public class LoginCheck1 extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
response.setContentType("text/html; charset=Shift_JIS");
PrintWriter out = response.getWriter();
String user = request.getParameter("user");
String pass = request.getParameter("pass");
HttpSession session = request.getSession(true);
boolean check = authUser(user, pass);
if (check){
/* 認証済みにセット */
session.setAttribute("login", "OK");
/* 本来のアクセス先へ飛ばす */
String target = (String)session.getAttribute("target");
response.sendRedirect(target);
}else{
/* 認証に失敗したら、ログイン画面に戻す */
session.setAttribute("status", "Not Auth");
response.sendRedirect("/auth/Login");
}
}
protected boolean authUser(String user, String pass){
/* 取りあえずユーザー名とパスワードが入力されていれば認証する */
if (user == null || user.length() == 0 || pass == null || pass.length() == 0){
return false;
}
return true;
}
}
サーブレットはこんな感じで書いてるんですが、
response.sendRedirect("/auth/Login");
の部分が悪いんでしょうか?
お礼
ご回答ありがとうございます。 リンク先を参照してみたいと思います。