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

IDEA創(chuàng)建Servlet程序的兩種實現(xiàn)方法

 更新時間:2023年10月10日 11:18:07   作者:Rainbow_Qi  
Servlet是JavaWeb應(yīng)用程序中不可或缺的組件之一,本文主要介紹了IDEA創(chuàng)建Servlet程序的兩種實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下

1 Servlet 是什么?

Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。

2 部署Tomcat并創(chuàng)建一個Servlet程序

2.1 創(chuàng)建一個普通的java程序

頁面左上角,點擊文件 -> 項目 -> 新建項目:

2.2 添加框架支持

為新建的名為Servlet_test的項目添加框架支持(Add Framework Support)

在Java EE下找到Web應(yīng)用程序(Web Application)并勾選。 

【Java EE是sun公司推出的企業(yè)級應(yīng)用程序】

狹義的 Java EE 是 Sun 公司為企業(yè)級應(yīng)用推出的標(biāo)準(zhǔn)平臺,用來開發(fā)B/S架構(gòu)軟件,可以說是一個框架,也可以說是一種規(guī)范。廣義的 Java EE 包含各種框架,其中最重要的就是 Spring 全家桶。Spring 誕生之初是為了改進(jìn) Java EE 開發(fā)的體驗,后來逐漸成為了 Java Web 開發(fā)的實際標(biāo)準(zhǔn)。

可以看到,在左側(cè)項目欄增加了一個web文件夾

2.3 配置項目

①在WEB-INF文件夾下創(chuàng)建兩個文件夾:lib和classes,并在lib文件夾下添加Servlet-api.jar

在創(chuàng)建好Servlet程序后,會調(diào)用servlet-api.jar這個包,servlet要用到HttpServletRequest和HttpServletResponse等對象,這些對象都是要靠這個jar包使用的。如果安裝了Tomcat,這個jar包一般在tomcat安裝目錄\lib 文件夾下面有,當(dāng)你把web項目部署到tomcat,會自動加載這個jar包來識別Serlvet一些對象。

這里我們在自己的電腦上找到安裝的Tomcat文件夾lib目錄下的servlet-api.jar,并復(fù)制粘貼在java項目中的lib目錄下:

2.4 重構(gòu)項目

在最上方欄目中點擊 文件 -> 項目結(jié)構(gòu)(Project Structure)

更改模塊(Modules)內(nèi)容如下:   

最后點擊確定。

2.5 創(chuàng)建并編寫一個Servlet程序 

我們在創(chuàng)建的Servlet_test項目 -> src文件夾 -> main文件夾 -> java目錄下,新建一個Servlet項目,并命名為FirstServlet:

下面, 編寫一個Servlet程序:

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "FirstServlet", value = "/FirstServlet")
public class FirstServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html");
        PrintWriter out=response.getWriter();
        out.print("<html>");
        out.print("<body style=\"background-color:gray\">");
        out.print("<h2 style=\"background-color:red\">background color</h2>");
        out.print("<p style=\"background-color:yellow\">Hello World!</p>");
        out.print("</body>");
        out.print("</html>");
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}

再在WEB-INF下的web.xml文件中添加映射:

在Sevlet程序中我們定義了一個FirstServlet類,那么在<servlet-class>中,我們的類名要和其保持一致。

<?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>helloworldservlet</servlet-name>
        <servlet-class>FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>helloworldservlet</servlet-name>
        <url-pattern>/fs</url-pattern>
    </servlet-mapping>
</web-app>

2.6 配置Tomcat服務(wù)器

點擊工件后,如下圖,添加了一個對應(yīng)的工件,部署完成,點擊確定。

【注意,這里下方的“應(yīng)用程序上下文”就是后續(xù)網(wǎng)頁訪問路徑:http://localhost:8080/Servlet_test_war_exploded,也可以更改為別的名字】

服務(wù)器部分可以根據(jù)自己的需要進(jìn)行修改,這里URL就是運(yùn)行程序后的網(wǎng)頁地址?!居绣e誤,稍后說明】

視頻教程推薦尚硅谷:115.尚硅谷_Tomcat-IDEA整合Tomcat服務(wù)器

2.7 運(yùn)行程序

最后我們來運(yùn)行一下這個Servlet程序,運(yùn)行結(jié)束,自動跳轉(zhuǎn)出一個網(wǎng)頁,但顯示的卻是如下界面:

顯然,這是有誤的,我們的Servlet程序中應(yīng)該會輸出一個Hello World!,并有簡單的css頁面美化的設(shè)計,出現(xiàn)上述原因,我們可以回到2.6節(jié)最后一張圖那個Tomcat服務(wù)器配置,根據(jù)我們的web.xml配置文件,在URL地址后添加 /fs (這個fs名字可以是任意的),指定訪問的絕對地址。

【url-pattern這個配置項,通過URL訪問到我們的servlet里,servlet會對http請求和相應(yīng)進(jìn)行處理】

至此,我們的第一個Servlet程序就完成了!

第二種創(chuàng)建方法

再補(bǔ)充一個更為簡單的方法:

新建項目,選擇Java Enterprise(Java EE),模塊選擇Web應(yīng)用程序,并添加Tomcat服務(wù)器,相關(guān)選項如下: 

點擊下一步,相關(guān)規(guī)范下自動勾選上了Servlet,然后點擊創(chuàng)建

創(chuàng)建成功:

到此這篇關(guān)于IDEA創(chuàng)建Servlet程序的兩種實現(xiàn)方法的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建Servlet程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA中如何查找jar包之間的依賴關(guān)系并忽略依賴的某個包

    IDEA中如何查找jar包之間的依賴關(guān)系并忽略依賴的某個包

    這篇文章主要介紹了IDEA中如何查找jar包之間的依賴關(guān)系并忽略依賴的某個包?本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • springboot2 jackson實現(xiàn)動態(tài)返回類字段方式

    springboot2 jackson實現(xiàn)動態(tài)返回類字段方式

    這篇文章主要介紹了springboot2 jackson實現(xiàn)動態(tài)返回類字段方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Mybatis的parameterType造成線程阻塞問題分析

    Mybatis的parameterType造成線程阻塞問題分析

    這篇文章主要詳細(xì)分析了Mybatis的parameterType造成線程阻塞問題,文中有詳細(xì)的解決方法,及相關(guān)的代碼示例,具有一定的參考價值,感興趣的朋友可以借鑒閱讀
    2023-06-06
  • 解決SpringBoot項目讀取yml文件中值為中文時,在視圖頁面顯示亂碼

    解決SpringBoot項目讀取yml文件中值為中文時,在視圖頁面顯示亂碼

    這篇文章主要介紹了解決SpringBoot項目讀取yml文件中值為中文時,在視圖頁面顯示亂碼的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 淺談Hibernate n+1問題

    淺談Hibernate n+1問題

    這篇文章主要介紹了淺談Hibernate n+1問題,怎么解決n+1問題,文中也作了簡要分析,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 詳解如何通過Java實現(xiàn)壓縮PDF文檔

    詳解如何通過Java實現(xiàn)壓縮PDF文檔

    PDF文檔是我們?nèi)粘^k公中使用最頻繁的文檔格式。但因為大多數(shù)PDF文檔都包含很多頁面圖像或大量圖片,這就導(dǎo)致PDF文檔過大,處理起來較為麻煩。本文將介紹如何通過Java應(yīng)用程序壓縮PDF文檔,需要的可以了解一下
    2022-12-12
  • java中類之間的數(shù)據(jù)傳遞方式

    java中類之間的數(shù)據(jù)傳遞方式

    這篇文章主要介紹了java中類之間的數(shù)據(jù)傳遞方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java中“==“和equals()的區(qū)別詳解

    java中“==“和equals()的區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于java中“==“和equals()區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java中jdk的下載和安裝全過程

    java中jdk的下載和安裝全過程

    這篇文章主要給大家介紹了關(guān)于java中jdk的下載和安裝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何通過RabbitMq實現(xiàn)動態(tài)定時任務(wù)詳解

    如何通過RabbitMq實現(xiàn)動態(tài)定時任務(wù)詳解

    工作中經(jīng)常會有定時任務(wù)的需求,常見的做法可以使用Timer、Quartz、Hangfire等組件,這次想嘗試下新的思路,使用RabbitMQ死信隊列的機(jī)制來實現(xiàn)定時任務(wù),下面這篇文章主要給大家介紹了關(guān)于如何通過RabbitMq實現(xiàn)動態(tài)定時任務(wù)的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論

凤台县| 襄垣县| 镇宁| 霍城县| 栾城县| 朝阳区| 景宁| 彰武县| 朝阳区| 陇南市| 南郑县| 武川县| 南宁市| 杭州市| 布拖县| 葫芦岛市| 游戏| 通许县| 云安县| 泸州市| 武定县| 阿尔山市| 南雄市| 虎林市| 枣阳市| 商南县| 常德市| 松溪县| 磴口县| 柏乡县| 深州市| 阳谷县| 抚顺市| 杭锦后旗| 罗平县| 集安市| 黑龙江省| 台前县| 西丰县| 乌兰察布市| 汉源县|