#02:フォワード
このチャプターでは、フォワード処理について学習します。
【login-input.jsp】<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ログインフォーム</title>
</head>
<body>
<div class="page-background">
<div class="form-container">
<h1>ログイン</h1>
<form action="/learning/login" method="POST">
<div class="input-group">
<label for="user-id">ユーザーID</label>
<input type="text" id="user-id" name="user-id" required>
</div>
<div class="input-group">
<label for="password">パスワード</label>
<input type="password" id="password" name="password" required>
</div>
<div class="form-actions">
<button type="submit">ログイン</button>
</div>
</form>
</div>
</div>
</body>
</html>
【LoginServlet.java】package jp.paiza.servlet;
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private String resultHtml = """
<!DOCTYPE html>
<html lang=\"ja\">
<head>
<meta charset=\"UTF-8\">
<title>ログイン</title>
</head>
<body>
<h1>%s</h1>
</body>
</html>
""";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
RequestDispatcher d =
req.getRequestDispatcher("/WEB-INF/jsp/login-input.jsp");
d.forward(req, res);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html; charset=UTF-8");
String userId = req.getParameter("user-id");
String password = req.getParameter("password");
PrintWriter = res.getWriter();
if ("kyoko".equals(userId) && "paiza".equals(password)) {
out.println(resultHtml.formatted("ログイン成功"));
} else {
out.println(resultHtml.formatted("ログイン失敗"));
}
}
}
Web技術入門編
https://paiza.jp/works/web_tech/primer
テクノロジー編06: システムの組み合わせ方法を理解しよう
https://paiza.jp/works/technology/primer/beginner-technology6
新・HTML/CSS入門編
https://paiza.jp/works/html-css/new-primer
HTML/CSS入門編
https://paiza.jp/works/html/primer
Maven入門編
https://paiza.jp/works/maven/primer
新・Java入門編
https://paiza.jp/works/java/new-primer