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

JAVAE中servlet的概念及使用示例詳解

 更新時(shí)間:2024年05月16日 10:13:04   作者:Achlorine  
servlet是一種實(shí)現(xiàn)動(dòng)態(tài)頁面的技術(shù),他是由tomcat提供給程序員的一組API可以幫助程序員開發(fā)一個(gè)web程序,這篇文章主要介紹了JAVAE中servlet的概念及使用,需要的朋友可以參考下

servlet的概念

首先我們要搞明白什么是servlet,servlet是一種實(shí)現(xiàn)動(dòng)態(tài)頁面的技術(shù),他是由tomcat提供給程序員的一組API可以幫助程序員開發(fā)一個(gè)web程序那么既然我們說到了實(shí)現(xiàn)動(dòng)態(tài)頁面我們首先就要搞清楚什么是靜態(tài)頁面什么是動(dòng)態(tài)頁面

靜態(tài)頁面和動(dòng)態(tài)頁面

我們所說的動(dòng)態(tài)頁面和靜態(tài)頁面其實(shí)指的是說這個(gè)頁面在不同的條件下它的內(nèi)容會(huì)發(fā)生改變,而靜態(tài)頁面則是指不同用戶,在不同地點(diǎn)的不同時(shí)間打開這個(gè)頁面的時(shí)候這個(gè)頁面的內(nèi)容并沒有發(fā)生任何的改變。 對應(yīng)的動(dòng)態(tài)頁面就是指我們打開后內(nèi)容會(huì)發(fā)生變化,比如說b站之類的會(huì)根據(jù)我們個(gè)人的喜好給我們推薦視頻。

servlet的作用

  • 允許程序員注冊一個(gè)類在tomcat收到某個(gè)特定的HTTP請求的時(shí)候tomcat會(huì)執(zhí)行這個(gè)類中的代碼
  • 幫助程序員解析HTTP請求把HTTP請求從一個(gè)字符串解析成一個(gè)HTTPRequest對象
  • 幫助程序員制造出特定的HTTP響應(yīng)程序員只需要將自己要返回的內(nèi)容寫入HTTPResponse對象填寫一些屬性字段servlet就會(huì)自動(dòng)的安裝HTTP協(xié)議的方式構(gòu)造出一個(gè)HTTP響應(yīng)字段并通過socket接口返回

寫出一個(gè)servlet程序

首先我們想要寫出一個(gè)servelet程序第一件事情肯定是要?jiǎng)?chuàng)建一個(gè)項(xiàng)目這里我們創(chuàng)建一個(gè)什么項(xiàng)目呢?答案是一個(gè)mavean項(xiàng)目,那么創(chuàng)建好之后我們還要引入servlet的各種接口那么這里的引入和我門平時(shí)的引入是有一些區(qū)別的,這里的引入呢是在配置文件中進(jìn)行導(dǎo)入那么具體該怎么做呢?我們只需要在配置文件中加入這樣一段代碼就可以了

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>


當(dāng)我們的項(xiàng)目創(chuàng)建好之后我們只需要在pom.xml這個(gè)文件中導(dǎo)入依賴就可以了,導(dǎo)入方法就是將上面的代碼導(dǎo)入即可。此外我們導(dǎo)入的時(shí)候要注意導(dǎo)入的serlet版本與tomcat版本要一致參照表格如下

目錄的創(chuàng)建

當(dāng)我們創(chuàng)建好項(xiàng)目之后我們還有一些工作要做那就是創(chuàng)建好我們需要?jiǎng)?chuàng)建的目錄,那么我們需要?jiǎng)?chuàng)建哪些目錄呢?首先就是我們的web目錄結(jié)構(gòu)如下

這里我們的web目錄實(shí)在main目錄下并且其結(jié)構(gòu)位webapp->WEB_INF->web.xml,那么這個(gè)web.xml中包含了哪些東西呢?我們把這段代碼復(fù)制進(jìn)去

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

設(shè)置smart tomcat

在這里面主要就是這個(gè)context path這個(gè)路徑,因?yàn)槲覀兊倪@個(gè)路徑是我們在訪問的時(shí)候第一級路徑。

編寫helloworld

那么上面配置搞好了之后我們來寫一個(gè)helloworld,那么想要寫出代碼我們首先要調(diào)用方法才可以,在這里我們用的方法不是main方法而是下面這兩個(gè)

import javax.servlet.Servlet;
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("/login2 ")
public class login extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello world");
        resp.getWriter().write("hello world");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
}

其中我們主要的代碼就是這樣用到的方法也就是這兩個(gè)方法那么我們先運(yùn)行一下,那么我們運(yùn)行起來之后我們?nèi)绾斡脼g覽器去訪問呢?
那就需要我們輸入url這個(gè)url是有規(guī)定的首先我們代碼中必須要加上的一個(gè)代碼就是下面的這個(gè)

@WebServlet("這里面隨便寫前提是必須以(‘/')開頭模仿上面的代碼")

并且我們上面說的Context path是作為一級目錄使用比如說我們的代碼url如何寫呢?如下

http://127.0.0.1:8080/test_login2/login2

然后我們來看一下最終的效果

很明顯我們成功了確實(shí)是非常的不容易啊歷經(jīng)這么多的步驟才寫出來了一個(gè)helloworld并且在初次學(xué)習(xí)的時(shí)候我們肯定會(huì)遇到各種各樣的坑和錯(cuò)誤那么我們應(yīng)該做的就是耐心去調(diào)整代碼在錯(cuò)誤中進(jìn)步

到此這篇關(guān)于JAVAE中servlet的概念及使用的文章就介紹到這了,更多相關(guān)JAVAEE servlet使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器)

    Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器)

    這篇文章主要介紹了Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Maven的幾個(gè)常用plugin

    Maven的幾個(gè)常用plugin

    本文主要介紹了Maven的幾個(gè)常用plugin。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • Java中Lambda表達(dá)式基礎(chǔ)及使用

    Java中Lambda表達(dá)式基礎(chǔ)及使用

    這篇文章主要介紹了Lambda 是JDK 8 的重要新特性。它允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中),使用 Lambda 表達(dá)式可以使代碼變的更加簡潔緊湊,使Java代碼更加優(yōu)雅,感興趣的小伙伴一起來學(xué)習(xí)吧
    2021-08-08
  • SpringBoot使用AOP與注解實(shí)現(xiàn)請求參數(shù)自動(dòng)填充流程詳解

    SpringBoot使用AOP與注解實(shí)現(xiàn)請求參數(shù)自動(dòng)填充流程詳解

    面向切面編程(aspect-oriented programming,AOP)主要實(shí)現(xiàn)的目的是針對業(yè)務(wù)處理過程中的切面進(jìn)行提取,諸如日志、事務(wù)管理和安全這樣的系統(tǒng)服務(wù),從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時(shí)提高了開發(fā)的效率
    2023-02-02
  • @PathVariable為空時(shí)指定默認(rèn)值的操作

    @PathVariable為空時(shí)指定默認(rèn)值的操作

    這篇文章主要介紹了@PathVariable為空時(shí)指定默認(rèn)值的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 使用SpringMVC的@Validated注解驗(yàn)證的實(shí)現(xiàn)

    使用SpringMVC的@Validated注解驗(yàn)證的實(shí)現(xiàn)

    這篇文章主要介紹了使用SpringMVC的@Validated注解驗(yàn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • SpringCloud?Nacos服務(wù)分級存儲(chǔ)模型詳解

    SpringCloud?Nacos服務(wù)分級存儲(chǔ)模型詳解

    Nacos服務(wù)分級存儲(chǔ)模型是Nacos存儲(chǔ)服務(wù)注冊信息和配置信息的核心模型之一,本文將對?Nacos?服務(wù)分級存儲(chǔ)模型進(jìn)行深入解析,感興趣的朋友一起看看吧
    2024-02-02
  • Java中文件創(chuàng)建于寫入內(nèi)容的常見方法

    Java中文件創(chuàng)建于寫入內(nèi)容的常見方法

    在日常開發(fā)中,肯定離不開要和文件打交道,今天就簡單羅列一下平時(shí)比較常用的創(chuàng)建文件并向文件中寫入數(shù)據(jù)的幾種方式,希望對大家有一定的幫助
    2023-10-10
  • SpringBoot3中token攔截器鏈的設(shè)計(jì)與實(shí)現(xiàn)步驟

    SpringBoot3中token攔截器鏈的設(shè)計(jì)與實(shí)現(xiàn)步驟

    本文介紹了spring boot后端服務(wù)開發(fā)中有關(guān)如何設(shè)計(jì)攔截器的思路,文中通過代碼示例和圖文講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • mybatis存在更新不存在新增問題

    mybatis存在更新不存在新增問題

    這篇文章主要介紹了mybatis存在更新不存在新增問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論

张家界市| 高州市| 乐清市| 茶陵县| 乌鲁木齐县| 石柱| 句容市| 辽中县| 凌海市| 赞皇县| 石河子市| 大英县| 宣城市| 四子王旗| 墨竹工卡县| 平定县| 郁南县| 孝义市| 安仁县| 定结县| 池州市| 吉安市| 连平县| 延川县| 古田县| 江油市| 云安县| 阆中市| 洱源县| 晋中市| 黄陵县| 会宁县| 麻栗坡县| 隆子县| 蓬溪县| 夏津县| 兰西县| 房山区| 清水河县| 枣强县| 澜沧|