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

Windows下JSP開發環境三種搭建方案:Tomcat獨立/整合Apache/整合IIS

     編輯:關於JSP

學習JSP第一步是搭建標準運行環境。以Tomcat為核心JSP引擎,根據前端Web服務器選擇不同,形成三種主流部署拓撲。本文以實用為原則,逐步拆解配置要點(基於JDK 1.4.1、Tomcat 4.1.21、Apache 2.0.43、IIS 5.0時代版本,現代版本邏輯同理)。

核心組件角色

組件角色說明
J2SDKJava運行基礎JSP本質是Servlet,需JDK編譯運行
TomcatJSP/Servlet容器核心引擎,解析JSP編譯為Servlet類並執行;自帶HTTP連接器可獨立對外
Apache HTTPD靜態資源/反向代理處理靜態文件(HTML/CSS/JS/圖片)性能優於Tomcat;作為反向代理轉發動態請求給Tomcat
IISWindows原生Web服務企業內網常見,整合Windows認證、憑證管理優勢
mod_jk / isapi_redirect連接器模塊Apache/IIS與Tomcat通信橋梁,實現AJP協議轉發

方案一:Tomcat獨立模式(開發/測試首選)

  1. 安裝JDK,配置JAVA_HOME、PATH。
  2. 解壓Tomcat(綠色版)或運行安裝程序。
  3. 啟動startup.bat,訪問https://localhost:8080驗證。
  4. JSP項目放入webapps目錄或配置server.xml<Context>。

優點:零配置、啟動快、調試直觀。缺點:靜態資源吞吐弱、無生產級安全/負載均衡能力。

方案二:Apache + Tomcat(經典生產拓撲)

  1. 安裝Apache 2.x,確認httpd.conf載入mod_so、mod_proxy、mod_proxy_ajp(現代版本推薦mod_proxy_ajp替代老牌mod_jk)。
  2. Tomcatserver.xml啟用AJP連接器:<Connector port="8009" protocol="AJP/1.3" />。
  3. Apachehttpd.conf配置代理:
    ProxyPass /app ajp://localhost:8009/app
    ProxyPassReverse /app ajp://localhost:8009/app
    # 靜態資源直服
    ProxyPass /app/static/ !
    Alias /app/static/ "D:/tomcat/webapps/app/static/"
    
  4. 重啟Apache驗證:https://localhost/app/xxx.jsp走Tomcat,https://localhost/app/static/logo.png走Apache。

優點:動靜分離、Apache成熟穩健、支持SSL終結、負載均衡多Tomcat節點。缺點:雙進程維護、配置相對複雜。

方案三:IIS + Tomcat(Windows企業環境)

  1. 安裝IIS,啟用ISAPI擴展/過濾器。
  2. 下載isapi_redirect.dll(原tc4ntiis.zip),放置如C:\tomcat\connectors\。
  3. 創建isapi_redirect.properties、workers.properties.minimal、uriworkermap.properties配置Worker與URL映射。
  4. IIS管理器添加ISAPI篩選器指向isapi_redirect.dll,添加虛擬目錄映射/jakarta到DLL目錄。
  5. 重啟IIS驗證。

優點:融入Windows認證體系、單一進程管理、原生SSL憑證存儲。缺點:跨平台性差、AJP連接器版本敏感、社區活躍度低於Apache方案。

現代化建議

  • 新項目優先Nginx + Tomcat:Nginx靜態/代理性能更強、配置更簡潔、社區更活躍。
  • 容器化部署:Docker Compose編排nginx:alpine + tomcat:10-jdk17,環境一致性無憂。
  • 雲原生:K8s Ingress Controller替代傳統Web服務器層。

三種方案本質相同:前端服務器處理靜態/SSL/負載,動態請求AJP/HTTP代理給Tomcat。理解這一核心,版本遷移不再迷茫。

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