移動端與服務端交互(HTTP/JSON)是核心技能。理解 JSP/Servlet 如何接收請求、處理業務、響應數據,有助於設計更合理的 API 協議、排查網絡異常。
.jsp_jspServlet.java → 編譯為 .classservice()官網 tomcat.apache.org 下載二進制壓縮包(apache-tomcat-9.0.x 或 10.1.x),解壓至無中文、無空格路徑(如 D:\dev\apache-tomcat-9.0.85)。
| 目錄 | 用途 |
|---|---|
bin/ | 啟動/關閉腳本(startup.bat/shutdown.bat) |
conf/ | 核心配置 server.xml(端口、虛擬主機)、web.xml(全局部署描述符) |
lib/ | 容器級共享 JAR(Servlet API、JSP API、JDBC 驅動建議放這裡) |
webapps/ | Web 應用部署目錄(WAR 或解壓目錄) |
work/ | JSP 編譯產生的 Java/Class 文件(可安全刪除) |
logs/ | 運行日誌(catalina.out、localhost.yyyy-mm-dd.log) |
JAVA_HOME=D:\dev\jdk1.8.0_202
# CATALINA_HOME 可選,建議不設,由啟動腳本自動推導
Path 追加 %JAVA_HOME%\bin
bin/startup.bat,彈出控制台顯示 Server startup in xxx mshttps://localhost:8080 → 顯示 Tomcat 首頁 = 成功bin/shutdown.bat
# 修改 conf/server.xml 第 69 行左右
<Connector port="8080" protocol="HTTP/1.1" ... />
# 改為 8081、9090 等未被佔用端口
或 netstat -ano | findstr :8080 找 PID → 任務管理器結束進程。
Apache Tomcat v9.0)JspDemohello.jsp 自動包含:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Hello JSP</title></head>
<body><% out.println("Hello, JSP!"); %></body></html>
https://localhost:8080/JspDemo/hello.jsp| 現象 | 原因 | 解決 |
|---|---|---|
| 訪問專案根路徑 404 | 無 welcome-file-list 配置 | web.xml 添加 <welcome-file>hello.jsp</welcome-file> |
| 訪問具體 jsp 404 | 文件不在 WebContent/ 或 src/main/webapp/ | 確認文件位置,刷新專案 |
| EL 表達式 ${} 原樣輸出 | web.xml version < 2.4 | 升級 <web-app version="3.1"> |
work/Catalina/localhost/JspDemo/org/apache/jsp/hello_jsp.javaorg.apache.jasper.runtime.HttpJspBase(間接實現 Servlet)_jspService() 中包含 HTML 字符串輸出與 Java 邏輯request/response/session/application/out/page/config/exception 均為局部變量servlet-api-3.1-javadoc.jar(或 tomcat-servlet-api-javadoc.zip)Project → Properties → Java Build Path → Libraries → servlet-api.jar → Javadoc location → 編輯 → 選中 Javadoc 包server.xml:maxThreads="200"、acceptCount="100"、connectionTimeout="20000"conf/web.xml:development=false(關閉 JSP 開發模式重編譯)、trimSpaces=trueCompression、Cache-Control、Gzip 靜態資源壓縮掌握 Tomcat 安裝 → Eclipse 整合 → 動態 Web 專案 → UTF-8 全鏈路 → 部署驗證 → 404 排查 → work 目錄觀察編譯產物 完整鏈路,即可建立扎實的 JavaWeb 基礎。後續學習方向:
1. Servlet 生命週期、Filter/Listener、Session 管理
2. JSTL/EL 表達式、標簽庫、MVC 分層
3. JDBC/連接池、事務、DAO/Service 設計
4. Spring/Spring MVC 整合、RESTful API 設計