国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序

這篇具有很好參考價(jià)值的文章主要介紹了【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言

一、Tomcat的下載和安裝

二、寫一個(gè)簡單的Servlet項(xiàng)目

1、創(chuàng)建一個(gè)Maven項(xiàng)目

2、引入依賴?

3、創(chuàng)建目錄?

?4、編寫Servlet代碼。

5、打包程序

6、將程序部署到Tomcat上

7、驗(yàn)證程序運(yùn)行結(jié)果

?三、在IDEA上安裝Smart Tomcat插件

四、Servlet中的一些常見錯(cuò)誤


前言

我我們制作一個(gè)網(wǎng)站就需要前后端交互,這里HTTP就是前后端交互的橋梁。我們說的前端就是瀏覽器,后端就是HTTP服務(wù)器。HTTP服務(wù)器就是基于TCP服務(wù)器實(shí)現(xiàn)的。讓一個(gè)TCP服務(wù)器按照HTTP協(xié)議的約定,解析請(qǐng)求,構(gòu)造響應(yīng),就夠成了一個(gè)HTTP服務(wù)器。但是我們并不需要獨(dú)立寫一個(gè)HTTP服務(wù)器,本章博客介紹使用一個(gè)現(xiàn)成的HTTP服務(wù)器Tomcat。

一、Tomcat的下載和安裝

Tomcat是Java生態(tài)中最流行的HTTP服務(wù)器,它是apache社區(qū)開源的HTTP服務(wù)器。

1??下載Tomacat

直接搜索Tomcat,也可以直接點(diǎn)擊這里的連接進(jìn)入官網(wǎng)https://tomcat.apache.org/,然后再Download下面點(diǎn)擊下載Tomcat 8。這個(gè)相比于其他的版本能夠更穩(wěn)定一點(diǎn),因?yàn)樵叫碌陌姹臼褂玫娜嗽缴?,其中出現(xiàn)問題的概率也就越高。相比于其他Tomcat 8使用的人更多。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

2??安裝Tomcat?

?點(diǎn)擊下載之后,下載到文件夾中的是一個(gè)壓縮文件,這個(gè)時(shí)候你只需要將這個(gè)壓縮文件進(jìn)行解壓縮并放到一個(gè)你可以找到的地方即可。這個(gè)時(shí)候Tomcat就安裝完成了。Tomcat屬于綠色軟件,不需要其他軟件的安裝過程,將其放在你電腦的本地硬盤中就可以使用。卸載的時(shí)候,只需要把這個(gè)文件夾刪除即可。但是要想讓Tomcat正常工作,必須要保證你的電腦上安裝好了JDK。因?yàn)門omcat是基于Java開發(fā)的。

?3??了解一下Tomcat的文件一些重要的目錄

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

??bin目錄中放的是Tomcat相關(guān)的批處理文件,.bat后綴的文件,表示的是Windows的批處理文件,.sh后綴的文件,表示是Linux/mac的shell腳本。以startup命名的文件不論是什么后綴,表示的就是Tomcat的啟動(dòng)程序。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

???logs目錄主要用來存儲(chǔ)Tomcat運(yùn)行的日志,Tomcat運(yùn)行的日志都在這里,如果程序出現(xiàn)問題,首先就需要通過這里的運(yùn)行日志來排查問題。

??webapps目錄存儲(chǔ)webapp。也就是我們經(jīng)常說的網(wǎng)站,網(wǎng)站就是前端+后端,這個(gè)目錄命名為webapps,表示一個(gè)Tomcat上可以同時(shí)部署多個(gè)網(wǎng)站。

4??啟動(dòng)Tomcat

進(jìn)入bin目錄,Windows系統(tǒng)的電腦直接雙擊startup.bat即可。當(dāng)出現(xiàn)下面的畫面表示Tomcat啟動(dòng)成功。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

?如果沒有出現(xiàn)這個(gè)畫面或者啟動(dòng)的時(shí)候一閃而過,這個(gè)時(shí)候就需要你把startup.bat這個(gè)文件拖到cmd中運(yùn)行,看報(bào)啥錯(cuò)。大概率是缺環(huán)境變量,缺啥變量配啥就行。

5??查看Tomcat的端口號(hào)是否被正確綁定。

打開Tomcat這個(gè)服務(wù)器之后,就需要查看一下Tomcat綁定的端口是否正常。Tomcat既然是一個(gè)服務(wù)器,肯定是要綁定一個(gè)端口號(hào)的,Tomcat默認(rèn)的端口號(hào)是8080。我們使用cmd輸入netstat -ano | findstr 8080.來查看8080端口的使用情況,其中netstat -ano這個(gè)命令用來查看你系統(tǒng)上所有的網(wǎng)絡(luò)端口號(hào)的使用情況,findstr 8080這是查看8080這個(gè)端口的使用情況。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?

我們通過進(jìn)程的id就可以在任務(wù)管理器中PID這一列中找到,這個(gè)運(yùn)行的程序(進(jìn)程)。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

可以看見他是一個(gè)Java的代碼。

6??通過瀏覽器輸入一個(gè)URL(網(wǎng)址)http://127.0.0.1:8080來訪問Tomcat的歡迎頁面,這是Tomcat自帶的一個(gè)webapp.

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?7??使用tomcat部署前端頁面。

將我們之前寫的博客系統(tǒng)的前端頁面部署到Tomcat上,也就將我們存放前端代碼的blog_system文件夾放到webapps目錄下即可,然后在bin目錄下找到startup.bat文件重新啟動(dòng)Tomcat,最后使用URL(http://127.0.0.1:8080/部署文件的某個(gè)頁面的相對(duì)webapps目錄的相對(duì)路徑)通過瀏覽器就可查看到我們部署到Tomcat上的頁面。

上面的URL相對(duì)來說有點(diǎn)抽象,同個(gè)這個(gè)例子來看,小編是將blog_system文件夾,放在了webapps目錄中,所以這個(gè)URL是http://127.0.0.1:8080/blog_system/blog_list.html。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?其實(shí)所謂的部署一個(gè)網(wǎng)站到tomcat上,就是把對(duì)應(yīng)的內(nèi)容拷貝到tomcat的webapps目錄中即可。

??但是看到這里,有的老鐵就會(huì)問,將這個(gè)頁面部署到Tomcat上和直接在本地文件中打開有什么區(qū)別,現(xiàn)實(shí)頁面效果都是相同。


??這里將頁面部署到Tomcat上,其他人就可以通過URL來對(duì)你的網(wǎng)頁進(jìn)行訪問。而你通過本地的文件打開就只能你自己訪問都這個(gè)頁面。

?雖然說通過將編寫的前端頁面部署到Tomcat上,可以讓其他的人訪問到,但是有一個(gè)前提就是要么讓想訪問的你頁面的電腦和你的電腦在同一個(gè)局域網(wǎng)中,要么你的電腦有一個(gè)外網(wǎng)IP,這是因?yàn)镹AT機(jī)制,在一個(gè)局域網(wǎng)中的電腦只有一個(gè)外網(wǎng)IP,處在局域網(wǎng)中的電腦沒有外網(wǎng)IP。

這就需要將這個(gè)前端頁面部署到安裝Tomcat的云服務(wù)器上,云服務(wù)器具有外網(wǎng)IP.


二、寫一個(gè)簡單的Servlet項(xiàng)目

將上面的了解之后,重點(diǎn)就是我們通過Tomcat進(jìn)行編程,我們要建立一個(gè)網(wǎng)站肯定要寫一個(gè)HTTP服務(wù)器,從頭開始寫一個(gè)HTTP服務(wù)器比較麻煩,但是Tomcat中已經(jīng)把根據(jù)HTTP協(xié)議解析請(qǐng)求報(bào)文,根據(jù)HTTP協(xié)議構(gòu)造響應(yīng)報(bào)文等等這些步驟都已經(jīng)完成封裝好了,并且Tomcat提供了一系列的API,可以讓我們?cè)诰幊痰臅r(shí)候直接調(diào)用,所以我們?cè)谕瓿蒆TTP服務(wù)器的時(shí)候,只需要關(guān)注具體的業(yè)務(wù)邏輯即可。Tomcat提供的這一組API就叫做Servlet。

創(chuàng)建并寫一個(gè)Servlet項(xiàng)目需要完成下面的步驟。

1、創(chuàng)建一個(gè)Maven項(xiàng)目

Maven是專門用于管理和構(gòu)建Java項(xiàng)目的"工程管理"工具,有規(guī)范的目錄結(jié)構(gòu)、管理依賴、構(gòu)建/編譯、打包、測(cè)試等功能。下面使用IDEA創(chuàng)建一個(gè)Maven項(xiàng)目。

先點(diǎn)擊新建項(xiàng)目—>選擇Maven—>點(diǎn)擊next

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?這個(gè)頁面點(diǎn)擊完成之后,就是選擇目錄,并創(chuàng)建一個(gè)目錄名。

但是第一次創(chuàng)建Maven項(xiàng)目的老鐵,可能會(huì)因?yàn)榫W(wǎng)絡(luò)的問題,創(chuàng)建好的頁面在控制臺(tái)上會(huì)報(bào)資源沒有下載好的問題。那么就更換一個(gè)網(wǎng)絡(luò)在重新試一下。

Maven項(xiàng)目創(chuàng)建好之后,出現(xiàn)的頁面就是下面的樣子

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?通過上面的圖片我們也可以看到,創(chuàng)建的Maven項(xiàng)目自動(dòng)生成了一組目錄,下面我們來了解一下,這些目錄的具體作用。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven


2、引入依賴?

由于Servlet是Tomcat提供的api,不是標(biāo)準(zhǔn)庫提供的,所以這里就需要額外下載安裝,我們下載Tomcat是在程序運(yùn)行的時(shí)候使用的,但是在開發(fā)階段還是需要我們從Maven中央倉庫下載一個(gè)Servlet的jar包,這里下載的Servlet的jar包需要和之前下載的Tomcat版本對(duì)應(yīng)上。我們下載的是Tomcat8,所以這里下載的因該是Java Servlet API的3.1.0版本??梢灾苯狱c(diǎn)擊這里的連接https://mvnrepository.com/,進(jìn)入Maven中央倉庫。

進(jìn)入之后,搜索servlet就可以看到下面的畫面。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?點(diǎn)擊進(jìn)入選擇3.1.0版本的jar包。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

這里我們點(diǎn)擊之后,出現(xiàn)下面的頁面,本來點(diǎn)擊jar,直接下載就行,但是我們用一個(gè)更簡單的方式,在下面的Maven中生成了一段代碼,我們只需要將其復(fù)制到我們的代碼中即可。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?在pom.xml頁面中添加一個(gè)<dependencies></dependencies>標(biāo)簽,將復(fù)制的代碼粘貼到這個(gè)標(biāo)簽中。IDEA就會(huì)自動(dòng)調(diào)用maven,從中央倉庫下載該jar包。有的老鐵首次使用,這里的下載會(huì)花費(fèi)一點(diǎn)時(shí)間,剛開始的時(shí)候會(huì)出現(xiàn)標(biāo)紅,下載完成之后,就正常了。當(dāng)代碼變白就是引入成功了。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

這個(gè)jar包下載好之后,是被保存在了本地的一個(gè)隱藏目錄中了?,當(dāng)看到了.m2這個(gè)目錄的時(shí)候,我們下載jar包就在這個(gè)目錄中。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

??當(dāng)我們下載完成之后,之后的使用就可以直接使用了。


3、創(chuàng)建目錄?

雖然Maven已經(jīng)幫我們自動(dòng)創(chuàng)建了一些目錄,但是還不夠,因?yàn)榇颂幬覀兪褂肕aven開發(fā)的是一個(gè)Web程序,還需要一些額外的目錄。

1??在main目錄下創(chuàng)建一個(gè)webapp目錄,與Javaresources目錄并列。點(diǎn)擊Directory創(chuàng)建目錄。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?2??在webapp目錄下,在創(chuàng)建一個(gè)WEB-INF目錄,在WEB-INF中在創(chuàng)建一個(gè)文件web.xml。創(chuàng)建文件夾使用Directory,創(chuàng)建文件使用File。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?這里的web.xml文件的作用就是,以web.xml為依據(jù)Tomcat從webapps目錄中加載webapp。這里的web.xml文件是給Tomcat看的,我們之前的pom.xml是給Maven看的,他們的用途是不一樣的。

3??給web.xml中寫入指定配置,需要注意的是,這里的代碼中可能會(huì)出現(xiàn)第三行代碼爆紅的問題,這是因?yàn)镮DEA只是針對(duì)Java代碼的識(shí)別非常準(zhǔn)確,但是對(duì)于其他文件的識(shí)別并不準(zhǔn)確,這里的爆紅并不代表是錯(cuò)的。

<!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>

??4、編寫Servlet代碼。

1??在main目錄下的Java目錄中創(chuàng)建一個(gè)HelloServlet類,繼承HttpServlet類(這個(gè)類就是我們?cè)谥醒雮}庫下載的Servlet API的jar包中提供的)

2??重寫父類的doGet方法,在代碼執(zhí)行的時(shí)候,因?yàn)槎鄳B(tài)的原因,執(zhí)行的就是子類的doGet方法。作用就是根據(jù)請(qǐng)求,計(jì)算生成的響應(yīng)。這里doGet方法中存在兩個(gè)參數(shù)HttpServletRequest req(HTTP請(qǐng)求)和?HttpServletResponse resp(HTTP響應(yīng))。

??重寫的doGet方法中的參數(shù)解析。

req代表的就是HTTP請(qǐng)求??蛻舳税l(fā)送的HTTP請(qǐng)求被Tomcat收到之后,把這個(gè)請(qǐng)求按照HTTP協(xié)議的格式解析成HTTP servlet req對(duì)象,這個(gè)對(duì)象中的屬性就是HTTP中的信息。最后將解析好的HTTP請(qǐng)求傳給doGet方法用來計(jì)算響應(yīng)。

resp代表的是HTTP響應(yīng),resp是一個(gè)輸出型參數(shù)。這個(gè)響應(yīng)是一個(gè)空的對(duì)象,需要我們?cè)赿oGet中,設(shè)置響應(yīng)的一些數(shù)據(jù)(比如響應(yīng)的body、header和狀態(tài)碼等),只要把屬性設(shè)置到這個(gè)resp對(duì)象中,Tomcat就會(huì)自動(dòng)根據(jù)HTTP servlet響應(yīng)對(duì)象,構(gòu)造一個(gè)HTTP響應(yīng)的字符串,通過socket返回給客戶端。

3??在doGet方法中寫入業(yè)務(wù)邏輯代碼,構(gòu)造resp.

4??加上注解(WebServlet)注解表示路徑,這個(gè)注解的作用是包當(dāng)前的類和一個(gè)HTTP請(qǐng)求的路徑關(guān)聯(lián)起來,不同的路徑關(guān)聯(lián)的是不同類,可以觸發(fā)不同的代碼(注解是Java中的特殊的類,Java專門定義了一種類來實(shí)現(xiàn)注解,作用是針對(duì)一個(gè)類/方法,進(jìn)行額外解釋說明,賦予額外的含義)。

import javax.jws.WebService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //在這個(gè)服務(wù)器的控制臺(tái)中,打印了字符串(服務(wù)器看到了,客戶端看不到)。
        System.out.println("hello world");
        //這里是給resp的body中寫入hello world 字符串,這個(gè)內(nèi)容就會(huì)被http響應(yīng)返回給瀏覽器,顯示到瀏覽器頁面上。
        resp.getWriter().write("hello world");
    }
}

這里的resp.getWriter()會(huì)得到一個(gè)write對(duì)象,這里的write對(duì)象是resp對(duì)象內(nèi)部持有的,并且這個(gè)write對(duì)象是一個(gè)字符流對(duì)象。所以這里我們可以使用字符流輸入方法write(),向這個(gè)write對(duì)象中寫入數(shù)據(jù)。這里寫入的數(shù)據(jù)放到了HTTP響應(yīng)的body中。

這里需要注意的就是,在重寫doGet方法時(shí),doGet方法中會(huì)調(diào)用父類的doGet方法,這個(gè)方法會(huì)被默認(rèn)執(zhí)行,這里需要把這個(gè)super.doGet(req,resp)刪除掉,因?yàn)檎{(diào)用的這個(gè)方法并沒有處理業(yè)務(wù)邏輯,而是直接報(bào)出錯(cuò)誤(405和400)。想要執(zhí)行我們寫的業(yè)務(wù)邏輯就需要將這句代碼刪除掉。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven


5、打包程序

將servlet代碼編寫完成之后,不能直接在IDEA獨(dú)立上運(yùn)行,需要將我們的寫的代碼打包,放到Tomcat上運(yùn)行。

我們平時(shí)見到的壓縮包是rar或者zip,但是在Java中,使用的壓縮包是jarwar。我們將一個(gè)普通的Java程序可以打包成jar,但是部署到Tomcat上的程序需要打包成war包。war包和jar包在本質(zhì)上沒啥區(qū)別,都是把一堆 .class 文件打包進(jìn)去,但是war包是屬于Tomcat的專屬格式,里面會(huì)有一些特定的目錄結(jié)構(gòu)和文件,比如web.xml。后續(xù)Tomcat就要識(shí)別這些內(nèi)容,來加載webapp.

?編譯器打包的過程中,會(huì)做的事情

  1. 檢查代碼中是否存在一些依賴,依賴是否下載好了,如果沒有下載好,這個(gè)時(shí)候會(huì)嘗試下載。
  2. 把代碼進(jìn)行編譯,生成一堆 .class文件
  3. 把這些.class文件,以及web.xml按照一定的格式進(jìn)行打包。

根據(jù)下圖的步驟,就可以完成一個(gè)打包的流程,但是看到這里打好的包是一個(gè)jar包,并不是上面說的war包,這是因?yàn)镸evan默認(rèn)的打包格式就是jar。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?想要打包是war格式,就需要調(diào)整pom.xml,描述打包生成的包格式。點(diǎn)擊打開pom.xml文件,在project頂級(jí)標(biāo)簽的下方,寫一個(gè)packaging標(biāo)簽,描述打包的類型是war。我們也可以在這里指定一下打好包的名字 ,使用 build標(biāo)簽,并在這個(gè)標(biāo)簽內(nèi)部使用finalName標(biāo)簽描述一個(gè)包的名字。這里將這個(gè)包的名字設(shè)置為hello_servlet。

   //設(shè)置打包的格式為war
    <packaging>war</packaging>
    //設(shè)置打好包的名字
    <build>
        <finalName>hello_servlet</finalName>
    </build>

?可以看見根據(jù)我們的設(shè)置,打好的包為war包,并且包名也是我們?cè)O(shè)置的

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven


6、將程序部署到Tomcat上

可以在IDEA上單擊右鍵找到open in然后點(diǎn)擊Explorer,自動(dòng)在文件夾中找到打好的包,也可以在項(xiàng)目所在目錄中找到war包,然后將這個(gè)包復(fù)制到Tomcatwebapps目錄上,然后重新啟動(dòng)Tomcat就完成了部署。這里war包是一個(gè)壓縮文件,但是放在這里之后,并不需要我們對(duì)其解壓縮,Tomcat可以自動(dòng)的解壓縮。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?運(yùn)行Tomcat之后,自動(dòng)解壓縮。【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven


7、驗(yàn)證程序運(yùn)行結(jié)果

這里我們完成部署之后,并不是重新啟動(dòng),我們寫的doGet方法就可以執(zhí)行,這個(gè)doGet方法是在遇到Get請(qǐng)求之后,才會(huì)執(zhí)行該方法。換句話說doGet方法,是用來處理HTTP GET請(qǐng)求的。當(dāng)然,也不是隨便遇到一個(gè)GET請(qǐng)求,就會(huì)執(zhí)行doGet方法,必須是請(qǐng)求的URL路徑要匹配。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?這就和我們寫的代碼對(duì)應(yīng)上了。

當(dāng)然有doGet方法就會(huì)有doPost方法、doPut方法,這些方法都是處理相應(yīng)的請(qǐng)求的。

?要注意我們?cè)跒g覽器上訪問服務(wù)器時(shí),有兩級(jí)目錄。

  1. 第一級(jí)路徑為hello_servlet,是Tomcatwebapps目錄中的文件,這一級(jí)目錄也被稱為Context Path/Application Path,標(biāo)識(shí)了一個(gè)webapp,也就是這個(gè)war包名。
  2. 第二級(jí)路徑為hello,這一級(jí)路徑被稱為Servlet Path,標(biāo)識(shí)當(dāng)前請(qǐng)求要調(diào)用那個(gè)Servlet類的doGet方法。這里的第二級(jí)路徑是根據(jù)代碼中的WebServlet注解來寫的。

?三、在IDEA上安裝Smart Tomcat插件

上面介紹的創(chuàng)建一個(gè)Mevan項(xiàng)目,需要完成的七步操作,第5步和第6步可以進(jìn)行簡化,因?yàn)槊看涡聞?chuàng)建一個(gè)Mevan項(xiàng)目或者修改之前項(xiàng)目中的代碼,就需要重新打包和部署,這個(gè)過程就有點(diǎn)麻煩,所以我們可以在IDEA上裝Smart Tomcat插件就可以簡化這個(gè)兩個(gè)步驟。

1??點(diǎn)擊File,找到設(shè)置settings選項(xiàng)。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

2?? 選中插件Plugins選項(xiàng),選中Marketplace之后,在搜索欄中輸入Tomcat,點(diǎn)擊下載即可。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?3??首次使用需要在IDEA中進(jìn)行配置,點(diǎn)擊右上角的Add Configuration。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

4??點(diǎn)擊+號(hào),然后找到Smart Tomcat選項(xiàng)點(diǎn)擊。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?5??可以Name中修改名字,需要在Tomcat server中修改路徑。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

配置好了之后,就可以點(diǎn)擊這個(gè)三角來運(yùn)行我們的代碼。?

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

這個(gè)時(shí)候Tomcat的日志,就會(huì)在IDEA中顯示了,不會(huì)在單獨(dú)彈出cmd,之前運(yùn)行出現(xiàn)的亂碼,也就不會(huì)出現(xiàn)了。

選要注意的是,使用Smart Tomcat的運(yùn)行方式和之前的將war包拷貝到Tomcat的webapps中,是存在本質(zhì)區(qū)別的,Smart Tomcat使用的運(yùn)行方式是在運(yùn)行Tomcat的時(shí)候,通過特定的參數(shù),來指定Tomcat加載該項(xiàng)目中main目錄中的webapp目錄。就是讓Tomcat加載單個(gè)webapp運(yùn)行,因此這個(gè)過程,既沒有打包也沒有拷貝。


四、Servlet中的一些常見錯(cuò)誤

1??常見錯(cuò)誤1:404 — 表示瀏覽器訪問的資源,在瀏覽器上不存在。

  1. 請(qǐng)求的路徑寫錯(cuò)了
  2. 路徑寫對(duì)了,但是war包沒有被正確加載

第一種情況,就是你的URL寫錯(cuò)了?,需要檢查你的URL,Context path是啥,Servlet Path是啥。

  1. 如果你使用將jar包拷貝到Tomcat的webapps目錄中的方式,那么你的Context path就是你在pom.xml中設(shè)置的包名,Servlet Path就是你在代碼中寫道的WebServlet注解,注解中的參數(shù)就是Servlet Path.
  2. 如果你使用Smart Tomcat方式,那么Context Path就是你在配置Smart Tomcat時(shí)設(shè)置的,Servlet Path就是代碼注解中的參數(shù)。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven?第二種情況,有可能是web.xml中寫錯(cuò)了,就會(huì)導(dǎo)致war包不能被正確加載;也有可能有兩個(gè)Servlet的Servlet Path相同,會(huì)導(dǎo)致不能正確加載。

?2??常見錯(cuò)誤2:405?

第一種情況:發(fā)送的請(qǐng)求的HTTP方法與代碼中的不匹配,也就是說代碼中沒有實(shí)現(xiàn)相應(yīng)的處理這個(gè)請(qǐng)求的方法。例如代碼中寫了一個(gè)doPost方法,但是你發(fā)送的請(qǐng)求是一個(gè)GET請(qǐng)求。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

?第二種情況:雖然代碼中的方法和瀏覽器請(qǐng)求的HTTP方法對(duì)應(yīng),但是在寫代碼的時(shí)候沒有將doxxx方法中的super.doxxx方法刪除掉。就會(huì)出現(xiàn)405.

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

??3??常見錯(cuò)誤3:500 — 表示服務(wù)器代碼拋出了異常,需要仔細(xì)觀察異常調(diào)用棧

先在代碼中構(gòu)造一個(gè)異常。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven

4??常見錯(cuò)誤4:出現(xiàn)空白頁面?

將代碼中的resp.getWriter().write("hello world"),這就代碼刪除掉,就會(huì)出現(xiàn)這個(gè)問題。這句代碼的意思是向resp對(duì)象的write對(duì)象中寫入響應(yīng)的結(jié)果,最終將write中的內(nèi)容會(huì)放在HTTP響應(yīng)的body中。將其刪掉就是這個(gè)響應(yīng)中沒有body,所以頁面就是空白的。

5??常見錯(cuò)誤5:無法訪問此網(wǎng)站。

將Tomcat關(guān)閉之后,就會(huì)出現(xiàn)頁面無法訪問的情況。

【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序,JavaEE,java-ee,tomcat,maven文章來源地址http://www.zghlxwxcb.cn/news/detail-583122.html

到了這里,關(guān)于【JavaEE】Tomcat的安裝和使用、創(chuàng)建Mevan項(xiàng)目使用Servlet寫一個(gè)程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳細(xì)地講解使用MyEclipse創(chuàng)建一個(gè)簡單的html與servlet交互的JavaWeb項(xiàng)目

    詳細(xì)地講解使用MyEclipse創(chuàng)建一個(gè)簡單的html與servlet交互的JavaWeb項(xiàng)目

    如圖:在用戶名和密碼輸入內(nèi)容后,點(diǎn)擊登錄跳轉(zhuǎn)到下一個(gè)頁面 這個(gè)圖片里面的驗(yàn)證碼、下拉框什么的可以忽略,我們只做用戶名和密碼,因?yàn)椴簧婕斑B接到數(shù)據(jù)庫,我們的密碼是隨便輸入的。 下面我們來開始創(chuàng)建項(xiàng)目 打開MyEclipse,點(diǎn)擊左上角的File,選擇new,再選擇Web P

    2024年02月06日
    瀏覽(25)
  • 一個(gè)簡單的前后端交互——登錄注冊(cè)頁面(升級(jí)版)idea代碼篇(2:Maven:Javaweb項(xiàng)目)使用MyBatis:Mapper,servlet+Tomcat

    一個(gè)簡單的前后端交互——登錄注冊(cè)頁面(升級(jí)版)idea代碼篇(2:Maven:Javaweb項(xiàng)目)使用MyBatis:Mapper,servlet+Tomcat

    前言:本篇前后端交互實(shí)現(xiàn)代碼 。詳細(xì)項(xiàng)目搭建見上篇 先貼一張登錄界面和包結(jié)構(gòu): ? 1.Mapper 2.pojo 3.util 4.web 5.Login.html 6.CSS 我的企業(yè)版過期了,不能演示跳轉(zhuǎn)頁面了。但測(cè)過沒問題。

    2024年02月11日
    瀏覽(26)
  • [JAVAee]Tomcat - Servlet

    [JAVAee]Tomcat - Servlet

    目錄 Tomcat Servlet的工作 創(chuàng)建Servlet ①項(xiàng)目 ②依賴? ③目錄? ④代碼 ⑤打包 ⑥部署 ⑦驗(yàn)證 Servlet的運(yùn)行原理 Servlet API HttpServlet 方法 處理Get/POST請(qǐng)求? HttpServletRequest 方法 獲取請(qǐng)求中的信息? 獲取GET請(qǐng)求中的參數(shù) 獲取POST請(qǐng)求中的參數(shù) FORM表格形式 JSON形式 方法一: 方法二: Http

    2024年02月12日
    瀏覽(48)
  • 創(chuàng)建一個(gè)簡單的 Servlet 項(xiàng)目

    創(chuàng)建一個(gè)簡單的 Servlet 項(xiàng)目

    目錄 1.首先創(chuàng)建一個(gè) Maven 項(xiàng)目 2.配置 maven 倉庫地址 3.添加引用 4.配置路由文件 web.xml 5.編寫簡單的代碼 6.配置 Tomcat 7.寫入名稱,點(diǎn)擊確定即可 8.訪問 1.首先創(chuàng)建一個(gè) Maven 項(xiàng)目 2.配置 maven 倉庫地址 3.添加引用 https://mvnrepository.com/ 中央倉庫地址 搜索 Servlet 添加框架引用到 pom.

    2024年02月15日
    瀏覽(28)
  • 如何利用Idea創(chuàng)建一個(gè)Servlet項(xiàng)目(新手向)

    如何利用Idea創(chuàng)建一個(gè)Servlet項(xiàng)目(新手向)

    ??\\\"Echo\\\"?? 作者:Mylvzi 文章主要內(nèi)容:如何利用Idea創(chuàng)建一個(gè)Servlet項(xiàng)目(新手向) Servlet是tomcat的api,利用Servlet進(jìn)行webapp開發(fā)很方便,本文將介紹如何通過Idea創(chuàng)建一個(gè)Servlet項(xiàng)目(一共分為七步,這可能是我們寫過的最復(fù)雜的 hello world) 在項(xiàng)目創(chuàng)建的過程中,我們將使用maven進(jìn)行代碼的編

    2024年02月19日
    瀏覽(15)
  • IDEA創(chuàng)建Servlet(Web)項(xiàng)目完整教程-2023,并配置tomcat的端口號(hào),以及默認(rèn)打開的瀏覽器

    IDEA創(chuàng)建Servlet(Web)項(xiàng)目完整教程-2023,并配置tomcat的端口號(hào),以及默認(rèn)打開的瀏覽器

    今天,粉絲問我一個(gè)問題,如下圖所示: 他是 jsp + servlet 項(xiàng)目,但啟動(dòng)后,無論如何都無法訪問,于是向我咨詢?nèi)绾谓鉀Q該問題。 我解決了一系列的問題后,也無法啟動(dòng)他的項(xiàng)目,于是自己創(chuàng)建一個(gè)簡單的 servlet 項(xiàng)目。 通過簡單的 servlet 項(xiàng)目,解決了他的問題。 如下,是我

    2024年02月08日
    瀏覽(24)
  • Tomcat和Servlet基礎(chǔ)知識(shí)的講解(JavaEE初階系列16)

    Tomcat和Servlet基礎(chǔ)知識(shí)的講解(JavaEE初階系列16)

    目錄 前言: 1.Tomcat 1.1Tomcat是什么 1.2下載安裝 2.Servlet 2.1什么是Servlet 2.2使用Servlet來編寫一個(gè)“hello?world” 1.2.1創(chuàng)建項(xiàng)目(Maven) 1.2.2引入依賴(Servlet) 1.2.3創(chuàng)建目錄(webapp) 1.2.4編寫代碼(HelloServlet) 1.2.5打包(war) 1.2.6部署(拷貝war到webapps目錄中) 1.2.7驗(yàn)證(瀏覽器發(fā)一

    2024年02月11日
    瀏覽(45)
  • Tomcat的介紹和安裝配置、eclipse中動(dòng)態(tài)web項(xiàng)目的創(chuàng)建和運(yùn)行、使用IDEA創(chuàng)建web項(xiàng)目并運(yùn)行

    Tomcat的介紹和安裝配置、eclipse中動(dòng)態(tài)web項(xiàng)目的創(chuàng)建和運(yùn)行、使用IDEA創(chuàng)建web項(xiàng)目并運(yùn)行

    一、Tomcat的介紹和安裝配置 安裝tomcat: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 環(huán)境變量的配置: 配置之后重啟cmd,執(zhí)行startup命令,啟動(dòng)tomcat 在localhost:8080,能進(jìn)入tomcat主界面,說明配置成功 二、eclipse中動(dòng)態(tài)web項(xiàng)目的創(chuàng)建和運(yùn)行 tomcat可以在面板上配,可以去windows中pr

    2024年02月14日
    瀏覽(41)
  • Tomcat的安裝與使用,Maven與Servlet的使用

    Tomcat的安裝與使用,Maven與Servlet的使用

    Tomcat是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目, 由Apache, Sun和其他一些公司及個(gè)人共同開發(fā)而成, 由于有了Sun的參與和支持, 最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn), Tomcat5支持最新的Servlet 2.4和JSP 2.0規(guī)范. 因?yàn)門omcat技術(shù)先進(jìn), 性能穩(wěn)定, 而且免

    2024年02月08日
    瀏覽(22)
  • Tomcat的安裝與Maven依賴Servlet的使用

    Tomcat的安裝與Maven依賴Servlet的使用

    Tomcat 是一個(gè) HTTP 服務(wù)器. 前面我們已經(jīng)學(xué)習(xí)了 HTTP 協(xié)議, 知道了 HTTP 協(xié)議就是 HTTP 客戶端和 HTTP 服務(wù)器之間的交互數(shù)據(jù)的格式. 同時(shí)也通過 ajax 和 Java Socket 分別構(gòu)造了 HTTP 客戶端. HTTP 服務(wù)器我們也同樣可以通過 Java Socket 來實(shí)現(xiàn). 而 Tomcat 就是基于 Java 實(shí)現(xiàn)的一個(gè)開源免費(fèi),也是

    2024年02月06日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包