ウェブページにログインするには、Javaでどのように実装するか

JavaのWeb技術であるサーブレット、JSP、HTML、CSS、JavaScriptなどを用いて、Webサイトへのログインを実装する

以下に簡単な方法を記します:

  1. ユーザー名とパスワードの入力ボックスとログインボタンのあるログインページ(login.jsp)を作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="login" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username">

<label for="password">密码:</label>
<input type="password" id="password" name="password">

<input type="submit" value="登录">
</form>
</body>
</html>
  1. ログインリクエストを処理するサーブレット(LoginServlet)を作成する。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取登录页面中的用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 模拟验证用户名和密码
if ("admin".equals(username) && "123456".equals(password)) {
// 登录成功,跳转到欢迎页面
response.sendRedirect("welcome.jsp");
} else {
// 登录失败,跳转到错误页面
response.sendRedirect("error.jsp");
}
}
}
  1. ログインの成功情報を表示するためのWelcomeページ(welcome.jsp)を作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎页面</title>
</head>
<body>
<h1>登录成功!欢迎您,admin!</h1>
</body>
</html>
  1. エラーが発生した場合にログイン失敗のメッセージを表示するためのエラーページ(error.jsp)を作成する。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>错误页面</title>
</head>
<body>
<h1>登录失败!用户名或密码错误!</h1>
</body>
</html>
  1. web.xmlファイルを配置して、拡張子が.jspのリクエストをJSPエンジンで処理させる。
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

ユーザーがログインページでユーザー名とパスワードを入力しログインボタンをクリックするとリクエストがLoginServletに送信され、LoginServletはユーザーが入力したユーザー名とパスワードで認証を行い、認証が成功すればウェルカムページに、失敗すればエラーページに遷移するという、シンプルな実装方法です。

bannerAds