<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JAVA WEB面試總結(jié)

      本文目錄:

      1. 什么是cookie

      2. 什么是session

      3.什么是Servlet,Servlet生命周期方法

      4.JSP隱含對(duì)象

      5.JSP的四個(gè)域?qū)ο蟮淖饔梅秶?/span>

      6.轉(zhuǎn)發(fā)和重定向的區(qū)別

      7.Post和Get請(qǐng)求的區(qū)別

      8.攔截器與過濾器的區(qū)別

      9.https與http區(qū)別

       

      1. 什么是cookie

      Cookie意為“甜餅”,是W3C組織提出,最早由Netscape社區(qū)發(fā)展的一種機(jī)制。目前Cookie已經(jīng)成為標(biāo)準(zhǔn),所有的主流瀏覽器如IE、Netscape、Firefox、Opera等都支持Cookie。

      由于HTTP是一種無狀態(tài)的協(xié)議,服務(wù)器單從網(wǎng)絡(luò)連接上無從知道客戶身份。怎么辦呢?就給客戶端們頒發(fā)一個(gè)通行證吧,每人一個(gè),無論誰訪問都必須攜帶自己通行證。這樣服務(wù)器就能從通行證上確認(rèn)客戶身份了。這就是Cookie的工作原理.

        1.1 Cookie特點(diǎn):

          a.     修改跟刪除只能覆蓋更新;

          b.     不能跨域;

          c.     保存在瀏覽器端;

          d.     使用key-value保存。

        1.2 工作流程:

          

       

        1.3 cookie api

          

      2. 什么是session

        Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上。客戶端瀏覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。這就是Session。客戶端瀏覽器再次訪問時(shí)只需要從該Session中查找該客戶的狀態(tài)就可以.

        如果說Cookie機(jī)制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機(jī)制就是通過檢查服務(wù)器上的“客戶明細(xì)表”來確認(rèn)客戶身份。

        2.1 session 特點(diǎn)

        1. 各個(gè)線程的session隔離;
        2. 瀏覽器第一次訪問時(shí)創(chuàng)建保存在服務(wù)端;靜態(tài)地址訪問不會(huì)創(chuàng)建session;
        3. 同一個(gè)session多次訪問時(shí)記錄最后訪問時(shí)間。

        2.2 session api

      //獲取Session對(duì)象

      request.getSession()

      request.getSession(boolean create)

      //獲取SessionId

      getId()

      //獲取當(dāng)前session對(duì)象的創(chuàng)建時(shí)間

      getCreationTime()

      //獲取最后一次訪問該session對(duì)象的時(shí)間

      getLastAccessedTime()

      //設(shè)置Session最大時(shí)效

      setMaxInactiveInterval()

      //獲取Session最大時(shí)效

      getMaxInactiveInterval()

      //判斷當(dāng)前Session對(duì)象是不是新建的

      /**

      如果客戶端請(qǐng)求消息中返回了一個(gè)與Servlet程序當(dāng)前獲得的HttpSession對(duì)象的會(huì)話標(biāo)識(shí)號(hào)相同的會(huì)話標(biāo)識(shí)號(hào),則認(rèn)為這個(gè)HttpSession對(duì)象不是新建的。

      */

      isNew()

      //銷毀當(dāng)前Session對(duì)象

      invalidate()

      //屬性相關(guān)

      setAttribute()

       

      3.什么是Servlet,Servlet生命周期方法

        用Java編寫的服務(wù)器端程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容, Servlet 可以用 javax.servlet 和 javax.servlet.http 包創(chuàng)建。

        生命周期:

        • Servlet 通過調(diào)用 init () 方法進(jìn)行初始化。只會(huì)執(zhí)行一次
        • Servlet 調(diào)用 service() 方法來處理客戶端的請(qǐng)求。每次服務(wù)器接收到一個(gè) Servlet 請(qǐng)求時(shí),服務(wù)器會(huì)產(chǎn)生一個(gè)新的線程并調(diào)用服務(wù)。service() 方法檢查 HTTP 請(qǐng)求類型(GET、POST、PUT、DELETE 等),并在適當(dāng)?shù)臅r(shí)候調(diào)用 doGet、doPost、doPut,doDelete 等方法
        • Servlet 通過調(diào)用 destroy() 方法終止(結(jié)束)。
        • 最后,Servlet 是由 JVM 的垃圾回收器進(jìn)行垃圾回收的。

      4.JSP隱含對(duì)象

        

      隱含對(duì)象

      所屬的類

      說明

      request

      javax.servlet.http.HttpServletRequest

      客戶端的請(qǐng)求信息

      response

      javax.servlet.http.HttpServletResponse

      網(wǎng)頁傳回客戶端的響應(yīng)

      session

      javax.servlet.http.HttpSession

      與請(qǐng)求有關(guān)的會(huì)話

      out

      javax.servlet.jsp.JSPWriter

      向客戶端瀏覽器輸出數(shù)據(jù)的數(shù)據(jù)流

      application

      javax.servlet.ServletContext

      提供全局的數(shù)據(jù),一旦創(chuàng)建就保持到服務(wù)器關(guān)閉

      pageContext

      javax.servlet.jsp.PageContext

      JSP頁面的上下文,用于訪問頁面屬性

      page

      java.lang.Object

      同Java中的this,即JSP頁面本身

      config

      javax.servlet.servletConfig

      Servlet的配置對(duì)象

      exception

      java.lang.Throwable

      針對(duì)錯(cuò)誤網(wǎng)頁,捕捉一般網(wǎng)頁中未捕捉的異常

        

      對(duì)象名稱

      API

      Request

      setAttribute/getAttribute/getParameter

      /getRequestURI/getRemotePort

      response

      addCookie/encodeRedirectURL/sendError

      out

      clear

      session

      getMaxInactiveInterval/invalidate/getId/

      getCreationTime

      application

      getServerInfo/getContext

      pageContext

      getRequest/getResponse/getServletContext/

      getSession/setAttribute

      exception

      getMessage

      config 

      getInitParameter/getServletName

      page

      代表jsp編譯后的servlet,能調(diào)用servlet里的方法

      5.JSP的四個(gè)域?qū)ο蟮淖饔梅秶?/span>

        

      作用范圍

      PageContext域

      當(dāng)前JSP頁面范圍

      request域

      一次請(qǐng)求

      session域

      一次會(huì)話

      application域

      整個(gè)web應(yīng)用

      6.轉(zhuǎn)發(fā)和重定向的區(qū)別

      名稱

      請(qǐng)求次數(shù)

      url地址是否改變

      共享數(shù)據(jù)

      新地址要求

      轉(zhuǎn)發(fā)

      1

      同一個(gè)應(yīng)用下的地址

      重定向

      2

      任意地址

      7.Post和Get請(qǐng)求的區(qū)別

        

      從傳輸?shù)慕嵌瓤矗琾ost和get都是不安全的,只有https是安全的。

      get的最大長度限制是因?yàn)闉g覽器和web服務(wù)器限制了URL的長度。

      POST 方法會(huì)產(chǎn)生兩個(gè) TCP 數(shù)據(jù)包?

      答:HTTP 協(xié)議中沒有明確說明 POST 會(huì)產(chǎn)生兩個(gè) TCP 數(shù)據(jù)包,而且實(shí)際測(cè)試(Chrome)發(fā)現(xiàn),header 和 body 不會(huì)分開發(fā)送,不是必然行為。

      8.攔截器與過濾器的區(qū)別

        區(qū)別:

      Filter基于servlet,攔截器基于spring框架。攔截器可以訪問spring里的事務(wù)、server對(duì)象等,過濾器不能

      攔截器是基于java的反射機(jī)制的,而過濾器是基于函數(shù)回調(diào)。

      l  攔截器只能對(duì)action請(qǐng)求起作用,而過濾器則可以對(duì)幾乎所有的請(qǐng)求起作用。

      l  在action的生命周期中,攔截器可以多次被調(diào)用,而過濾器只能在容器初始化時(shí)被調(diào)用一次。

      深度不同:攔截器能夠深入到方法前后、異常拋出前后,彈性更好,filter只在serlvet前后起作用。

       

        下面通過分析springmvc中攔截器、過濾器service()方法(分發(fā)不同的servlet給不同的controller),dispatc()的執(zhí)行順序來加深理解,如下圖:

           

        總結(jié):優(yōu)先使用攔截器

      9.https與http區(qū)別

        總結(jié):

      名稱

      傳輸方式

      ca證書?

      有無狀態(tài)

      http1.0

      超文本明文傳輸

      https

      Ssl加密傳輸

      http2.0

      超文本明文傳輸

      有(新增了有狀態(tài)的組件)

         

      http工作流程:

      第一步:建立TCP/IP連接,客戶端與服務(wù)器通過Socket三次握手進(jìn)行連接

      第二步:客戶端向服務(wù)端發(fā)起HTTP請(qǐng)求(例如:POST/login.html http/1.1)

      第三步:客戶端發(fā)送請(qǐng)求頭信息,請(qǐng)求內(nèi)容,最后會(huì)發(fā)送一空白行,標(biāo)示客戶端請(qǐng)求完畢

      第四步:服務(wù)器做出應(yīng)答,表示對(duì)于客戶端請(qǐng)求的應(yīng)答,例如:HTTP/1.1 200 OK

      第五步:服務(wù)器向客戶端發(fā)送應(yīng)答頭信息

      第六步:服務(wù)器向客戶端發(fā)送請(qǐng)求頭信息后,也會(huì)發(fā)送一空白行,標(biāo)示應(yīng)答頭信息發(fā)送完畢,接著就以Content-type要求的數(shù)據(jù)格式發(fā)送數(shù)據(jù)給客戶端

      第七步:服務(wù)端關(guān)閉TCP連接,如果服務(wù)器或者客戶端增Connection:keep-alive就表示客戶端與服務(wù)器端繼續(xù)保存連接,在下次請(qǐng)求時(shí)可以繼續(xù)使用這次的連接

       

      為了提高安全性和效率HTTPS結(jié)合了對(duì)稱和非對(duì)稱兩種加密方式

      https工作流程:

      第一步:客戶使用https的URL訪問Web服務(wù)器,要求與Web服務(wù)器建立SSL連接。

      第二步:Web服務(wù)器收到客戶端請(qǐng)求后,會(huì)將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端。

      第三步:客戶端的瀏覽器與Web服務(wù)器開始協(xié)商SSL連接的安全等級(jí),也就是信息加密的等級(jí)。

      第四步:客戶端的瀏覽器根據(jù)雙方同意的安全等級(jí),建立會(huì)話密鑰,然后利用網(wǎng)站的公鑰將會(huì)話密鑰加密,并傳送給網(wǎng)站。

      第五步:Web服務(wù)器利用自己的私鑰解密出會(huì)話密鑰。

      第六步:Web服務(wù)器利用會(huì)話密鑰加密與客戶端之間的通信。

      加密算法:

        1. 單向散列:對(duì)信息進(jìn)行散列加密,得到固定長度的密文,包括:MD5/SHA;
        2. 對(duì)稱加密:加密、解密使用同一個(gè)秘鑰,包括:DES/RC
        3. 非對(duì)稱加密:分為公鑰、私鑰,私鑰保存在服務(wù)器端,公鑰加密的只有私鑰能解,反之也是,包括:RSA
      posted @ 2019-09-03 16:07  春風(fēng)十里的情  閱讀(566)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 巴中市| 日韩精品亚洲专在线电影| 欧美性猛交xxxx乱大交丰满| 老司机亚洲精品一区二区| 在线观看国产区亚洲一区| 无码专区人妻系列日韩精品| 人人妻人人狠人人爽| 精品国产乱码久久久久乱码| 国产一区| 拉孜县| 2021国产成人精品久久| 成年无码av片在线蜜芽| 国产第一页浮力影院入口| 亚洲中文字幕亚洲中文精| 成人精品一区日本无码网| 亚洲精品人成网线在线播放va| 国产一区二区精品久久岳| 免费观看日本污污ww网站| 男人和女人高潮做爰视频| 亚洲色大成网站WWW久久| 人妻日韩精品中文字幕| 成人网站国产在线视频内射视频| 免费无码久久成人网站入口| 无码人妻斩一区二区三区| 亚洲av成人一区二区三区| 国产乱码精品一区二区三区中文 | 性一交一乱一伦一| 国产二区三区不卡免费| 亚洲精品成人区在线观看| 中文字幕日韩国产精品| 成a人片亚洲日本久久| 久久国内精品自在自线91| 亚洲国产美女精品久久久| 国产精品视频亚洲二区| 汽车| 国内自拍偷拍一区二区三区| 久久综合九色综合97婷婷| av一区二区中文字幕| 一区二区三区激情免费视频 | 亚洲精品无码日韩国产不卡av| 99久久亚洲综合精品成人|