javaweb複習筆記總結

本文地址:http://www.cnblogs.com/maplefighting/p/8206863.html html

一、Http協議位於應用層,創建在TCP/IP協議上,端口爲80java

二、HTTP請求由(1)請求方法,URI和HTTP協議的版本 (2)請求頭  (3)請求正文構成web

     HTTP響應由(1)HTTP協議版本,狀態代碼和描述  (2)響應頭  (3)響應正文spring

三、GET請求參數在HTTP請求第一行URI後面sql

     POST請求參數將做爲HTTP請求的正文部分數據庫

四、ServletContext和web應用具備一樣的生命週期編程

五、重定向sendRedirect:用戶請求-->服務器返回302狀態碼-->瀏覽器收到響應後,自動請求另外一個web設計模式

六、JSP生命週期:(1)解析階段:Servlet解析JSP (2)翻譯階段:Servlet容器把JSP文件翻譯成Servlet源文件 瀏覽器

  (3)編譯階段:編譯Servlet源文件生成類緩存

  (4)初始化階段:加載JSP文件對應的Servlet類,建立實例,調用初始化方法 (5)運行時階段  (6)銷燬階段

七、  SendRedirect重定向                  Forward服務器內部轉發

地址有變化                                    地址欄沒變化

不能共享                                        能共享request裏面數據

URL能跳轉到其餘站點                只能在同一個web內

效率較低                                        較高

瀏覽器跳轉                                   服務器跳轉

HttpServletResponse                       RequestDispatcher

八、Servlet生命週期

 

a、若是請求時靜態頁面,服務器直接返回

b、若是是動態,交給Web容器,若是沒有找到Servlet (第一次訪問沒有),則讀取xml配置文件,把相應的Servlet放進Web容器,接着建立Servlet實例,

調用init()-->判斷service() -->doget(),dopost(),而後返回給瀏覽器 -->destory()

九、cookie和session

cookie:一開始客戶端沒有cookie,訪問服務器時會建立

Session:session一開始也沒有,服務器建立session,而後返回並保存SessionId在客戶端

十、Spring可以包裝Hibernate異常,把他們從CheckedException變成RuntimeException

十一、Spring提供編程式事務(嵌在業務代碼)和聲明式事務(xml)

SessionFactory只有使用Hibernate才須要注入,注入事務管理器

十二、Spring核心控制器,DispatcherServlet負責接收Http請求,加載配置文件,初始化上下文ApplicationContext,文件上傳解析

1三、Spring和struts2區別

(1)springmvc是基於方法設計,struts2基於類

(2)struts有本身的interceptor,springmvc用的是獨立的Aop方式

(3)springmvc方法之間基本是獨立,獨享request,response數據。struts2全部Action變量共享的

(4)springmvc的入口是servlet,struts2是filter

1四、spring用到的設計模式

(1)工廠模式:BeanFactory

(2)單例模式,依賴注入用雙重判斷加鎖

(3)適配器

(4)代理

1五、spring兩種代理方式:jdk和cglib

(1) 若目標對象實現了若干接口,則用jdk的Proxy代理

(2) 若沒有實現任何接口,則用cglib庫生成子類

jdk代理是由java內部的反射機制實現的。

cglib是藉助asm來實現的,用到第三方類庫,需引入cglib.jar,asm.jar

jdk代理要爲目標類同一接口類

cglib代理須要生成加強過的目標類

具體使用能夠查看:https://www.2cto.com/kf/201701/590030.html

1六、網站負載太大:使用緩存,集羣,CDN加速,分佈式

1七、消息隊列:把消息按照產生的次序加入隊列。短信,電子郵件,訂閱等

1八、struts1和struts2的區別

struts1與Servlet嚴重耦合,Action->Execute

(1)Action必須實現Struts的Action類,Struts2能夠不實現任何類或接口

(2)Struts1的Action是單例模式,必須實現線程安全。Struts2是每一請求一個實例

1九、Hibernate與Mybatis區別

(1)基本沒有複雜語句可選Hibernate,sql封裝好了,開發快。負責語句多的選Mybatis

(2)Mybatis須要手寫sql

(3)Hibernatw移植性好,Mybatis需不一樣數據庫不一樣sql

20、過濾器filter和攔截器interceptor的區別

a、filter是基於函數回調的,interceptor基於java反射機制

b、filter依賴Servlet容器,interceptor不依賴

c、filter對幾乎全部請求起做用,interceptor只能對action起做用

d、interceptor能夠訪問action上下文,值棧裏的對象。而過濾器不能

e、在action中interceptor能夠屢次被調用,而filter只在容器初始化時調用一次

f、執行順序:過濾前->攔截前->action->攔截後->過濾後

2一、Hibernate二級緩存

一級緩存是Session級別。二級緩存是SessionFactory基本

一級緩存是事務級別的緩存,必須同一個Session。二級緩存是進程範圍的緩存。相同操做就能夠用緩存

一級緩存不會出現併發問題。二級緩存會

應用場景:二級緩存:(1)不多被修改數據 (2)不重要的 (3)不會被併發的

2二、Maven  snapshot表明版本不穩定,處於開發中

                    Release表明穩定版本,發行版本

2三、aop只是對oop的補充。aop是一種設計模式,Spring提供一種實現

2四、Spring中,bean的scope默認是singleton

2五、a、Java Servlet API引用Session機制來追蹤客戶狀態,定義了HttpSession接口,Servlet容器必須實現該接口

b、當一個Session開始時,Servlet容器將建立一個HttpSession,分配SessionID,,存在客戶端瀏覽器,若是禁用了Cookie,Servlet能夠重寫客戶請求的URL,把SessionID放入URL中

c、HttpServletResponse接口提供重寫String.encodeURL(url)

2六、IOC注入方式:屬性注入,構造注入

沒有設值注入的狀況下,會根據配置文件構造注入,有的話,構造注入失效

2七、在Spring框架中獲取鏈接池的方法

a、DBCP數據源

b、C3P0數據源

c、Spring的DriverManagerDataSourse

d、獲取JNDI數據源

2八、Spring能夠配置文件中配置Bean初始化和消亡函數

2九、doget和dopost是HttpServlet的方法

Servlet:init(),service(),destory()

RequestDispatcher:forward()

30、spring的優勢

(1)下降耦合性   (2)容器提供單例模式支持   (3)提供aop技術,權限攔截,運行期監控   (4)低侵入式設計

(5)spring的DI機制下降業務對象替換的複雜性

IOC  工廠模式       AOP代理模式

3一、IOC是指控制權由應用代碼轉到外部容器

Servlet接口定義了Servlet的生命週期

IOC由Spring負責控制對象的生命週期和對象間的關係

ApplicationContext創建在BeanFactory之上,提供系統架構服務

3二、BeanFactory和ApplicationContext

相同:同過xml配置文件加載Bean,ApplicationContext由BeanFactory接口派生

不一樣:Beanfactory是延遲加載,直到第一次調用getBean纔會報錯。ApplicationContext則在初始化時檢驗

3三、SSH         struts控制器       spring管理各層        hibernate持久層

SSM           springmvc              spring                    Mybatis

3四、Struts2和Springmvc原理  (自行google或baidu,兩個流程圖)

 

參考書籍:Tomcat與java web 開發技術詳解(第二版)孫衛琴大型網站技術架構:核心原理與案例分析-李智慧spring實戰spring技術內幕

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

 以上爲maplefighting我的筆記整理,若有出錯,歡迎指正

相關文章
相關標籤/搜索