日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Java知识整理——ServletJSP

發布時間:2024/2/28 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java知识整理——ServletJSP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Servlet

  • 什么是Servlet?
    servlet是用來處理客戶端請求并生成動態web內容的Java程序語言類。Servlets大多是用來處理或者存儲HTML表單提交的數據,提供動態內容和管理那些不在HTTP無狀態協議中的狀態信息。
  • 解釋一個Servlet的架構.
    核心抽象概念肯定是所有servlet必須實現 javax.servlet.Servlet 接口。 每個 servlet 必須直接或者間接實現這個接口, 也可以繼承于 javax.servlet.GenericServlet 或者javax.servlet.http.HTTPServlet。最后想提的是,每個 servlet 能夠使用多線程服務多個請求。
  • 一個 Applet 和 一個 Servlet 區別是什么 ?
    一個 Applet 是一個跑在客戶機器的 網頁瀏覽器 里面的 客戶端java程序。相反,一個 servlet 是跑在網頁服務器的服務的容器。一個 applet 能使用用戶界面class, 而一個 servlet 不能夠有一個用戶界面。相反,一個servlet 等待客戶端的 HTTP 請求并為每一個請求生成一個響應。
  • GenericServlet 和 HttpServlet 的區別是什么 ?
    GenericServlet 是一個實現了Servlet 和 ServletConfig 接口的通用的協議無關的 servlet . 那些繼承于GenericServlet 類的 servlet 將重寫 service 方法 。最后想提的是,為了給Web用戶開發一個使用HTTP協議服務的HTTP servlet, 你的 servlet 必須改為繼承于 HttpServlet 。查看Servlet的示例 。
  • 解釋一個Servlet的生命周期.
    對每一個客戶端的請求,這個Servlet引擎加載servlet和調用它的init方法,以便在servlet初始化。然后, Servlet對象處理所有從客戶端來的后續請求,通過為每個請求單獨調用服務的方法。最后,該servlet調用服務器的destroy方法。
  • doGet()和doPost()之間的區別是什么?
    doGet : GET方法附加請求的URL的名稱 - 值對。因此,存在客戶端的請求字符數量的限制。此外,該請求的參數值為可見,因此,如果有敏感信息不能采用這種方式。
    doPost: POST方法克服了GET請求的限制,將發送請求的值置于body里。此外,發送值的數量沒有限制。最后,通過POST請求傳遞的敏感信息是不可見的
  • web應用是什么 ?
    web應用是web服務的延伸. 主要有兩種類型:面向視覺的和面向服務的. 面向視覺型的應用通過編輯語言來動態展示交互頁面. 面向應用的則提供了后端的service.總的來說,就是一堆置于 server’s URL明明空間下的servlets.
  • 什么是服務端包含 (SSI) ?
    服務端包含是服務端的一種簡單腳本語言,主要應用在Web方面,置于servlet標簽中. 最常用的地方就是在網頁中引入一個或多個文件. 當瀏覽器加載頁面時,使用servlet產生的超文本替換其標簽.
  • 什么是 Servlet 鏈?
    Servlet 鏈是指將上一個servlet的結果傳到下一個.第二個的結構又可以傳到第三個. 最后的servlet負責將響應回復給客戶端.
  • 如何知道請求 servlet的客戶端信息 ?
    ServletRequest類可以獲取客戶端的IP地址或主機名. getRemoteAddr()獲取IP getRemoteHost()獲取主機名. 示例如下 here.
  • Http response的結構是什么 ?
    HTTP response 包括了三個部分:
    Status Code: 描述了這次回應的狀況. 它可以用來檢查這次請求是否成功完成. 一旦請求失敗了, 這個status code可以用來尋找原因. 如果你的 servlet 沒有返回一個status code, 默認就會返回成功的status code, HttpServletResponse.SC_OK.
    HTTP Headers: 它包含了response的更多信息.舉個例子,headers可以反應response的訪問date/time, 或者是用于將實體安全地傳送到用戶的編碼形式。可以閱讀 how to retrieve headers in Servlet here.
    Body: 它是response的具體內容. 可能包括HTML內容,比如圖片。Body包括了緊接Header發送的HTTP事務消息數據字節。
  • 什么是cookie?session和cookie之間的區別是什么?
    Cookie是Web服務器發送到瀏覽器的一小塊信息,瀏覽器為每個Web服務器在本地文件中存儲cookie。 在以后的請求里, 瀏覽器對特定的Web服務器,將request和所有特定的Web服務器的cookie一起發送。Session和Cookie之間的區別如下:
    Session無論在客戶端瀏覽器的設置都可以工作。客戶端可以選擇禁用cookies。然而,Session仍然可以工作,因為客戶端沒有能力在服務器端禁用Session。
    Session和cookie也有不同的信息存儲量。 HTTP會話能夠存儲任何Java對象,而一個cookie只能保存String對象。
  • 瀏覽器和servlet通過什么協議通信 ?
    HTTP協議.
  • 什么是HTTP通道 ?
    通道是指使用 HTTP或 HTTPS 封裝其它的網絡協議. HTTP包裝了其他的網絡通信協議. 其它協議通過HTTP來發送請求的過程就使用了通道.
  • sendRedirect和 forward 方法的區別?
    sendRedirect創建一個新的請求, forward只是將請求轉發.之前請求中包含的對象在redirect后將不可用, 因為產生了一個新的請求. 但是 forwarding不受此限制.通常來說,sendRedirect 比 forward 方法慢一些.
  • 什么是URL編碼和解碼 ?
    URL編碼就是替換其中的空格和特殊字符, 變成相應的Hex碼.解碼就是反向操作。
  • JSP

  • JSP頁面是什么 ?
    一個JSP頁面是一個文本文檔,包含了兩種類型的文本:靜態數據和JSP元素。靜態數據可以以任何一種基于文本的格式表達,比如HTML或者XML。JSP是一種混合了靜態內容與動態生成內容的技術。查看JSP例子
  • JSP請求是如何被處理的?
    一個JSP請求的到來,瀏覽器首先以一個jsp擴展的文件名來請求一個頁面。然后,Web Server讀取到該請求,使用JSP編譯器將JSP頁面轉換為一個servlet類。注意JSP文件只在該頁面的第一次請求或者JSP文件已經改變時才編譯。生成的servlet類被調用,去處理瀏覽器的請求。一旦請求處理完,servlet會向客戶端返回一個相應。查看如何獲取JSP請求中的參數
  • JSP的優勢所在?
    使用JSP技術有以下優勢:
    JSP網頁被動態的編譯,因此開發者很容易更新當前代碼。
    JSP網頁可預編譯。
    JSP網頁能容易的組合成靜態模版,包括HTML XML片段,且代碼可形成動態內容。
    開發者能提供自定義的JSP標簽庫,且使用類XML語法訪問。
    開發者可以在組件級別做邏輯上的改變,但是不能使用程序邏輯編輯個別的網頁。
  • 什么是指令?在JSP中, 包括哪些不同類型的指令?
    指令是JSP引擎所處理的命令,當網頁被編譯成小程序時,指令用于去設置頁面級別的命令,從外部文件插入數據,指定自定義的標簽庫。指令被包括在<%@ 和%>內。指令的類型分為:
    包含指令:用于包含文件,和當用頁面合并文件內容。
    頁面指令:用于定義JSP頁面的具體屬性,比如錯誤頁面和緩沖池。
    標簽庫:用于聲明頁面中使用到的自定義標簽庫。
  • 什么是JSP的actions?
    JSP的actions是使用XML語法結構來控制Servlet引擎的行為。JSP的actions是在當JSP頁面請求的時候才執行。它們會動態插入一個文件中,再利用JavaBeans的組件,轉發給用戶到另一個頁面,或者生成帶Java插件的HTML頁面。以下是一些可以操作的actions:
    jsp:include- 當JSP頁面被請求的時候,包含了一個文件。
    jsp:useBean- 尋找或者實例化一個JavaBean。
    jsp:setProperty- 設置JavaBean的屬性。
    jsp:getProperty- 得到JavaBean的屬性。
    jsp:forward- 轉發請求到新的頁面。
    jsp:plugin- 生成特定瀏覽器的代碼。
  • 什么是Scriptlet?
    在Java Server Page(JSP)技術中,scriptlet是嵌入在JSP頁面的其中一塊Java代碼。scriptlet是標簽內的任何東西。在這些標簽之間,用戶可以添加任何有效的scriptlet。
  • 什么是聲明?
    聲明類似于Java中的變量聲明。聲明是為表達式或者scriptlets后續的使用而聲明的變量。添加一個聲明,你必須在你的聲明中使用序列。
  • 什么是表達式?
    JSP表達式是把一個腳本語言表達式的值插入進來,轉換成字符串,進入數據流之后再通過web服務器返回給客戶端。表達式的定義是在<% = 和 %>標簽之間。
  • 什么是隱式對象?他們是什么?
    JSP隱式對象是指JSP容器在每頁中提供給開發人員的Java對象。開發人員可以直接調用他們,而不需要任何顯示聲明。JSP隱式對象也被稱為預定義變量。以下對象都是在JSP頁面中隱式存在的:
    application
    page
    request
    response
    session
    exception
    out
    config
    pageContext
  • 總結

    以上是生活随笔為你收集整理的Java知识整理——ServletJSP的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。