status
date
slug
tags
category
type
password
icon
Environment
- OS: Windows 10
- IntelliJ IDEA: 2024.2
- java: 1.8.0_202
- javassist: 3.12.1-GA
- tomcat: 2.2 (Maven Plugin)
- Spring: 2.7.6
Objective
實作登入頁面,並以各種方式實現使用者記憶功能,已經登入過的使用者無須再次登入。
Studying
Implementation
- Servlet+Cookie
- 實作
login.html
,Entry.java
,Login.java
以及Main.java
四個檔案。 - 主要用途:提供使用者操作,取得 username 以及 password
- 入口:
login.html
- 主要用途:入口網站,根據 Cookie 的內容將使用者的 request 轉發到
login
或是mainPage
- 入口:
entry
- 主要用途:對於使用者的名稱與密碼做驗證、將成功登入的使用者名稱加在請求的 Cookie 中。
- 入口:
loginPage
- 備註:此處並無實作 DB 驗證,因此一律視為使用者成功登入。
- 主要用途:成功登入的頁面,此處以顯示使用者名稱為模擬。
- 入口:
mainPage
login.html
Entry.java
Login.java
Main.java
- Spring+Session
- 配合 Java 8,Spring 須採用 2.7.6 以下的版本,而官方提供的 Initializer 已停止支援,此處採用鏡像網站代替建立空的專案。
- 為了返回動態模板網頁,需要 import thymleaf lib
- 在
src/main/org/demo
底下新建LoginController.java
,負責針對使用者的登入操作做判斷。 - 根據判斷請求方法是 Get 或是 Post 可以得知是使用者的訪問操作或是填寫完訊息的提交操作,如果是提交操作就將 username 寫進 session 中。
- 準備填寫資訊的網頁,創建檔案並置於
src/main/resources/templates
- 此處以登入成功並透過 thymleaf 套件顯示使用者名稱模擬登入成功之情境
pom.xml
LoginController.java
login.html
welcome.html
Takeaway
Cookie 相關知識與語法操作
Spring 框架相關知識
Code
- Author:Zixu
- URL:https://zixu.us.kg/article/登入頁面實作
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!