大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Servlet方法的詳解

Servlet方法的詳解

更新時間:2021-07-21 11:19:21 來源:動力節點 瀏覽1062次

Service是類GenericServlet中最重要的方法,每次客戶向服務器發出請求時,服務器就會調用這個方法。程序員如果想對客戶的請求進行響應的話就必須覆蓋這個方法,并在這個方法中加入自己的代碼來實現對客戶的響應。Service有兩個參數(ServletRequest和ServletResponse),ServletRequest保存了客戶向服務器發送的請求,而ServletResponse用來設置如何對客戶進行響應。

有一個問題我們應當注意:就是init()方法(Servlet的兩個生命周期函數之一,另一個是destroy())和service()方法的區別,當我們改變源程序而重新生成一個新的.class文件的時候,此時如果再次執行該Servlet,會發現執行的結果跟沒做更改的時候一樣,原因就是因為相同的Servlet的init只執行一次,所以當我們在調試Servlet的時候要不斷改變文件名和類名,或者重新啟動服務(Tomcat或者JWS等)。就是說,init()方法僅在服務器裝載Servlet時才由服務器執行一次,而每次客戶向服務器發請求時,服務器就會調用Service()方法。

在建立一個繼承了HttpServlet類并重寫了該類的service()、doPost()和doGet()方法時,java會如何執行?

其實若是這三個方法都在存在的情況下,java只會執行service()方法,而其他的兩種方法不會被執行。若是沒有service()方法,則是根據jsp傳入方式選擇對應的方法。比如說,若是jsp是以Post方式傳入數據,則是調用doPost()方法處理數據,但是一般上在建立一個繼承HttpServlet類時都會重寫doPost()和doGet()方法,而且會在其中一個方法中處理數據,另一個方法則是直接調用該方法,比如以下例子:

package com.sysker.servlet;
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 FristSerevlet
 */
@WebServlet("/FristServlet")
public class FristServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;    
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FristServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     */
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        String name= request.getParameter("name");
        String gender=request.getParameter("gender");
        String[] colorMap =null;
        String national = request.getParameter("national");
        PrintWriter out = response.getWriter();
        out.println("<html><head>");
        out.println("<title>Servlet測試</title></head>");
        out.println("<body>");
        out.println("您的姓名:"+name+"<br><hr>");
        out.println("您的性別:"+gender+"<br><hr>");
        out.println("您喜歡的顏色:<br>");
        if(request.getParameterValues("color")!=null){
            colorMap=request.getParameterValues("color");
            for (String color : colorMap) {
                out.print(color+" ");
            }
            out.println("<br><hr>");
        }else{
            out.println("您未選擇喜歡的顏色!<br><hr>");
        }
        out.println("您的國籍:"+national+"<br>");
        out.println("</body></html>");
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
    }
}

以上就是動力節點小編介紹的"Servlet方法的詳解",希望對大家有幫助,想了解更多可查看Servlet教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产高清在线a视频大全凹凸 | 欧美成人精品福利在线视频 | 精品久久一区二区 | 欧美一级毛片在线观看 | 国产精品亚洲综合第一区 | 久久久久久国产精品免费免 | 啪啪99久久综合精品色 | 四虎精品国产一区二区三区 | 欧美日本一区亚洲欧美一区 | 在线成人tv天堂中文字幕 | 中文字字幕乱码视频 | 免费a级毛片大学生免费观看 | 爱爱99| 久久这里只有精品久久 | 成人一级免费视频 | 欧美日韩国产在线观看 | 99精彩视频 | 99久久综合狠狠综合久久aⅴ | 91在线九色 | 国产日产欧产美一二三区 | 日本不卡一二三区 | 九九免费在线视频 | 久操国产视频 | 欧美6699在线视频免费 | 欧美在线观看视频 | 欧美一级人与动毛片免费播放 | 99精品国产高清自在线看超 | 久久精品国产亚洲网址 | aaaaaa国产毛片孕妇版 | 自拍视频国产 | 亚洲一二区视频 | 在线 | 一区二区三区四区 | 成人国产精品免费网站 | 日本高清不卡二区 | 亚洲精品国产字幕久久不卡 | 天天看片天天爽 | 综合色久| 精品视频一区二区三区在线播放 | 国产精品99久久久久久小说 | 九九免费观看全部免费视频 | 天天射天天操天天 |