亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA?ServLet創(chuàng)建一個(gè)項(xiàng)目的基本步驟

 更新時(shí)間:2024年03月22日 10:56:52   作者:lzb_kkk  
Servlet是Server Applet的簡(jiǎn)稱,是運(yùn)行在服務(wù)器上的小程序,用于編寫Java的服務(wù)器端程序,它的主要作用是接收并響應(yīng)來(lái)自Web客戶端的請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于JAVA?ServLet創(chuàng)建一個(gè)項(xiàng)目的基本步驟,需要的朋友可以參考下

背景

Tomcat不僅支持靜態(tài)頁(yè)面,還可以支持動(dòng)態(tài)頁(yè)面;提供了一組api,封裝了HTTP協(xié)議,可以讓程序員去編寫動(dòng)態(tài)頁(yè)面。

Servlet是一個(gè)比較古老的編寫網(wǎng)站的方式了,2010之前,Java編寫網(wǎng)站,主要使用Servlet的方式,后來(lái)Java出了Spring,對(duì)Servlet進(jìn)一步封裝(Spring是基于Servlet來(lái)實(shí)現(xiàn)的)。

Servlet主要的工作

就是讓程序員自己寫一些類,然后把這些類給加載到Tomcat中,后續(xù)Tomccat受到HTTP請(qǐng)求(來(lái)自瀏覽器),就會(huì)執(zhí)行到咱們上面寫的代碼,從而通過(guò)這些代碼完成一定的業(yè)務(wù)邏輯。

創(chuàng)建一個(gè)項(xiàng)目的基本步驟 

1.創(chuàng)建項(xiàng)目

此處創(chuàng)建的是一種新的項(xiàng)目的形式,稱為Maven項(xiàng)目(Maven是Java世界中的一個(gè)知名構(gòu)建工具,幫助編譯/打包代碼的工具)

PS:下圖為新版的Maven項(xiàng)目創(chuàng)建方式,舊版的IDEA界面會(huì)有所不同

maven項(xiàng)目首次創(chuàng)建的時(shí)候,會(huì)自動(dòng)從maven的網(wǎng)站上下載一些依賴的組件,這個(gè)過(guò)程如果你的網(wǎng)絡(luò)不穩(wěn)定,就可能會(huì)出錯(cuò),影響后續(xù)對(duì)maven的使用。所以我們盡可能保證首次使用的時(shí)候,網(wǎng)絡(luò)是暢通的。

隨后可以看到默認(rèn)生成一系列目錄結(jié)構(gòu),main目錄為業(yè)務(wù)代碼,test目錄為測(cè)試代碼

2.引入依賴

接下來(lái)要寫的程序,會(huì)使用Servlet,Servlet這個(gè)api是tomcat提供的,不是jdk提供的,屬于第三方庫(kù),需要手動(dòng)安裝引入(與mysql類似)

但是手動(dòng)下載導(dǎo)入比較麻煩,實(shí)際應(yīng)用中涉及到的項(xiàng)目,可能依賴的內(nèi)容非常多,手動(dòng)管理就非常麻煩了。因此我們使用maven就可以非常方便的解決上述問(wèn)題

1)打開maven中央倉(cāng)庫(kù),找到需要的servlet的jar包

這邊我們下載3.1.0版本的, 因?yàn)?.1.0版本是和tomcat 8 匹配的版本,servlet與tomcat的版本一定要匹配。如下是版本匹配對(duì)應(yīng)的:

2)借助maven,自動(dòng)下載上述依賴

復(fù)制這里的maven代碼片段

進(jìn)入項(xiàng)目的pom.xml 新建一個(gè)<dependencies>標(biāo)簽

 復(fù)制進(jìn)來(lái)后,一般會(huì)自動(dòng)下載,如果沒有點(diǎn)一下如下的刷新按鈕

如上,jar包會(huì)被下載到maven本地倉(cāng)庫(kù)

3.創(chuàng)建目錄

maven 項(xiàng)目是普適的,不僅僅局限于Tomcat

而Tomcat來(lái)說(shuō),對(duì)于項(xiàng)目的目錄結(jié)構(gòu),還有一些額外的要求。

如下是tomcat要求的目錄結(jié)構(gòu),注意大小寫!

web.xml里的內(nèi)容不能空著,但是這里咋寫,也不必背誦,只需要找一個(gè)模板,如下即可

<!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.編寫代碼

在java目錄中,創(chuàng)建類.

doGet的意思是處理HTTP請(qǐng)求,當(dāng)tomcat收到一個(gè)GET請(qǐng)求的時(shí)候,就有可能執(zhí)行這個(gè)子類的方法;HttpServletRequest req(HTTP請(qǐng)求), HttpServletResponse resp(HTTP響應(yīng))

讓下面這個(gè)類和一個(gè)HTTP請(qǐng)求路徑關(guān)聯(lián)起來(lái)

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è)打印是顯示在tomcat的控制臺(tái)上(服務(wù)器端)
        System.out.println("hello world");
        //把內(nèi)容顯示到頁(yè)面上,把“hello world”字符串作為http響應(yīng)body的部分
        //這個(gè)部分就會(huì)被瀏覽器顯示到頁(yè)面上
        resp.getWriter().write("hello world");
    }
}

Tomcat不是收到所有的get請(qǐng)求都調(diào)用這個(gè)doGet方法,而是同時(shí)判斷

  • 請(qǐng)求方法是get
  • 請(qǐng)求的url中的路徑是 /hello

5.打包程序

打包程序,把咱們寫好的代碼打包成 war 包。(Tomcat需要有一個(gè)war包在上面)

maven就可以完成這個(gè)打包操作。步驟如下:

1)修改pom.xml,設(shè)置打包的類型和包名字,添加如下代碼:

//默認(rèn)情況下,打包的類型是jar包,這里tomcat的要求是war包
<packaging>war</packaging>
//設(shè)置包名字
<build>
    <finalName>hellojava</finalName>
</build>

2)在右側(cè)maven面板中,雙擊package這個(gè)按鈕 ,即可完成打包

出現(xiàn)如下字樣,表示打包成功了。

 如果打包出現(xiàn)錯(cuò)誤,可根據(jù)控制臺(tái)的提示信息,進(jìn)行修改。

一般有以下兩種情況:

  • 打包操作,依賴了一些第三方的jar包,maven就會(huì)自動(dòng)下載,如果下載過(guò)程中,網(wǎng)絡(luò)不太順暢,就容易出錯(cuò)
  • 代碼里有問(wèn)題(配置文件 ,pom.xml)

打包完成后,會(huì)新增一個(gè)target目錄,包含一些臨時(shí)文件

6.部署程序

把war包拷貝到webapps目錄中即可,這里webapps目錄在當(dāng)初安裝Tomcat目錄下

選擇新增的target目錄下的war包

選擇target目錄下的war包,將它復(fù)制到wepapps目錄下

接下來(lái),啟動(dòng)tomcat即可。

7.驗(yàn)證程序

通過(guò)瀏覽器,訪問(wèn)tomcat,獲取到咱們代碼返回的hello world

總結(jié) 

到此這篇關(guān)于JAVA ServLet創(chuàng)建一個(gè)項(xiàng)目的基本步驟的文章就介紹到這了,更多相關(guān)ServLet創(chuàng)建項(xiàng)目步驟內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解SpringBoot2 使用Spring Session集群

    詳解SpringBoot2 使用Spring Session集群

    這篇文章主要介紹了SpringBoot2 使用Spring Session集群,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • 淺析JAVA中toString方法的作用

    淺析JAVA中toString方法的作用

    以下是對(duì)在JAVA中toString方法的作用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • Java程序順序結(jié)構(gòu)中邏輯控制語(yǔ)句詳解流程

    Java程序順序結(jié)構(gòu)中邏輯控制語(yǔ)句詳解流程

    在程序開發(fā)的過(guò)程之中一共會(huì)存在有三種程序邏輯:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),對(duì)于之前所編寫的代碼大部分都是順序結(jié)構(gòu)的定義,即:所有的程序?qū)凑斩x的代碼順序依次執(zhí)行
    2021-10-10
  • springboot配置https訪問(wèn)的方法

    springboot配置https訪問(wèn)的方法

    這篇文章主要介紹了springboot配置https訪問(wèn)的方法,需要的朋友可以參考下
    2018-11-11
  • Spring中實(shí)現(xiàn)的三種異步流式接口方法

    Spring中實(shí)現(xiàn)的三種異步流式接口方法

    在現(xiàn)代Web開發(fā)中,接口超時(shí)是一個(gè)常見的問(wèn)題,尤其是在處理耗時(shí)操作時(shí),傳統(tǒng)的同步接口在處理長(zhǎng)時(shí)間任務(wù)時(shí)會(huì)阻塞請(qǐng)求線程,從而影響系統(tǒng)的響應(yīng)能力,本文將詳細(xì)講解Spring中實(shí)現(xiàn)的三種異步流式接口方法,需要的朋友可以參考下
    2024-10-10
  • java之TreeUtils生成一切對(duì)象樹形結(jié)構(gòu)案例

    java之TreeUtils生成一切對(duì)象樹形結(jié)構(gòu)案例

    這篇文章主要介紹了java之TreeUtils生成一切對(duì)象樹形結(jié)構(gòu)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Java基礎(chǔ)之?dāng)?shù)組詳解

    Java基礎(chǔ)之?dāng)?shù)組詳解

    這篇文章主要介紹了Java基礎(chǔ)之?dāng)?shù)組詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用

    Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用

    以下是對(duì)Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • Java多線程中的ThreadPoolExecutor使用解析

    Java多線程中的ThreadPoolExecutor使用解析

    這篇文章主要介紹了Java多線程中的ThreadPoolExecutor使用解析,作為線程池的緩沖,當(dāng)新增線程超過(guò)maximumPoolSize時(shí),會(huì)將新增線程暫時(shí)存放到該隊(duì)列中,需要的朋友可以參考下
    2023-12-12
  • RabbitMQ基礎(chǔ)概念之信道channel詳解

    RabbitMQ基礎(chǔ)概念之信道channel詳解

    這篇文章主要介紹了RabbitMQ基礎(chǔ)概念之信道channel詳解,信道是生產(chǎn)消費(fèi)者與rabbit通信的渠道,生產(chǎn)者publish或者消費(fèi)者消費(fèi)一個(gè)隊(duì)列都是需要通過(guò)信道來(lái)通信的,需要的朋友可以參考下
    2023-08-08

最新評(píng)論