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

Java Web 基礎:HTML/JSP/Servlet/JDBC 關系圖解

     編輯:程式設計綜合問答

一句話總結

**瀏覽器只認 HTML/CSS/JS** → 服務端用 **JSP/Servlet 生成 HTML** → **JDBC 讀寫數據庫** 提供動態數據。

角色詳解

組件本質職責類比
HTML靜態文本文件定義頁面結構/內容設計好的「模板」
JSP特殊 Servlet(編譯後為 .class)模板引擎:Java 代碼 + HTML 標籤 → 動態生成 HTML「模板填充器」
ServletJava 類(實現 Servlet 接口)處理請求邏輯:參數解析、業務調用、轉發/重定向到 JSP「控制器/處理器」
JDBCJava API (接口+驅動實現)連接數據庫、執行 SQL、映射 ResultSet 到 Java 對象「數據庫驅動器」

請求流程

  1. 用戶訪問 https://host/app/login.jsp。
  2. Tomcat 將 login.jsp 編譯為 Login_jsp.class (Servlet)。
  3. Login_jsp._jspService() 執行:調用 JDBC 查數據庫 → 將數據嵌入 HTML → 響應瀏覽器。
  4. 瀏覽器渲染 HTML,用戶看到頁面。

登錄註冊典型結構

// 1. 表單 (login.html/jsp) → POST /loginServlet
// 2. LoginServlet.doPost():
//    String user = request.getParameter("username");
//    String pwd = request.getParameter("password");
//    UserDao dao = new UserDao();          // 封裝 JDBC
//    User u = dao.findByUsername(user);
//    if (u != null && u.getPwd().equals(pwd)) {
//        session.setAttribute("user", u);
//        response.sendRedirect("welcome.jsp"); // 重定向
//    } else {
//        request.setAttribute("msg", "用戶名或密碼錯誤");
//        request.getRequestDispatcher("login.jsp").forward(request, response); // 轉發
//    }
// 3. welcome.jsp 從 session 取 user 顯示歡迎信息

核心概念

  • 轉發:服務端內部跳轉,URL 不變,共享 request 域。
  • 重定向:瀏覽器發起新請求,URL 變化,request 域丟失(用 session)。
  • MVC:JSP=View,Servlet=Controller,JavaBean/DAO=Model。

理解這四者分工,Java Web 入門即不再「暈乎乎」。

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