国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Servlet復習1: 一個簡單的Servlet的使用

2019-11-14 23:13:09
字體:
來源:轉載
供稿:網友
Servlet復習1: 一個簡單的Servlet的使用

Servlet學習

1. Servlet與jsp的關系

2. Servlet的聲明周期

3. 一個簡單的Servlet的使用方法

什么是Servlet? 什么又是JSP?

繼承了javax.servlet的一些類的程序 , 已經具有了Servlet的特征

但是Servlet的可視性不是太好, JSP可以彌補這一點 , jsp是Java Server Pagers , 是一種使用java作為腳本的語言, 在web服務器中可以轉化為Servlet , 在傳統的HTML網頁中使用<% java語言 %> 就可以嵌入java代碼了

Servlet是服務器端的小程序 , 可以用來通過多種方法擴充一個Web服務器.

PS:這句話告訴我們:

1. Servlet 是一個java寫的程序

2. Servlet是運行在服務器端的 , 而不是Client

3. 寫Servlet的最終目的是為了讓服務器幫我們做事情

Servlet與JSP的關系:相同點: JSP最終會轉化為一個Servlet

不同點:

1 Servlet是持久的 , 僅需要Web服務器加載一次

2 Servlet是可擴展的 , 因為java是面向對象的

3 JSP是為了解決Servlet中的編程困難為開發的技術 , jsp是腳本語言 , Servlet是java語言

4 Servlet必須在編譯之后才可以進行

5 第一次運行時 , JSP需要轉化為Servlet然后在編譯 , 才可以運行 . 而Servlet直接就編譯了 .(所謂的第一次就是web容器中沒有存在一模一樣的文件)

6 servel寫業務邏輯十分強大 . jsp寫視圖層效果很好

Servlet生命周期:

Servlet是javax.Servlet.httpServlet的子類.

1 裝載Servlet

2 調用構造函數 實例化一個Serlet對象 , 這個對象的名字有<servelt-name/>指定

3 調用init()方法

4 服務Service()

5卸載destoory()

Demo:

目錄結構:

clip_image002

Web.xml

clip_image002[4]

----------------------------Test1.java----------------------------------------------------------

package com.controller;

import java.io.IOException;

import java.io.PRintWriter;

import javax.servlet.ServletConfig;

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 Test1

*測試聲明周期

*/

@WebServlet("/Test1")

public class Test1 extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public Test1() {

super();

System.out.println("----------------construction----------------");

// TODO Auto-generated constructor stub

}

/**

* @see Servlet#init(ServletConfig)

*/

public void init(ServletConfig config) throws ServletException {

// TODO Auto-generated method stub

System.out.println("---------init------------");

System.out.println(this.getClass());

}

/**

* @see Servlet#destroy()

*/

public void destroy() {

super.destroy();

System.out.println("----------------destroy-----------");

// TODO Auto-generated method stub

}

/**

* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)

*/

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

System.out.println("------service---------------");

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doPost(request, response);

System.out.println("---------------默認調用doget()------------");

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

PrintWriter out = response.getWriter();

out.println("-------------------書寫內容-------------------------") ;

out.flush();

out.close();

}

}

index.jsp

clip_image006

效果圖:

PS: 請注意地址欄的變化

image

image

image

這個時候發現沒有調用doget()方法

原因是: 于是這樣寫了一下:

發現還是沒有>>>>>>>>>>>>>>>這時你發現你寫的這個類上的Service方法是這樣寫的:

image

對! 就是覆蓋了了父類的方法了 ,如此一來,Servlet的Service()只會運行Syso了

為此應該改成:

image

這是這個類成了這樣的:

package com.controller;import java.io.IOException;import java.io.PrintWriter;

import javax.servlet.ServletConfig;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 Test1 *測試聲明周期 */@WebServlet("/Test1")public class Test1 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Test1() { super(); System.out.println("----------------construction----------------"); // TODO Auto-generated constructor stub }

/** * @see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub System.out.println("---------init------------"); System.out.println(this.getClass()); }

/** * @see Servlet#destroy() */ public void destroy() { super.destroy(); System.out.println("----------------destroy-----------"); // TODO Auto-generated method stub }

/** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub super.service(request, response); System.out.println("------service---------------"); }

/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); System.out.println("---------------doget()------------"); }

/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); out.println("-------------------content-------------------------") ; out.flush(); out.close(); }

}

---------------------------------------------------

效果是:

在啟動之后

顯示

image

后臺輸出信息為:

image

點擊連接之后:

image

控制臺輸出信息是

image


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵石县| 江西省| 宾川县| 奇台县| 万载县| 台湾省| 甘谷县| 海伦市| 缙云县| 南通市| 谢通门县| 醴陵市| 尼木县| 图们市| 疏勒县| 铜鼓县| 新泰市| 伊宁县| 台山市| 嘉荫县| 北票市| 托里县| 西昌市| 鄱阳县| 莆田市| 沙雅县| 紫云| 昌图县| 丹凤县| 图们市| 定安县| 镇远县| 斗六市| 永泰县| 响水县| 浪卡子县| 邵阳县| 大竹县| 洛隆县| 中牟县| 民勤县|