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

Servlet編程第一步之從零構(gòu)建Hello?World應(yīng)用詳細(xì)步驟+圖解

 更新時(shí)間:2024年10月11日 10:00:45   作者:VaporGas  
本文詳細(xì)介紹了Servlet和maven的基本概念及其在JavaWeb開(kāi)發(fā)中的應(yīng)用,首先解釋了Servlet是一個(gè)在服務(wù)器上處理請(qǐng)求的Java程序,然后介紹了maven作為管理和構(gòu)建Java項(xiàng)目的工具,需要的朋友可以參考下

前言

什么是Servlet?

  • Servlet 是一個(gè) Java程序,是在服務(wù)器上運(yùn)行以處理客戶端請(qǐng)求并做出響應(yīng)的程序

什么是maven?

簡(jiǎn)而言之,maven是通過(guò)一小段描述管理和構(gòu)建java項(xiàng)目的工具(通過(guò)pom.xml),我們通過(guò)maven項(xiàng)目可以快速導(dǎo)入項(xiàng)目需要的jar包,避免了手動(dòng)導(dǎo)入jar包帶來(lái)的不容易管理和依賴沖突問(wèn)題。這里不詳細(xì)贅述maven的使用

第一個(gè)Serlvet程序

  • 手動(dòng)編寫一個(gè)Servlet主要需要以下幾步:
    • 創(chuàng)建一個(gè)servlet類,此類繼承自HttpServlet
    • 重寫doGet和doPost方法中的一個(gè)
    • 配置Servlet

第一步:創(chuàng)建一個(gè)maven項(xiàng)目

提前需要在idea中配置maven的相關(guān)配置

第二步:創(chuàng)建java目錄,導(dǎo)入Servlet依賴jar包

此時(shí)maven缺少存放源碼的java目錄(參考maven教程),

右鍵main->單擊NEW->單擊Directory-->創(chuàng)建java目錄

 在pom.xml中配置Servlet依賴

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>maven_9_12</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven_9_12 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
      <!--Servlet3.1-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>maven_9_12</finalName>
  </build>
</project>

第三步:創(chuàng)建一個(gè)servlet類,此類繼承自HttpServlet

重寫doGet和doPost方法中的一個(gè)

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class ServletTest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //設(shè)置響應(yīng)類型和響應(yīng)字符集,防止中文亂碼
        response.setContentType("text/html;charset=UTF-8");
        //獲取響應(yīng)輸出流
        PrintWriter out = response.getWriter();
        //在頁(yè)面打印HTML標(biāo)簽(會(huì)解析成對(duì)應(yīng)的效果)
        out.println("<html>");
        out.println("<head><title>Servlet</title></head>");
        out.println("<body>");
        out.println("你好,歡迎來(lái)到Servlet世界");
        out.println("</body>");
        out.println("</html>");
        //使用完畢,關(guān)閉流資源
        out.close();

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp); //目的是為了保證前端傳入的get和post請(qǐng)求都能接收處理
    }
}

第四步:配置Servlet

  • 在web.xml文件中配置Servlet

<!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>
  <servlet>
    <servlet-name>httpServletTest</servlet-name>
    <servlet-class>ServletTest</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>httpServletTest</servlet-name>
    <url-pattern>/demo1</url-pattern>
  </servlet-mapping>
</web-app>

第五步:配置maven的服務(wù)器插件支持

一個(gè)web項(xiàng)目想要運(yùn)行是需要服務(wù)器支持的,我們直接下載一個(gè)tomcat服務(wù)器進(jìn)行配置,是比較繁瑣的,可以通過(guò)maven插件 配置一個(gè)“虛擬的服務(wù)器”,供我們開(kāi)發(fā)使用

 在pom.xml文件中將build標(biāo)簽中的內(nèi)容替換成下面的內(nèi)容

 <build>
    <finalName>web</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.3.14.v20161028</version>
      </plugin>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>8080</port>
          <path>/</path>
          <uriEncoding>UTF-8</uriEncoding>
          <server>tomcat7</server>
        </configuration>
      </plugin>
    </plugins>
  </build>

第六步:配置以服務(wù)器的形式啟動(dòng)

點(diǎn)擊右上角的錘子旁邊的小括號(hào),選擇Edit Configurations

 點(diǎn)擊左上角的+號(hào),找到maven

將Run中改為jetty:run   或   tomcat7:run  (具體看你在上面配置了哪些服務(wù)器)

兩種服務(wù)器,jetty更加輕量級(jí),推薦使用,當(dāng)然tomcat也有自己的優(yōu)點(diǎn),這里不贅述 

第七步:點(diǎn)擊啟動(dòng)

點(diǎn)擊啟動(dòng),在瀏覽器中輸入localhost:8080查看效果

此時(shí)會(huì)跳轉(zhuǎn)到webapp中的默認(rèn)首頁(yè)index.jsp

第八步:訪問(wèn)Servlet

 我們?cè)趙eb.xml中聲明了訪問(wèn)Servlet的URL為demo1,所以可以如下訪問(wèn)

  • 啟動(dòng)服務(wù)器(tomcat或jetty)
  • 在瀏覽器中輸入

總結(jié)

綜上所述,一個(gè)簡(jiǎn)單的基于web.xml配置文件的JavaWeb的Servlet程序就完成了,我們可以創(chuàng)建多個(gè)頁(yè)面,然后在web.xml中添加對(duì)應(yīng)的Servlet和Servlet映射即可。

到此這篇關(guān)于Servlet從零構(gòu)建Hello World應(yīng)用詳細(xì)步驟+圖解的文章就介紹到這了,更多相關(guān)Servlet構(gòu)建Hello World應(yīng)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中堆內(nèi)存與棧內(nèi)存的知識(shí)點(diǎn)總結(jié)

    java中堆內(nèi)存與棧內(nèi)存的知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于java中堆內(nèi)存與棧內(nèi)存的知識(shí)點(diǎn)總結(jié),有需要的朋友們可以跟著學(xué)習(xí)下。
    2019-12-12
  • C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的例子

    C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的例子

    這篇文章主要介紹了C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的示例,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • java連接opcua的常見(jiàn)問(wèn)題及解決方法

    java連接opcua的常見(jiàn)問(wèn)題及解決方法

    本文將使用 Eclipse Milo 作為示例庫(kù),演示如何在Java中使用匿名、用戶名密碼以及證書(shū)加密三種方式連接到 OPC UA 服務(wù)器,若需要使用其他 SDK,原理大同小異,API 的調(diào)用方式會(huì)有所不同,對(duì)java連接opcua的相關(guān)知識(shí)感興趣的朋友一起看看吧
    2025-06-06
  • Java 利用遞歸實(shí)現(xiàn)鏈表的歸并排序

    Java 利用遞歸實(shí)現(xiàn)鏈表的歸并排序

    這篇文章主要介紹了Java 如何利用遞歸實(shí)現(xiàn)鏈表的歸并排序,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • Spring boot文件路徑映射配置代碼實(shí)例

    Spring boot文件路徑映射配置代碼實(shí)例

    這篇文章主要介紹了Spring boot文件路徑映射配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Mybatis批量插入更新xml方式和注解方式的方法實(shí)例

    Mybatis批量插入更新xml方式和注解方式的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Mybatis批量插入更新xml方式和注解方式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解

    SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解

    這篇文章主要介紹了SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解,在創(chuàng)建代理的時(shí)候?qū)δ繕?biāo)類的每個(gè)連接點(diǎn)使用靜態(tài)切點(diǎn)檢查,如果僅通過(guò)靜態(tài)切點(diǎn)檢查就可以知道連接點(diǎn)是不匹配的,則在運(yùn)行時(shí)就不再進(jìn)行動(dòng)態(tài)檢查了,需要的朋友可以參考下
    2023-09-09
  • BufferedReader中read()方法和readLine()方法的使用

    BufferedReader中read()方法和readLine()方法的使用

    這篇文章主要介紹了BufferedReader中read()方法和readLine()方法的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 詳解SpringBoot中5種類型參數(shù)傳遞和json數(shù)據(jù)傳參的操作

    詳解SpringBoot中5種類型參數(shù)傳遞和json數(shù)據(jù)傳參的操作

    當(dāng)涉及到參數(shù)傳遞時(shí),Spring?Boot遵循HTTP協(xié)議,并支持多種參數(shù)傳遞方式,這些參數(shù)傳遞方式可以根據(jù)請(qǐng)求的不同部分進(jìn)行分類,
    2023-12-12
  • Java深入淺出數(shù)組的定義與使用下篇

    Java深入淺出數(shù)組的定義與使用下篇

    數(shù)組是有序的元素序列,若將有限個(gè)類型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。組成數(shù)組的各個(gè)變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量。數(shù)組是在程序設(shè)計(jì)中,為了處理方便,?把具有相同類型的若干元素按有序的形式組織起來(lái)的一種形式
    2022-03-03

最新評(píng)論

蓬安县| 乌审旗| 邛崃市| 元阳县| 清镇市| 长子县| 长子县| 鹤峰县| 福鼎市| 牙克石市| 林芝县| 锦屏县| 綦江县| 井研县| 金堂县| 项城市| 昆明市| 黑龙江省| 三都| 罗江县| 久治县| 德惠市| 茂名市| 禄劝| 兴化市| 临高县| 银川市| 澄迈县| 荥经县| 溧水县| 高安市| 西华县| 台东市| 南木林县| 玉屏| 云南省| 连江县| 交城县| 富川| 高碑店市| 酒泉市|