欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

什么是Servlet?

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

什么是maven?

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

第一個Serlvet程序

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

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

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

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

此時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)建一個servlet類,此類繼承自HttpServlet

重寫doGet和doPost方法中的一個

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();
        //在頁面打印HTML標簽(會解析成對應(yīng)的效果)
        out.println("<html>");
        out.println("<head><title>Servlet</title></head>");
        out.println("<body>");
        out.println("你好,歡迎來到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請求都能接收處理
    }
}

第四步:配置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ù)器插件支持

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

 在pom.xml文件中將build標簽中的內(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ù)器的形式啟動

點擊右上角的錘子旁邊的小括號,選擇Edit Configurations

 點擊左上角的+號,找到maven

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

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

第七步:點擊啟動

點擊啟動,在瀏覽器中輸入localhost:8080查看效果

此時會跳轉(zhuǎn)到webapp中的默認首頁index.jsp

第八步:訪問Servlet

 我們在web.xml中聲明了訪問Servlet的URL為demo1,所以可以如下訪問

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

總結(jié)

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

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

相關(guān)文章

  • java 數(shù)據(jù)庫連接與增刪改查操作實例詳解

    java 數(shù)據(jù)庫連接與增刪改查操作實例詳解

    這篇文章主要介紹了java 數(shù)據(jù)庫連接與增刪改查操作,結(jié)合實例形式詳細分析了java使用jdbc進行數(shù)據(jù)庫連接及增刪改查等相關(guān)操作實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2019-11-11
  • JVM入門之內(nèi)存結(jié)構(gòu)(堆、方法區(qū))

    JVM入門之內(nèi)存結(jié)構(gòu)(堆、方法區(qū))

    JVM 基本上是每家招聘公司都會問到的問題,它們會這么無聊問這些不切實際的問題嗎?很顯然不是。由 JVM 引發(fā)的故障問題,無論在我們開發(fā)過程中還是生產(chǎn)環(huán)境下都是非常常見的
    2021-06-06
  • idea導(dǎo)入項目爆紅問題記錄以及解決

    idea導(dǎo)入項目爆紅問題記錄以及解決

    這篇文章主要介紹了idea導(dǎo)入項目爆紅問題記錄以及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 詳解JUC并發(fā)編程之鎖

    詳解JUC并發(fā)編程之鎖

    這篇文章主要為大家介紹了JUC并發(fā)編程之鎖,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • SpringBoot中Tomcat和SpringMVC整合源碼分析

    SpringBoot中Tomcat和SpringMVC整合源碼分析

    Tomcat和SpringMVC都是通過這樣的方式進行集成的,SpringBoot出現(xiàn)之前SpringMVC項目是直接部署在Tomcat服務(wù)器中的,這篇文章主要介紹了SpringBoot中Tomcat和SpringMVC整合源碼分析,需要的朋友可以參考下
    2022-07-07
  • 基于ArrayList源碼解析(基于JDK1.8)

    基于ArrayList源碼解析(基于JDK1.8)

    這篇文章主要介紹了關(guān)于ArrayList源碼解析(基于JDK1.8),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • springBoot靜態(tài)資源加載不到,并且配置了也不生效問題及解決

    springBoot靜態(tài)資源加載不到,并且配置了也不生效問題及解決

    這篇文章總結(jié)了一個在Spring Boot 2.6.x版本中,由于路徑匹配策略改變導(dǎo)致靜態(tài)資源無法加載的問題,并提供了解決方案:通過配置類或在配置文件中設(shè)置路徑匹配策略為AntPathMatcher,或者直接降級Spring Boot版本
    2025-02-02
  • java實現(xiàn)微信掃碼支付功能

    java實現(xiàn)微信掃碼支付功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)微信掃碼支付功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 簡述IDEA集成Git在實際項目中的運用

    簡述IDEA集成Git在實際項目中的運用

    這篇文章主要介紹了IDEA集成Git在實際項目中的運用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • SpringBoot?mybatis-plus使用json字段實戰(zhàn)指南

    SpringBoot?mybatis-plus使用json字段實戰(zhàn)指南

    在現(xiàn)代應(yīng)用開發(fā)中經(jīng)常會使用JSON格式存儲和傳輸數(shù)據(jù),為了便捷地處理數(shù)據(jù)庫中的JSON字段,MyBatis-Plus提供了強大的JSON處理器,這篇文章主要給大家介紹了關(guān)于SpringBoot?mybatis-plus使用json字段的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評論