【Java框架型項目從入門到裝逼】第三節 - 如何用Tomcat發布web項目?


啥叫Tomcat?有道詞典是這么說的。
image.png
這個我們姑且不管,實際上呢,Tomcat是一種Web服務器,我們自己做好了一個Web項目,就可以通過Tomcat來發布。服務器呢,又分為硬件服務器和軟件服務器。硬件服務器一般來說就是一台電腦,而軟件服務器則是一個應用程序,比如Tomcat它本身就是一個程序。
image.png
讓我們來看一下Tomcat的目錄結構:
image.png
Bin目錄里面都是一些腳本文件:
image.png
我們需要關注的就是startup.bat這個文件,當我們雙擊這個文件,就可以啟動Tomcat服務器。接下來,我們順便來說一說配置環境變量的問題,我們知道,在安裝JDK的時候就需要配置環境變量。簡單來說,配置環境變量的目的就是讓用戶可以在任何目錄都能訪問到某一個文件夾的文件。比如,我們打開cmd命令窗口:
image.png
輸入cmd,點確定。
image.png
我們希望通過這個命令來打開startup.bat,然而並沒有什么卵用!

image.png
因為路徑不對,是吧。好,那么現在我們調整到Tomcat的bin目錄:image.png
運行
image.png
image.png
這樣就好了,恭喜你,Tomcat服務器已經成功啟動了!

大家是不是很好奇,有沒有一種不需要跳轉到指定目錄就可以運行startup.bat的方法呢?這就需要我們配置環境變量了。

右鍵我的電腦,屬性。
image.png
image.pngimage.png
image.png
image.png
在path后面添加 ;%TOMCAT_HOME%\bin ,確定。

重新再cmd命令窗口執行startup.bat命令:
image.png
出現這個錯誤,它說環境變量名字不對,應該叫CATALINA_HOME,OK,那我們就改成這個環境變量,然后就好了。

現在,我們在conf目錄中我們打開server.xml,可以查看Tomcat的端口號。
image.png
image.png
這個8080就是端口號,我們用http://localhost:8080 , 可以訪問到Tomcat的首頁。
image.png

1、tomcat服務器映射方式一

tomcat服務器會自動管理webapps目錄下的所有web應用,並把它映射成虛似目錄。
現在我們來手工搭建一個web項目,首先,在webapps目錄下新建一個文件夾,是的,就是文件夾,不管你項目是什么,肯定還是放在文件夾里面的。
image.png
項目名稱就叫做myapp。
打開myapp,根據web項目的規范,我們需要有一個WEB-INF文件夾。
image.png
然后,在WEB-INF文件夾里面,必須要有一個web.xml文件。
Web.xml內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>
這句話表示這個文件是xml文件。
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>

web.xml的模式文件是由Sun公司定義的,每個web.xml文件的根元素 中,都必須標明這個 web.xml使用的是哪個模式文件。其它的元素都放在 之中。

<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

這個是設置歡迎頁,因為我們現在還沒有歡迎頁,所以要寫一個。

image.png

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	這是我的APP
</body>
</html>

然后訪問http://localhost:8080/myapp/ 的時候,就會默認找到index.jsp文件。如果出現中文亂碼,從以下幾個方面考慮:
1、 文件本身的編碼格式是不是UTF-8,不是的話就用一個文本工具另存為一下。
2、 Server.xml中有沒有指定編碼格式為UTF-8 。

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8' />

3、 JSP頁面有沒有設置編碼為UTF-8 。

2、Tomcat服務器虛擬目錄的映射方式二

在server.xml配置文件的添加配置。

<Host name="localhost"  appBase="webapps"
              unpackWARs="true" autoDeploy="true" 
              xmlValidation="false" xmlNamespaceAware="false"> 
 
	<Context path="/JavaWebApp" docBase="D:\myapp" />
</Host> 

其中,Context表示上下文,代表的就是一個JavaWeb應用,Context元素有兩個屬性,
  Ⅰ.path:用來配置虛似目錄,必須以"/"開頭。
  Ⅱ.docBase:配置此虛似目錄對應着硬盤上的Web應用所在目錄。

如果我們不想要把web項目丟到webapp目錄,那又該怎么辦呢?沒錯,我們就采用第二種方式。

我現在把myapp項目放到D盤根目錄,為了防止你們說我使詐,我不但把訪問地址改了,還把webapp目錄下的myapp項目刪掉了。

image.png

我們一般都推薦第二種方式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM