国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

滄州wap網(wǎng)站制作企業(yè)推廣網(wǎng)

滄州wap網(wǎng)站制作,企業(yè)推廣網(wǎng),php個(gè)人網(wǎng)站源碼,寧波網(wǎng)站建設(shè)官網(wǎng)個(gè)人主頁(yè):兜里有顆棉花糖 歡迎 點(diǎn)贊👍 收藏? 留言? 加關(guān)注💓本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【Servlet】 本專欄旨在分享學(xué)習(xí)Servlet的一點(diǎn)學(xué)習(xí)心得,歡迎大家在評(píng)論區(qū)交流討論💌 Servlet是Java編寫(xiě)的服務(wù)器端…

個(gè)人主頁(yè):兜里有顆棉花糖
歡迎 點(diǎn)贊👍 收藏? 留言? 加關(guān)注💓本文由 兜里有顆棉花糖 原創(chuàng)
收錄于專欄【Servlet】
本專欄旨在分享學(xué)習(xí)Servlet的一點(diǎn)學(xué)習(xí)心得,歡迎大家在評(píng)論區(qū)交流討論💌

Servlet是Java編寫(xiě)的服務(wù)器端程序,主要用于處理客戶端請(qǐng)求和生成響應(yīng)。它可以接收來(lái)自客戶端(通常是Web瀏覽器)的請(qǐng)求,執(zhí)行特定的任務(wù),并返回響應(yīng)給客戶端。

目錄

  • 一、創(chuàng)建項(xiàng)目
  • 二、引入依賴
  • 三、創(chuàng)建必要的目錄和文件
  • 四、代碼編寫(xiě)
  • 五、打包程序
  • 六、程序部署
  • 七、驗(yàn)證程序
    • 注意事項(xiàng)

重要的事情放前面:Servlet程序運(yùn)行時(shí),一定要保證Tomcat處于運(yùn)行狀態(tài)。

一、創(chuàng)建項(xiàng)目

在這里插入圖片描述

什么是Maven
Maven是Java中的一個(gè)構(gòu)建工具。
一個(gè)程序在編寫(xiě)過(guò)程中往往會(huì)涉及到第三方庫(kù)的依賴,同時(shí)需要對(duì)寫(xiě)好的程序進(jìn)行一個(gè)打包部署。
Maven存在的意義就是為了能夠方便的進(jìn)行依賴管理打包部署
IntelliJ是Java中默認(rèn)的構(gòu)建工具,Gradle(安卓中會(huì)用到)同樣是是Java中常見(jiàn)的構(gòu)建工具。

在這里插入圖片描述

我們來(lái)帶看一下pom.xml文件
在這里插入圖片描述
后續(xù)我們會(huì)根據(jù)需要會(huì)繼續(xù)向pom.xml文件中放新的內(nèi)容。
在這里插入圖片描述

好了,以上就是創(chuàng)建項(xiàng)目的步驟,接下來(lái)我們來(lái)到下一步,即引入依賴。

二、引入依賴

當(dāng)前的代碼要使用Servlet開(kāi)發(fā),而Servlet并不是Java標(biāo)準(zhǔn)庫(kù)自帶的,所以我們需要Maven把Servlet的依賴獲取到。所以我們需要找到Maven的中央倉(cāng)庫(kù),然后從中央倉(cāng)庫(kù)中找到我們想要獲取到的依賴。

中央倉(cāng)庫(kù)地址:https://mvnrepository.com/

來(lái)到中央倉(cāng)庫(kù)后,直接搜索servlet即可。
在這里插入圖片描述
如上圖,點(diǎn)擊Java Servlet API后來(lái)到如下頁(yè)面
在這里插入圖片描述
找到3.1.0的版本,因?yàn)門(mén)omcat和Servlet是有對(duì)應(yīng)關(guān)系的:如果Tomcat使用8版本的話,那么Servlet就需要使用3.1版本。
在這里插入圖片描述
在這里插入圖片描述
此時(shí)IDEA就會(huì)自動(dòng)的通過(guò)Maven從中央倉(cāng)庫(kù)下載到這里的依賴。
我們可以看到上面報(bào)紅了,有可能還沒(méi)有下載完(第一次使用一般會(huì)比較慢,因?yàn)橐獜闹醒雮}(cāng)庫(kù)中下載很多的依賴),這種情況稍微等一下就好了。
但是如果等了很長(zhǎng)時(shí)間都沒(méi)有解決的話,我們就需要點(diǎn)擊下面的刷新按鈕:
在這里插入圖片描述

好了,以上就是引入依賴的全過(guò)程。

三、創(chuàng)建必要的目錄和文件

Tomcat對(duì)于Servlet項(xiàng)目是有一些額外的要求的。

Maven最為一個(gè)通用的工具,不僅僅可以管理Servlet項(xiàng)目,還可以管理其它的項(xiàng)目。再此基礎(chǔ)上還需要按照Servlet項(xiàng)目的要求來(lái)創(chuàng)建出特定的目錄和文件。

  • 在main目錄下創(chuàng)建webapp目錄
  • webapp目錄中創(chuàng)建一個(gè)目錄WEB-INF
  • WEB-INF目錄中創(chuàng)建web.xml文件,web.xml文件的作用就是告訴Tomcat我這個(gè)目錄中的內(nèi)容是一個(gè)webapp,需要把我加載起來(lái)。

整個(gè)目錄結(jié)構(gòu)如下:
在這里插入圖片描述
上述創(chuàng)建的目錄結(jié)構(gòu)(包括目錄的名字)和文件都是固定的。

另外,我們需要在web.xml中編寫(xiě)一些內(nèi)容,編寫(xiě)內(nèi)容如下(直接復(fù)制粘貼即可):

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

這個(gè)配置文件即web.xml的作用是指定了該 Web 應(yīng)用程序的基本信息和配置參數(shù),例如,控制應(yīng)用程序如何處理請(qǐng)求、響應(yīng)、會(huì)話管理等(具體細(xì)節(jié)我們這里暫時(shí)跳過(guò))。

上述的配置文件可能會(huì)出現(xiàn)如下報(bào)錯(cuò),請(qǐng)看:
在這里插入圖片描述
爆紅不是我們的原因,這里直接忽略即可(并不影響程序的運(yùn)行)。
解釋一下:爆紅的部分即"http://java.sun.com/dtd/web-app_2_3.dtd"是一個(gè)schema文件,該文件描述了xml文件的格式是怎樣的(哪些標(biāo)簽是合法的,哪些是不合法的,以及標(biāo)簽之間如何進(jìn)行嵌套)。

好了,以上就是創(chuàng)建目錄結(jié)構(gòu)及文件的全部?jī)?nèi)容。接下來(lái)開(kāi)始正式的代碼編寫(xiě)。

四、代碼編寫(xiě)

  • 第一步:創(chuàng)建類HelloServlet,然后讓該類繼承HttpServlet(此類是Servlet的jar包提供的,編寫(xiě)Servlet程序一般都需要繼承這個(gè)類——HttpServlet),如下圖:

在這里插入圖片描述
如果HttpServlet報(bào)紅的話,可能是之前的pom.xml中的依賴沒(méi)有正確引入。這是我們只需要刷新一下pom.xml文件即可。
在這里插入圖片描述
在這里插入圖片描述

  • 第二步:重寫(xiě)父類HttpServlet中的方法(doGet方法

在這里插入圖片描述
在解釋doGet方法之前,我們先來(lái)回顧下服務(wù)器典型的三步走流程:
①讀取請(qǐng)求并解析請(qǐng)求
②根據(jù)請(qǐng)求計(jì)算響應(yīng)
③把響應(yīng)寫(xiě)回到客戶端

好了接下來(lái)解釋doGet方法:
在這里插入圖片描述

doGet方法要做的事情就是根據(jù)請(qǐng)求(req)計(jì)算出響應(yīng)(resp),所以對(duì)應(yīng)的doGet方法中的代碼就是根據(jù)req請(qǐng)求中不同的參數(shù)細(xì)節(jié)從而生成一個(gè)具體的resp對(duì)象(即往空對(duì)象中設(shè)置屬性)。

然后,Tomcat就會(huì)根據(jù)這個(gè)resp響應(yīng)對(duì)象轉(zhuǎn)換成符合HTTP協(xié)議的響應(yīng)報(bào)文并返回給瀏覽器。

注解(配置路由):
在這里插入圖片描述
我們已經(jīng)知道Tomcat會(huì)在合適的時(shí)機(jī)自動(dòng)調(diào)用doGet方法,體現(xiàn)在兩個(gè)方面:
第一個(gè)方面:根據(jù)請(qǐng)求方法的不同來(lái)調(diào)用不同的方法。舉例:如果請(qǐng)求方法是GET,那么Tomcat就會(huì)在合適的時(shí)機(jī)自動(dòng)調(diào)用doGet;如果請(qǐng)求的方法是PUT,那么Tomcat就會(huì)在合適的時(shí)機(jī)自動(dòng)調(diào)用doPost。
第二個(gè)方面:請(qǐng)求的路徑中,url后面帶有層次結(jié)構(gòu)的路徑。一個(gè)Servlet程序中可能有多個(gè)Servlet類,這些Servlet類需要在不同的情況下被執(zhí)行到。比如當(dāng)請(qǐng)求的路徑中有hello的時(shí)候,才能執(zhí)行到HelloServlet的代碼。當(dāng)然,不同的Servlet類可以關(guān)聯(lián)到不同的路徑。
總結(jié):Tomcat在合適的時(shí)機(jī)自動(dòng)調(diào)用Servlet的方法,根據(jù)請(qǐng)求的方法類型和請(qǐng)求的路徑進(jìn)行匹配,以調(diào)用對(duì)應(yīng)的Servlet方法來(lái)處理請(qǐng)求。這樣可以實(shí)現(xiàn)不同Servlet類在不同情況下的執(zhí)行(不同的代碼應(yīng)用到不同的場(chǎng)景)。

總而言之,doGet方法就是根據(jù)請(qǐng)求算出響應(yīng)(即服務(wù)器典型三步走的第二步,第一步和第三步由Tomcat來(lái)完成)。

以上就是代碼的編寫(xiě),現(xiàn)在問(wèn)題來(lái)了,為什么沒(méi)有出現(xiàn)main方法。
解釋:Servlet程序不需要main方法。上述寫(xiě)的代碼并不是獨(dú)立的程序,而是放到Tomcat上去執(zhí)行的。而main方法在Tomcat,我們寫(xiě)的代碼比如說(shuō)doGet之類的方法都是讓Tomcat來(lái)調(diào)用的。

五、打包程序

這里寫(xiě)的程序是放到Tomcat上運(yùn)行,所以需要對(duì)程序進(jìn)行打包。
打包成一個(gè)Tomcat能識(shí)別的包的格式,此時(shí)代碼才會(huì)被Tomcat給加載起來(lái)。
打包的過(guò)程是借助Maven來(lái)完成。

在這里插入圖片描述

看到如下圖就說(shuō)明已經(jīng)打包好了。在這里插入圖片描述
在這里插入圖片描述
在Maven中默認(rèn)打包生成的是jar包(jar包是java中常用的打包方式,jar包中就是一些.class文件),但是Tomcat需要的并不是jar包,而是war包(war包本質(zhì)上和jar包差不多,war包中會(huì)包含一些前端的代碼,如html、css等,以及一些Tomcat的配置(web.xml))。
所以我們需要修改配置項(xiàng)來(lái)讓Maven打包出來(lái)的是一個(gè)war包
pom.xml文件中插入<packaging>war</packaging>即可,如下圖:
在這里插入圖片描述

另外,除了在pom.xml中添加packaging標(biāo)簽外,我們還可以添加其它標(biāo)簽,如下:

<build><finalName>java_servlet</finalName>
</build>

在這里插入圖片描述
通過(guò)finalName標(biāo)簽可以設(shè)置打包出來(lái)的war包的名字(不是必須的,也可以使用默認(rèn)的名字)。

好了,修改了上述的配置之后,接下來(lái)我們重新打包:
在這里插入圖片描述
在這里插入圖片描述
可以看到上圖中target目錄中新打成的war包。
在這里插入圖片描述
這個(gè)war包就是我們想要向Tomcat中部署的內(nèi)容。

至此,打包完成,我們就可以把war包放到Tomcat中了。

六、程序部署

程序部署就是把我們剛剛打包生成的war包放到Tomcat上,具體來(lái)說(shuō)就是把這個(gè)war包拷貝到Tomcat中的webapps目錄中。

在這里插入圖片描述
把war包復(fù)制到Tomcat中的webapps目錄后,Tomcat就會(huì)識(shí)別到有新的webapp到來(lái)了,然后就會(huì)自動(dòng)對(duì)這個(gè)war包進(jìn)行解壓縮。

下面就到了最后一步——驗(yàn)證程序。

七、驗(yàn)證程序

通過(guò)瀏覽器發(fā)起http get請(qǐng)求,觸發(fā)剛剛的servlet的代碼。

在這里插入圖片描述
第一點(diǎn):通過(guò)第一級(jí)路徑(稱為context path/application path)來(lái)確認(rèn)要訪問(wèn)哪個(gè)webapp(這個(gè)路徑就是war包的名字);第二點(diǎn):然后通過(guò)第二級(jí)路徑(稱為servlet path)來(lái)訪問(wèn)哪一個(gè)servlet代碼;第三點(diǎn):然后通過(guò)方法來(lái)確定執(zhí)行servlet中哪個(gè)方法。

結(jié)合上面三點(diǎn)就定位到了要執(zhí)行的代碼時(shí)doGet方法

最后,程序成功執(zhí)行。

在這里插入圖片描述

注意事項(xiàng)

如果我們要對(duì)代碼進(jìn)行修改的話,我們需要重復(fù)上述的五、六、七步驟。

好了,以上就是本文的全部?jī)?nèi)容了。希望各位友友可以一鍵三連哈!!!

在這里插入圖片描述

http://m.aloenet.com.cn/news/38194.html

相關(guān)文章:

  • 小程序網(wǎng)站開(kāi)發(fā)怎么樣谷歌廣告上海有限公司
  • 做外貿(mào)怎么打開(kāi)國(guó)外網(wǎng)站亞馬遜關(guān)鍵詞搜索工具
  • 想自己做點(diǎn)飄紗素材到網(wǎng)站上買(mǎi)鄭州seo服務(wù)技術(shù)
  • 網(wǎng)站自助授權(quán)系統(tǒng)站長(zhǎng)之家網(wǎng)站排名
  • 成立一個(gè)網(wǎng)站平臺(tái)要多少錢(qián)關(guān)鍵詞是怎么排名的
  • 品牌網(wǎng)站建設(shè)小科6a蚪湖北網(wǎng)絡(luò)推廣有限公司
  • 做網(wǎng)站要注意哪些長(zhǎng)春網(wǎng)絡(luò)優(yōu)化最好的公司
  • 網(wǎng)站建設(shè)需要多大的空間百度數(shù)據(jù)庫(kù)
  • 網(wǎng)站搜索排名百度seo系統(tǒng)
  • 免費(fèi)看電視劇的網(wǎng)站在線觀看seo免費(fèi)診斷電話
  • 橙子建站落地頁(yè)制作郴州網(wǎng)站建設(shè)
  • 網(wǎng)站app簡(jiǎn)單做軟文怎么寫(xiě)
  • 北京價(jià)格微網(wǎng)站建設(shè)手機(jī)百度ai入口
  • 中英文網(wǎng)站asp怎么做搜狗搜圖
  • 網(wǎng)站建設(shè)頤高上海街保溫杯軟文營(yíng)銷300字
  • 源代碼做的網(wǎng)站好用么百度開(kāi)放云平臺(tái)
  • 湖州企業(yè)做網(wǎng)站手機(jī)關(guān)鍵詞seo排名優(yōu)化
  • 游戲推廣網(wǎng)站制作seo的基本步驟包括哪些
  • 團(tuán)購(gòu)網(wǎng)站做攝影如何查詢百度收錄
  • 怎么做網(wǎng)站平臺(tái)教程營(yíng)銷方式和渠道
  • 廣州網(wǎng)站建設(shè)o2o搜索引擎查詢
  • 免費(fèi)二級(jí)域名空間注冊(cè)天津seo博客
  • php學(xué)多久可以做網(wǎng)站南京seo關(guān)鍵詞排名
  • 網(wǎng)站建設(shè)培訓(xùn)ppt上海百度seo點(diǎn)擊軟件
  • 做網(wǎng)站底色怎么選必應(yīng)站長(zhǎng)平臺(tái)
  • 蘿崗營(yíng)銷型網(wǎng)站建設(shè)深圳互聯(lián)網(wǎng)公司50強(qiáng)
  • wordpress手機(jī)建站教程搜索引擎 磁力吧
  • 年輕的兒媳seo技術(shù)培訓(xùn)教程視頻
  • 寧遠(yuǎn)縣做網(wǎng)站的網(wǎng)站如何推廣出去
  • 做仿網(wǎng)站的書(shū)谷歌優(yōu)化技巧