IDEA配置Tomcat創(chuàng)建web項目的詳細步驟
一、Web相關概念
1、什么是web?
web,網(wǎng)頁的意思,例如:www.baidu.com
web根據(jù)資源分類方式分為:
- 靜態(tài)(資源)web:所有用戶訪問后,得到的結果都是一樣的,稱為靜態(tài)資源,靜態(tài)資源可以直接被瀏覽器解析。相關實現(xiàn)技術如:html,css,JavaScript。存靜態(tài)資源的web已非常少見。
- 動態(tài)(資源)web;每個用戶訪問相同資源后,得到的結果可能不一樣,稱為動態(tài)資源。動態(tài)資源被訪問后,需要先轉換為靜本資源,在返回給瀏覽器。幾乎是所有的網(wǎng)站;比如淘寶。相關實現(xiàn)技術如:servlet/jsp,php,asp...
2、web應用程序
可以提供瀏覽器方問的程序。例如:京東
使用java技術開發(fā)的可以通過瀏覽器訪問的程序稱為,Java web應用程序。典型的java web應用程序包括: 淘寶,京東,工行的網(wǎng)銀等。
3、java web應用程序運行原理
1.用戶通過瀏覽器發(fā)送HTTP請求到服務器(網(wǎng)頁操作)。
2.web服務器接收到用戶特定的HTTP請求,由web服務器將請求信息移交給在web服務器中部署的javaweb應用程序 (Java程序)。
3.啟動javaweb應用程序執(zhí)行業(yè)務流程(業(yè)務處理并查詢數(shù)據(jù)庫)。
4.javaweb應用程序執(zhí)行后,動態(tài)的將相關結果,通過web服務器,響應到瀏覽器向用戶展示執(zhí)行結果返回數(shù)據(jù),進行頁面展示)。
二、Java Web應用常用技術
JavaWeb開發(fā)項目一般需要涉及到多項技術,比較常見的包括
1HTML+CSS技術
主要負責用戶訪問在瀏覽器中訪問JavaWeb應用的前端頁面的設計。
2JavaScript、Jquery
主要負責lavaWeb應用的前端頁面動態(tài)效果、交互功能、以及異步通信的實現(xiàn)。
3.JDBC技術
在lava Web應用開發(fā)中,訪問數(shù)據(jù)庫是必不可少的操作。DBC技術是一種用于執(zhí)行 SOL 語句的ava AP1。它由一組用lava 編程語言編寫的類和接口組成。JDBC。為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的AP1,使他們能夠用純Java AP 來編寫數(shù)據(jù)庫應用程序
4.*JAVABEAN技術
在JavaWeb應用程序中,主要亮當組件,實現(xiàn)數(shù)據(jù)庫表和AVA類的映射。
5.MySQL技術
負責lavaweb應用程序中存儲應用中相關持久化數(shù)據(jù)。
6.Servlet技術
Servlet也叫"server applet"”是java服務器的小程序,它是一種基于Java 技術的 Web 組件,運行在服務器端,由 Servlet 容器管理,用來生成動態(tài)的Web內容。
7.JSP技術
是一種動態(tài)網(wǎng)頁開發(fā)技術。JSP文件就是在傳統(tǒng)的HTML文件中插入Java代碼和JSP標簽,后綴名為.jsp。
三、Tomcat服務器的安裝與配置
1、什么是web服務器?
接收用戶的請求,處理請求,做出響應。在web服務器軟件中,可以部署web項目,讓用戶通過瀏覽器來訪問這些項目。同時作為web應用程序的容器。
2、常見的java相關的web服務器軟件
- webLogic;oracle公司,大型的lavaEE服務器,支持所有的JavaEE規(guī)范收費的
- websphere:IBM公司,大型的]avaEE服務器,支持所有的avaEE規(guī)范,收費的
- JBOSS:JBOSS公司的,大型的JavaEE服務器,支持所有的lavaEE規(guī)范,收費的
- Tomcat:Apache基金組織,中小型的avaEE服務器,僅僅支持少量的JavaEE規(guī)范servlet/jsp。開源的,免費的。
3、Tomcat web服務器
Tomcat是Apache 軟件基金會 (Apache Software Foundation)的jakarta項目中的一個核心項目,最新的Servlet 和SP規(guī)范總是能在Tomcat中得到體現(xiàn),因為Tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受lava愛好者的喜愛并得到了部分軟件開發(fā)商的認可成為目前比較流行的Web應用服務器。
Tomcat 服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很務的場合下被普遍使用,是開發(fā)和調試SP程序的首選。對于一個ava初學web的人來說,它是最佳的選擇。
4、Tomcat服務器安裝和配置
1.下載地址
- bin目錄:該目錄下存放的是二進制可執(zhí)行文件。會有startup.bat和shutdown.bat文件,startup.bat用來啟動Tomcat,但需要先配置JAVA_HOME環(huán)境變量才能啟動,shutdawn.bat用來停止Tomcat。
- conf目錄:server.xml可以進行tomcat服務器的配置修改,比如端口號等;
- lib目錄:Tomcat的類庫,里面是一大堆jar文件。如果需要添加Tomcat依賴的jar文件,可以把它放到這個目錄中,當然也可以把應用依賴的jar文件放到這個目錄中,這個目錄中的jar所有項目都可以共享之。建議只把Tomat需要的jar包放到這個目錄下。
- logs目錄:這個目錄中都是日志文件,記錄了Tomcat啟動和關閉的信息,如果啟動Tomcat時有錯誤,那么異常也會記錄在日志文件中。
- temp目錄:存放Tomcat的臨時文件,這個目錄下的內容可以在停止Tomcat后刪除。
- webapps目錄:存放web頓目的目錄,其中每個文件夾都是一個項目。
- work目錄:運行時生成的文件,最終運行的文件都在這里。通過webapps中的項目生成的
- LICENSE文件:許可證
- NOTICE文件:說明文件
5.啟動Tomcat
進入bin/startup.bat,雙擊運行該文件即可
tomcat的安裝步驟
1.下載tomcat安裝包并解壓
下載完畢后,把安裝包解壓到一個沒有中文路徑的目錄中
2.配置Java的環(huán)境變量以及tomcat的環(huán)境變量
注意:
1.首先檢查iava的環(huán)境配置是否正確,在命令行窗口中執(zhí)行java-version查看java的版本;
2.確認JAVA_HOME的配置JDK、tomcat環(huán)境變量的配置正確;
3.在命令行中進入tomcat的bin目錄,執(zhí)行 vefsion.bat查看tomcat版本,確保沒有異常和錯誤:
4.執(zhí)行tomcat啟動的命令 startup.bat;
四、在IDEA中配置Tomcat并創(chuàng)建web項目
在開發(fā)過程中一般我們會把Tomcat集成到IDE中,方便應用程序的部署。相關步驟如下:
1.打開idea在項目運行列表下拉選擇“Edit Configurations"
Deployment”中選擇“Application Servers”,點擊“+”
就可以看到Tomcat Server了,點擊Local。
2. 地址選擇Tomcat的安裝路徑即可,導入后點OK。
到這一步,Tomcat就配置完成啦~
3.先創(chuàng)建一個項目模塊
在模塊下面創(chuàng)建新的module模塊
右鍵點擊myWeb01,點擊Add Framework Support
在里面選中Web Application,點“ok”就可以啦
五、Servlet的概念
1.什么是Servlet?
Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數(shù)據(jù)庫或應用程序之間的中間層。
使用 Servlet,您可以收集來自網(wǎng)頁表單的用戶輸入,呈現(xiàn)來自數(shù)據(jù)庫或者其他源的記錄,還可以動態(tài)創(chuàng)建網(wǎng)頁。
Java Servlet 通常情況下與使用 CGI(Common Gateway Interface,公共網(wǎng)關接口)實現(xiàn)的程序可以達到異曲同工的效果。但是相比于 CGI,Servlet 有以下幾點優(yōu)勢:
性能明顯更好。
Servlet 在 Web 服務器的地址空間內執(zhí)行。這樣它就沒有必要再創(chuàng)建一個單獨的進程來處理每個客戶端請求。
Servlet 是獨立于平臺的,因為它們是用 Java 編寫的。
服務器上的 Java 安全管理器執(zhí)行了一系列限制,以保護服務器計算機上的資源。因此,Servlet 是可信的。
Java 類庫的全部功能對 Servlet 來說都是可用的。它可以通過 sockets 和 RMI 機制與 applets、數(shù)據(jù)庫或其他軟件進行交互。
2.servlet結構
下圖顯示了 Servlet 在 Web 應用程序中的位置。
3.Servlet 任務
Servlet 執(zhí)行以下主要任務:
- 讀取客戶端(瀏覽器)發(fā)送的顯式的數(shù)據(jù)。這包括網(wǎng)頁上的 HTML 表單,或者也可以是來自 applet 或自定義的 HTTP 客戶端程序的表單。
- 讀取客戶端(瀏覽器)發(fā)送的隱式的 HTTP 請求數(shù)據(jù)。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
- 處理數(shù)據(jù)并生成結果。這個過程可能需要訪問數(shù)據(jù)庫,執(zhí)行 RMI 或 CORBA 調用,調用 Web 服務,或者直接計算得出對應的響應。
- 發(fā)送顯式的數(shù)據(jù)(即文檔)到客戶端(瀏覽器)。該文檔的格式可以是多種多樣的,包括文本文件(HTML 或 XML)、二進制文件(GIF 圖像)、Excel 等。
- 發(fā)送隱式的 HTTP 響應到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如 HTML),設置 cookies 和緩存參數(shù),以及其他類似的任務。
4.Servlet 包
Java Servlet 是運行在帶有支持 Java Servlet 規(guī)范的解釋器的 web 服務器上的 Java 類。
Servlet 可以使用 javax.servlet 和 javax.servlet.http 包創(chuàng)建,它是 Java 企業(yè)版的標準組成部分,Java 企業(yè)版是支持大型開發(fā)項目的 Java 類庫的擴展版本。
這些類實現(xiàn) Java Servlet 和 JSP 規(guī)范。在寫本教程的時候,二者相應的版本分別是 Java Servlet 2.5 和 JSP 2.1。
Java Servlet 就像任何其他的 Java 類一樣已經被創(chuàng)建和編譯。在您安裝 Servlet 包并把它們添加到您的計算機上的 Classpath 類路徑中之后,您就可以通過 JDK 的 Java 編譯器或任何其他編譯器來編譯 Servlet。
六、使用IDEA編寫Servlet程序
1.在創(chuàng)建的web項目中找到 web 文件夾的 WEB-INF 中創(chuàng)建目錄起名字叫 lib ,然后放入需要的jar包。
單擊右鍵將jar包全部選中,點擊Add as Library...
2.在src的包中創(chuàng)建一個Java類,讓該類實現(xiàn)Servlet接口,實現(xiàn)它的方法,那么該類就是一個Servlet 類。
3.在 web.xml 中配置servlet的映射關系。
告訴系統(tǒng)當瀏覽器請求 login 這個地址的時候,要執(zhí)行 login 這個 servlet , login 這個 servlet 就是 com.chen.servlet包里面的 Login 這個類。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- 配置servlet類 --> <servlet> <!-- 起別名 --> <servlet-name>login</servlet-name> <!-- servlet類所在的位置:類的全類名就是 包名.類名 --> <servlet-class>com.chen.servlet.Login</servlet-class> </servlet> <!-- Servlet類的映射:Servlet用來處理哪個請求 --> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
4.在瀏覽器上輸入login的請求,測試servlet程序是否執(zhí)行。
后端控制臺輸出:
注意: Servlet 是有第一次被訪問會進行 init ,后續(xù)執(zhí)行的都是 service 。服務器關閉或者異常退出的時候執(zhí)行destroy 。
總結
到此這篇關于IDEA配置Tomcat創(chuàng)建web項目的文章就介紹到這了,更多相關IDEA配置Tomcat創(chuàng)建web項目內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java刷題之最小k個數(shù)的思路及具體實現(xiàn)
這篇文章主要介紹了Java刷題之最小k個數(shù)的思路及具體實現(xiàn),最小K個數(shù)是一個經典的top-K問題,可以通過整體排序、建立小根堆或大根堆的方式解決,排序方式時間復雜度較高,適合數(shù)據(jù)量小的場景,小根堆適合k較小的情況,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-10-10java8 forEach結合Lambda表達式遍歷 List操作
這篇文章主要介紹了java8 forEach結合Lambda表達式遍歷 List操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09詳解SpringBoot緩存的實例代碼(EhCache 2.x 篇)
這篇文章主要介紹了詳解SpringBoot緩存的實例代碼(EhCache 2.x 篇),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07springboot?使用websocket技術主動給前端發(fā)送消息的實現(xiàn)
這篇文章主要介紹了springboot?使用websocket技術主動給前端發(fā)送消息的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12