首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

JSP + JavaBean 兩層架構實戰:用戶認證系統精簡版

     編輯:Java 綜合教學

專案定位

去除 Servlet 控制層,JSP 直接調用 JavaBean,**Model 1 架構**(適合極簡原型、教學演示,生產環境不推薦)。

技術棧與環境

項目版本
IDEMyEclipse 10
JDK1.6.0_13 (32位)
容器Tomcat 7.0 (32位)
數據庫MySQL 5.7.13
驅動包mysql-connector-java-5.1.6-bin.jar

核心代碼結構

1. 數據訪問基類:DBAccess

  • 封裝 JDBC 連接/關閉/CRUD 樣板代碼
  • 字段:驅動、URL、用戶/密碼、Connection/Statement/ResultSet
  • 核心方法:createConn()、update(sql)、query(sql)/next()/getValue()、各類 closeXxx()

2. 業務模型:UserBean

public class UserBean {
    public boolean valid(String username, String password) {
        DBAccess db = new DBAccess();
        if (db.createConn()) {
            String sql = "SELECT * FROM userInfo WHERE username='" + username + "' AND password='" + password + "'";
            db.query(sql);
            boolean ok = db.next();
            db.closeAll(); return ok;
        }
        return false;
    }
    // isExist(username)、add(username, password, email) 同理
}

⚠️ **注**:原碼使用字符串拼接 SQL,**存在注入風險**,生產必須改用 `PreparedStatement`。

3. 頁面邏輯:Action JSP(模板化)

login_action.jsp

<%@ page import="liu.UserBean" %>
<%
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    if (username == null || password == null) {
        response.sendRedirect("login.jsp"); return;
    }
    UserBean ub = new UserBean();
    if (ub.valid(username, password)) {
        session.setAttribute("username", username);
        response.sendRedirect("welcome.jsp");
    } else {
        response.sendRedirect("login.jsp");
    }
%>

register_action.jsp:參數校驗 → isExist → add → 重定向登錄/註冊頁

運行驗證

功能同 Servlet 版:登錄、註冊、退出、Session 管理。頁面跳轉邏輯集中在 Action JSP 中。

資源下載

架構對比與演進建議

維度Model 1 (JSP+JavaBean)Model 2 (JSP+Servlet+JavaBean)現代化 (Spring MVC + MyBatis)
控制邏輯位置分散在各 Action JSP集中在 ServletController + Service 分層
複用性差中高
可測試性極難可單元測試 Servlet全層可測
事務管理手動/無手動/無聲明式 @Transactional
適用場景原型/教學/極簡中小項目/過渡期企業級生產

總結

Model 1 通過「JSP 直接調 JavaBean」實現最短路徑開發,適合快速驗證想法。**但業務增長後必須遷移至 Model 2 或 Spring 生態**,否則將陷入「大雜燒 JSP」維護地獄。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved