JSP 本質是 Servlet:容器將 .jsp 編譯為繼承 HttpJspBase 的 Servlet 類,其 _jspService() 方法內部會根據 request.getMethod() 分發邏輯,但開發者不直接覆寫 doGet/doPost。
HttpServletRequest / HttpServletResponse。service() → doGet()/doPost()。_jspService(),JSP 頁面通過 request.getParameter() 取值。RequestDispatcher.forward() 轉發到 JSP 渲染,或直接輸出 JSON。 | 特性 | GET | POST |
|---|---|---|
| 數據位置 | URL Query String | Request Body |
| 可見性 | 地址欄可見 | 不可見(需開發者工具) |
| 長度限制 | ~2KB (瀏覽器/服務器) | 理論無限 (受配置限制) |
| 幂等性 | 應為幂等(查詢) | 非幂等(修改/提交) |
| 緩存 | 可被緩存 | 默認不緩存 |
doGet,參數放 URL,利於收藏/分享。doPost,敏感數據放 Body,防 CSRF 需加 Token。protected void service(HttpServletRequest req, HttpServletResponse resp) 內部按方法分發,或直接覆寫 doGet/doPost。${param.name} / request.getParameter() 取值,禁止在 JSP 寫業務邏輯。