web服務器軟件
服務器是安裝了服務器軟件的計算機,在web服務器軟件中,可以部署web項目,讓用戶通過瀏覽器來訪問這些項目。
Web服務器是一個應用程序(軟件),對HTTP協議的操作進行封裝,使得程序員不必直接對協議進行操作,讓Web開發更加便捷。主要功能是"提供網上信息瀏覽服務"。
web服務器軟件:接收用戶的請求,處理請求,做出響應。
常見的java相關的web服務器軟件:
- webLogic: oracle公司,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
- webSphere: IBM公司,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
- JBOSS: JBOSS公司的,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
- Tomcat: Apache基金組織,中小型的JavaEE服務器,僅僅支持少量的JavaEE規范servlet/jsp。開源的,免費的。
Tomcat
Tomcat是Apache軟件基金會一個核心項目,是一個開源免費的輕量級Web服務器,支持Servlet/JSP少量JavaEE規范。
因為Tomcat支持Servlet/JSP規范,所以Tomcat也被稱為Web容器、Servlet容器。Servlet需要依賴Tomcat才能運行。
Tomcat的官網:https://tomcat.apache.org/
Tomcat在解壓縮的時候,解壓所在的目錄可以任意,但最好解壓到一個不包含中文和空格的目錄,因為后期在部署項目的時候,如果路徑有中文或者空格可能會導致程序部署失敗。
- bin:目錄下有兩類文件,一種是以
.bat
結尾的,是Windows系統的可執行文件,一種是以.sh
結尾的,是Linux系統的可執行文件。 - webapps:就是以后項目部署的目錄。
啟動/關閉
啟動:雙擊bin\startup.bat
即可
關閉:
- 強制關閉:直接x掉運行窗口,不建議
- 正常關閉:
bin\shutdown.bat
- 正常關閉:
ctrl+c
可能遇到的問題
啟動窗口一閃而過
沒有正確配置JAVA_HOME環境變量,或已經開啟了Tomcat
控制臺中文亂碼
tomcat的日志配置文件的編碼需要修改,找到tomcat安裝目錄,找到conf/logging.properties
文件,將其中的java.util.logging.ConsoleHandler.encoding = UTF-8
的修改為GBK
即可。
端口號沖突
- 暴力解決:找到占用的端口號,并且找到對應的進程,殺死該進程
netstat -ano
- 溫柔解決:修改自身的端口號,在
conf/server.xml
文件中修改,一般會將tomcat的默認端口號修改為80。80端口號是http協議的默認端口號,在訪問時,就不用輸入端口號。
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />
部署
- 直接將項目放到webapps目錄下即可。
- 將項目打成一個war包,再將war包放置到webapps目錄下。
配置
可以在conf/server.xml文件中進行映射配置。
比如:項目存放的路徑為D:\hello
,不放在webapps目錄中,可以在標簽體中配置:
<Context docBase="D:\hello" path="/hehe" />
docBase
:項目存放的路徑path
:虛擬目錄
也可以在conf\Catalina\localhost創建任意名稱的xml文件。url映射的路徑就是xml文件的名稱。
在文件中編寫:
<Context docBase="D:\hello" />
Maven創建Web項目
Web項目的結構分為:開發中的項目和開發完可以部署的Web項目,這兩種項目的結構是不一樣的。
開發中的項目:
需要在pom.xml文件中配置打包方式為war(默認為jar),這樣使用Maven的package
命令即可生成war包。
使用骨架創建web項目:
不使用骨架創建web項目:
開發完成部署的Web項目:
- 開發項目通過執行Maven打包命令
package
,可以獲取到部署的Web項目目錄 - 編譯后的Java字節碼文件和resources的資源文件,會被放到WEB-INF下的classes目錄下
- pom.xml中依賴坐標對應的jar包,會被放入WEB-INF下的lib目錄下
IDEA集成Tomcat
第一種:使用本地的Tomcat
第二種:使用Tomcat Maven插件
Maven Tomcat插件目前只有Tomcat7版本,沒有更高的版本可以使用,要想修改Tomcat的端口和訪問路徑,可以直接修改pom.xml。
- 在pom.xml中添加Tomcat插件
<build><plugins><!--Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>80</port><!--訪問端口號 --><!--項目訪問路徑未配置訪問路徑: http://localhost:80/tomcat-demo2/a.html配置/后訪問路徑: http://localhost:80/a.html如果配置成 /hello,訪問路徑會變成 http://localhost:80/hello/a.html--><path>/</path></configuration></plugin></plugins>
</build>
啟動:
可能遇到的問題
IDEA輸出亂碼問題
因為IDEA是使用UTF-8格式的,而Windows使用的是GBK,所以要把剛剛修改的編碼重新修改為UTF-8格式的:
找到tomcat安裝目錄,找到conf/logging.properties
文件,確保其中的java.util.logging.ConsoleHandler.encoding = UTF-8
的編碼格式為UTF-8
。
看不到Run Maven和Debug Maven
使用插件啟動時,如果選中項目并右鍵點擊后,看不到Run Maven和Debug Maven,這個時候就需要在IDEA中下載Maven Helper插件,具體的操作方式為: File --> Settings --> Plugins --> Maven Helper --> Install,安裝完后按照提示重啟IDEA,就可以看到了。