web開發基礎,javaweb——Servlet開發

 2023-10-21 阅读 29 评论 0

摘要:一、Servlet簡介   Servlet是sun公司提供的一門用于開發動態web資源的技術。   Sun公司在其API中提供了一個servlet接口,用戶若想用發一個動態web資源(即開發一個Java程序向瀏覽器輸出數據),需要完成以下2個步驟:   1、編寫一個Java類,實現

一、Servlet簡介

  Servlet是sun公司提供的一門用于開發動態web資源的技術。
  Sun公司在其API中提供了一個servlet接口,用戶若想用發一個動態web資源(即開發一個Java程序向瀏覽器輸出數據),需要完成以下2個步驟:
  1、編寫一個Java類,實現servlet接口。
  2、把開發好的Java類部署到web服務器中。
  按照一種約定俗成的稱呼習慣,通常我們也把實現了servlet接口的java程序,稱之為Servlet

二、Servlet的運行過程

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

三、Servlet調用圖

 Servlet調用圖

四、在Eclipse中開發Servlet

  在eclipse中新建一個web project工程,eclipse會自動創建下圖所示目錄結構:

 

4.1、Servlet接口實現類

  Servlet接口SUN公司定義了兩個默認實現類,分別為:GenericServlet、HttpServlet。java web應用程序開發,

  HttpServlet指能夠處理HTTP請求的servlet,它在原有Servlet接口上添加了一些與HTTP協議處理方法,它比Servlet接口的功能更為強大。因此開發人員在編寫Servlet時,通常應繼承這個類,而避免直接去實現Servlet接口。
  HttpServlet在實現Servlet接口時,覆寫了service方法,該方法體內的代碼會自動判斷用戶的請求方式,如為GET請求,則調用HttpServlet的doGet方法,如為Post請求,則調用doPost方法。因此,開發人員在編寫Servlet時,通常只需要覆寫doGet或doPost方法,而不要去覆寫service方法。

4.2、通過Eclipse創建和編寫Servlet

  


  這樣,我們就通過Eclipse幫我們創建好一個名字為ServletDemo1的Servlet,創建好的ServletDemo01里面會有如下代碼:



import java.io.IOException;
import java.io.PrintWriter;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
?* Servlet implementation class ServletDemo1
?*/
@WebServlet("/ServletDemo1")
public class ServletDemo1 extends HttpServlet {
private static final long serialVersionUID = 1L;


/**
* @see HttpServlet#HttpServlet()
*/
public ServletDemo1() {
super();
// TODO Auto-generated constructor stub
}


/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* ? ? ?response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub


response.setContentType("text/html");
String[] str = request.getParameterValues("params");

System.out.println(str[0]);


PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" ?<HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" ?<BODY>");
out.print(" ? ?This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" ?</BODY>");
out.println("</HTML>");
out.flush();
out.close();
}


/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* ? ? ?response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);


}


}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/158326.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息