最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

背景

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

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

Servlet主要的工作

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

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

1.創(chuàng)建項目

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

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

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

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

2.引入依賴

接下來要寫的程序,會使用Servlet,Servlet這個api是tomcat提供的,不是jdk提供的,屬于第三方庫,需要手動安裝引入(與mysql類似)

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

1)打開maven中央倉庫,找到需要的servlet的jar包

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

2)借助maven,自動下載上述依賴

復制這里的maven代碼片段

進入項目的pom.xml 新建一個<dependencies>標簽

 復制進來后,一般會自動下載,如果沒有點一下如下的刷新按鈕

如上,jar包會被下載到maven本地倉庫

3.創(chuàng)建目錄

maven 項目是普適的,不僅僅局限于Tomcat

而Tomcat來說,對于項目的目錄結(jié)構(gòu),還有一些額外的要求。

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

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

<!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請求,當tomcat收到一個GET請求的時候,就有可能執(zhí)行這個子類的方法;HttpServletRequest req(HTTP請求), HttpServletResponse resp(HTTP響應(yīng))

讓下面這個類和一個HTTP請求路徑關(guān)聯(lián)起來

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

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

  • 請求方法是get
  • 請求的url中的路徑是 /hello

5.打包程序

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

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

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

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

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

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

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

一般有以下兩種情況:

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

打包完成后,會新增一個target目錄,包含一些臨時文件

6.部署程序

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

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

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

接下來,啟動tomcat即可。

7.驗證程序

通過瀏覽器,訪問tomcat,獲取到咱們代碼返回的hello world

總結(jié) 

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

相關(guān)文章

  • java SpringMVC學習使用詳解

    java SpringMVC學習使用詳解

    本篇文章主要介紹了java SpringMVC——如何獲取請求參數(shù)詳解,詳細的介紹了每種參數(shù)注解的用法及其實例。感興趣的小伙伴們可以參考一下
    2017-04-04
  • 詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù)

    詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù)

    本篇文章主要介紹了詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • HotSpot的Java對象模型之Oop-Klass模型詳解

    HotSpot的Java對象模型之Oop-Klass模型詳解

    這篇文章主要介紹了HotSpot的Java對象模型之Oop-Klass模型詳解,在JVM層面,不僅Java類是對象,Java 方法也是對象, 字節(jié)碼常量池也是對象,一切皆是對象,JVM使用不同的oop-klass模型來表示各種不同的對象,需要的朋友可以參考下
    2023-08-08
  • java使用EasyExcel導出上萬數(shù)據(jù)如何避免OOM

    java使用EasyExcel導出上萬數(shù)據(jù)如何避免OOM

    本文主要介紹了使用EasyExcel導出大量數(shù)據(jù)時避免OOM問題的方法,通過分頁查詢和分批次寫入Excel,可以有效避免內(nèi)存溢出,并提供了一個封裝好的工具類,簡化了導出代碼的編寫
    2024-11-11
  • MyBatis-Plus allEq()的用法詳解

    MyBatis-Plus allEq()的用法詳解

    這篇文章主要介紹了MyBatis-Plus allEq()的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • SpringBoot整合Druid實現(xiàn)SQL監(jiān)控和數(shù)據(jù)庫密碼加密

    SpringBoot整合Druid實現(xiàn)SQL監(jiān)控和數(shù)據(jù)庫密碼加密

    Druid連接池是阿里巴巴開源的數(shù)據(jù)庫連接池項目,Druid連接池為監(jiān)控而生,內(nèi)置強大的監(jiān)控功能,監(jiān)控特性不影響性能,本文給大家介紹了SpringBoot整合Druid實現(xiàn)SQL監(jiān)控和數(shù)據(jù)庫密碼加密,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • maven打包成第三方j(luò)ar包且把pom依賴包打入進來的方法

    maven打包成第三方j(luò)ar包且把pom依賴包打入進來的方法

    這篇文章主要介紹了maven打包成第三方j(luò)ar包且把pom依賴包打入進來的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • IDEA在plugins里搜不到mybatisx插件的解決方法

    IDEA在plugins里搜不到mybatisx插件的解決方法

    本文主要介紹了IDEA在plugins里搜不到mybatisx插件的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • java.lang.UnsupportedOperationException的問題解決

    java.lang.UnsupportedOperationException的問題解決

    本文主要介紹了java.lang.UnsupportedOperationException的問題解決,該錯誤表示調(diào)用的方法不被支持或不可用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Java操作SSH2實現(xiàn)遠程執(zhí)行l(wèi)inux命令

    Java操作SSH2實現(xiàn)遠程執(zhí)行l(wèi)inux命令

    這篇文章主要為大家詳細介紹了Java如何操作SSH2實現(xiàn)遠程執(zhí)行l(wèi)inux命令,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01

最新評論

泾源县| 抚州市| 郯城县| 临泽县| 甘南县| 秦皇岛市| 莎车县| 富宁县| 陆丰市| 芜湖县| 长汀县| 宁都县| 自贡市| 德惠市| 芦山县| 彭泽县| 禄丰县| 黎城县| 古丈县| 阿尔山市| 木里| 苏尼特右旗| 龙南县| 措勤县| 佛冈县| 九寨沟县| 芦溪县| 应城市| 皮山县| 松桃| 浑源县| 山阴县| 昌黎县| 芦溪县| 安平县| 凉城县| 新和县| 塘沽区| 海门市| 凉山| 荔浦县|