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 四個檔案。
    • login.html
      • 主要用途:提供使用者操作,取得 username 以及 password
      • 入口:login.html
      Entry.java
      • 主要用途:入口網站,根據 Cookie 的內容將使用者的 request 轉發到 login 或是 mainPage
      • 入口:entry
      Login.java
      • 主要用途:對於使用者的名稱與密碼做驗證、將成功登入的使用者名稱加在請求的 Cookie 中。
      • 入口:loginPage
      • 備註:此處並無實作 DB 驗證,因此一律視為使用者成功登入。
      Main.java
      • 主要用途:成功登入的頁面,此處以顯示使用者名稱為模擬。
      • 入口:mainPage
  • Spring+Session
    • 配合 Java 8,Spring 須採用 2.7.6 以下的版本,而官方提供的 Initializer 已停止支援,此處採用鏡像網站代替建立空的專案。
    • 為了返回動態模板網頁,需要 import thymleaf lib
      • pom.xml
    • src/main/org/demo 底下新建 LoginController.java,負責針對使用者的登入操作做判斷。
      • LoginController.java
    • 根據判斷請求方法是 Get 或是 Post 可以得知是使用者的訪問操作或是填寫完訊息的提交操作,如果是提交操作就將 username 寫進 session 中。
    • 準備填寫資訊的網頁,創建檔案並置於 src/main/resources/templates
      • login.html
    • 此處以登入成功並透過 thymleaf 套件顯示使用者名稱模擬登入成功之情境
      • welcome.html

Takeaway

Cookie 相關知識與語法操作
Spring 框架相關知識

Code

Spring 入門課Java Web 入門課
Loading...
Zixu
Zixu
Welcome to my webstie.
Analytics
Post Count:
224
Latest posts
還好我退了 部隊篇
2025/08/08
泡泡
2025/08/05
還好我退了 新訓篇
2025/08/02
大學畢業心得
2025/07/12
AP325 隨筆
2025/06/07
Lycoris Recoil 莉可麗絲
2025/05/04