亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

javaweb開發(fā)之servlet初始

Cheriselalala / 2553人閱讀

摘要:概述是公司提供的一門用于開發(fā)動態(tài)資源的技術(shù)。把開發(fā)好的類部署到服務(wù)器中。應(yīng)用程序被停止或重新啟動之前,引擎將卸載,并在卸載之前調(diào)用的方法。

servlet概述

Servlet是sun公司提供的一門用于開發(fā)動態(tài)web資源的技術(shù)。

Sun公司在其API中提供了一個servlet接口,用戶若想用發(fā)一個動態(tài)web資源(即開發(fā)一個Java程序向瀏覽器輸出數(shù)據(jù)),需要完成以下2個步驟:

(1)編寫一個Java類,實現(xiàn)servlet接口。
(2)把開發(fā)好的Java類部署到web服務(wù)器中。
(3)按照一種約定俗成的稱呼習(xí)慣,通常我們也把實現(xiàn)了servlet接口的java程序,稱之為Servlet

servlet運行過程:

(1)Servlet程序是由WEB服務(wù)器調(diào)用,web服務(wù)器收到客戶端的Servlet訪問請求后:
      ①Web服務(wù)器首先檢查是否已經(jīng)裝載并創(chuàng)建了該Servlet的實例對象。如果是,則直接執(zhí)行第④步,否則,執(zhí)行第②步。
      ②裝載并創(chuàng)建該Servlet的一個實例對象。
      ③調(diào)用Servlet實例對象的init()方法。
      ④創(chuàng)建一個用于封裝HTTP請求消息的HttpServletRequest對象和一個代表HTTP響應(yīng)消息的HttpServletResponse對象,然后調(diào)用Servlet的service()方法并將請求和響應(yīng)對象作為參數(shù)傳遞進去。
      ⑤WEB應(yīng)用程序被停止或重新啟動之前,Servlet引擎將卸載Servlet,并在卸載之前調(diào)用Servlet的destroy()方法。 

IDEA創(chuàng)建第一個servlet程序

選中自己的project,打開Project Structure界面》》選中Libraries》》點擊"+"并選擇java》》選擇并選中自己的tomcat/lib/servlet-api.jar》》Apply》》OK

通過idea創(chuàng)建servlet,選中項目的src目錄,右鍵選擇new

創(chuàng)建一個servlet,命名為testServlet

創(chuàng)建成功后testServlet.java文件中有一行關(guān)鍵的代碼:

@WebServlet(name = "TestServlet")
備注:可以加上具體的urlPattern參數(shù)來定義servlet的具體的請求的URL,如下
   @WebServlet(name = "TestServlet",urlPatterns = "/test")

示例代碼:

示例代碼分享:

關(guān)于servlet之http請求的request與response對象:

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;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Arrays;

@WebServlet(name = "testServlet",urlPatterns = "/test")
public class testServlet extends HttpServlet {
   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   }

   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       //請求頭,請求行,請求體
       System.out.println("請求行:");
       System.out.println("url:"+request.getRequestURL());
       System.out.println("uri"+request.getRequestURI());
       System.out.println("methord:"+request.getMethod());
       System.out.println("querystring:"+request.getQueryString());
       System.out.println("addr:"+request.getRemoteAddr());
       System.out.println("host:"+request.getRemoteHost());
       System.out.println("--------------------");
       System.out.println("請求頭:");
       Enumeration headerNames = request.getHeaderNames();
       while(headerNames.hasMoreElements()){
           String key = headerNames.nextElement();
           String value = request.getHeader(key);
           System.out.println(key+"="+value);
       }
       System.out.println("--------------------");
       System.out.println("請求體:");
       Enumeration params = request.getParameterNames();
       while (params.hasMoreElements()){
           String key = params.nextElement();
           //接收的參數(shù)中一般有中文,注意編碼
           String value = request.getParameter(key);
           value = new String(value.getBytes("iso-8859-1"),"UTF-8");
           System.out.println(key+"="+value);
       }
       System.out.println("--------------------");
       //開始response
       //1.二進制流方式輸出
       response.setContentType("text/html;charset=UTF-8");//一定要做編碼的設(shè)置,否則瀏覽器可能輸出亂碼
       //response.getOutputStream().write("中國".getBytes("UTF-8"));
       //2.字符流方式輸出
       response.getWriter().write("字符流");
   }


}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74336.html

相關(guān)文章

  • 超詳細(xì)的Java面試題總結(jié)(四 )JavaWeb基礎(chǔ)知識總結(jié)

    摘要:系列文章請查看超詳細(xì)的面試題總結(jié)一之基礎(chǔ)知識篇超詳細(xì)的面試題總結(jié)二之基礎(chǔ)知識篇超詳細(xì)的面試題總結(jié)三之集合篇常見問題下面的都是自己之前在學(xué)習(xí)的時候總結(jié)的,對于鞏固的基礎(chǔ)知識應(yīng)該有很大幫助。注意多線程的并發(fā)的讀寫類屬性會導(dǎo)致數(shù)據(jù)不同步。 系列文章請查看: 超詳細(xì)的Java面試題總結(jié)(一)之Java基礎(chǔ)知識篇 超詳細(xì)的Java面試題總結(jié)(二)之Java基礎(chǔ)知識篇 超詳細(xì)的Java面試題總結(jié)(...

    Leo_chen 評論0 收藏0
  • JavaWEB開發(fā)11——JSP

    摘要:出現(xiàn)的目的同一樣也是要提到頁面中的腳本代碼。標(biāo)準(zhǔn)標(biāo)準(zhǔn)標(biāo)簽庫有個子庫,但隨著發(fā)展,目前常使用的是他的核心庫標(biāo)簽庫標(biāo)簽庫的前綴下載與導(dǎo)入下載從的網(wǎng)站下載的包。 一、JSP技術(shù)1.jsp腳本和注釋jsp腳本:1) ----- 內(nèi)部的java代碼翻譯到service方法的內(nèi)部2) ----- 會被翻譯成service方法內(nèi)部out.print()3) ---- 會被翻譯成servlet的成員的...

    beita 評論0 收藏0
  • JavaWEB開發(fā)07——Http協(xié)議&Servlet

    摘要:協(xié)議版本請求頭客戶端向服務(wù)器端表示,我能支持什么類型的數(shù)據(jù)。在地址欄上輸入項目名稱向報告,我這個應(yīng)用里面有這個,名字叫做具體的路徑是注冊的映射。的配置,通過這個對象,可以獲取在配置的時候一些信息先說,在寫怎么用,最后說有什么用。 1.Http協(xié)議 什么是協(xié)議 雙方在交互、通訊的時候, 遵守的一種規(guī)范、規(guī)則。 http協(xié)議 針對網(wǎng)絡(luò)上的客戶端 與 服務(wù)器端在執(zhí)行http請求的時候...

    hsluoyz 評論0 收藏0
  • JavaWeb從0開始學(xué)(一)-----第一個Web應(yīng)用程序與JSP工作原理

    摘要:當(dāng)后繼請求相同的頁面時,容器加載之前生成的類,并且通知去執(zhí)行已經(jīng)存在的字節(jié)碼,從而省去了轉(zhuǎn)換的過程,這也是第一次執(zhí)行頁面時間較長的原因。 以往學(xué)習(xí)的時候大多是看完書或者看完視頻,動手實踐一下就OK了。然而過了一段時間我發(fā)現(xiàn)東西都忘差不多了,需要復(fù)習(xí)才能重新掌握。現(xiàn)在開始學(xué)習(xí)JavaWeb了,我將在這里記錄自己的學(xué)習(xí)的一點一滴,不僅便于自己以后回顧知識點,也希望能對JavaWeb初學(xué)者有...

    CloudDeveloper 評論0 收藏0
  • JavaWEB開發(fā)15——Listener&Listener

    摘要:創(chuàng)建與銷毀對象是發(fā)送請求服務(wù)器就會創(chuàng)建它,當(dāng)響應(yīng)產(chǎn)生時,對象就會銷毀。是容器為開發(fā)人員提供的對象,它提供了對某一資源的已過濾請求調(diào)用鏈的視圖。 一、Listener監(jiān)聽器 Javaweb開發(fā)中的監(jiān)聽器,是用于監(jiān)聽web常見對象 HttpServletRequest HttpSession ServletContext 監(jiān)聽它們的創(chuàng)建與銷毀 屬性變化 session綁...

    RebeccaZhong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<