java web開發這些細節你真的掌握了嗎

穿格子衣上班發表於2019-04-26

1.MVC 設計思路和層次結構還不清楚,不會獨立搭建。

答:mvc是一種程式碼開發的結構思想,目的是為了簡化開發,將程式碼按照功能的不同分成了三個層次:Moldel(dao層:負責訪問資料庫,和service層:處理業務邏輯演算法)、Controller(處理請求)、view(顯示資料)

java web開發這些細節你真的掌握了嗎
2.對 servlet 的概念很模糊,尤其 resp和 req 的功能區別

答:要實現使用者請求的處理,需要一個容器,容器的作用是接受使用者的請求,並且做出響應,但是要處理請求需要將請求分配一些程式去處理,此時就需要在容器(tomcat)中存在一些物件,之後將請求分配這些物件去處理,這些物件就是servlet程式。

  • response主要負責響應資料,不需要你去操作,會自動把資料響應給瀏覽器,其中你可以操作的最常見方式是可以設定響應的字元編碼和MIME格式。
  • requset最大的作用可以取得客戶端(瀏覽器)從編導中或者位址列中傳遞的引數(request.getParameter("ssss")),可以把查詢的資料儲存到該物件中之後跳轉到jsp頁面顯示儲存的資料。

3.request,session 和 application 三個內建物件的儲存資料的用法和區別

  • request儲存的屬性在一次請求範圍內有效,經過一次客戶端跳轉之後就無效了。
  • session表示一個使用者(會話),儲存在該物件中的屬性是在一個使用者範圍內有效,也就是你經過客戶端跳轉之後還是存在,當關閉瀏覽器或者使用其他瀏覽器訪問的時候資料失效。
  • session最大的作用是儲存使用者的資訊,實現登入驗證
  • application,是表示伺服器範圍的一個內建物件,儲存該物件中的屬性是所有使用者共享的,只有關閉伺服器或者重啟伺服器的時候失效。

4.在web.xml 中配置對映路徑和使用註解有區別?

在web.xml配置存在一個問題,如果有一百個對映路徑要配置就會不方便維護,但是使用註解配置就顯得簡單很多,方便維護。

5、localhost/Dproject/emp_list.jsp和http://localhost/Dproject/emp/list的區別?

  • 第一個直接訪問emp_list.jsp,此時訪問的時候是沒有任何資料的,因為沒有訪問到servlet,所以沒有資料,
  • 第二個是先訪問了servlet,在servlet中取得了資料,之後將資料儲存到request 內建物件,然後帶著資料跳轉到jsp頁面,就可以使用el+jstl將資料取出來顯示到頁面。

6.servletcontext 和 servletconfig 的作用

首先ServletContext是application,儲存 的資料是所有使用者共享的,最典型的作用是實現使用者的線上監聽. servletConfig是config內建物件的型別,最大作用是可以取得配置檔案中的一些初始化引數 1

7.bootstrap 的匯入和載入使用

java web開發這些細節你真的掌握了嗎

8.講一下伺服器,客戶端之間資訊互動的架構,傳輸的過程具體是怎麼樣的,請求和響應,request的 getAttribute 和 getParameter 兩種屬性值的區別是什麼,分別是從哪裡取得的資料,這資料又是傳遞給誰;

答:所有請求都是通過瀏覽器去傳送到伺服器,那麼傳送的過程中肯定要進行資料的互動,互動的主題就是計算機,要實現互動就需要遵循一定的規則,這個規則是http協議,資料就通過請求的方式傳遞給伺服器端,伺服器處理之後給出一個響應,資料就可以在瀏覽器顯示。

在瀏覽器解釋到src、href會傳送請求。

request的 getAttribute 和 getParameter

  • getAttribute 取得是使用setAttribute儲存的屬性的值
  • getParameter 取得的是客戶端提交的資料(表單或者位址列、js的非同步請求)

9.在瀏覽器輸入地址時,emp 什麼意思,為什麼沒有 main 函式,這種類類可以有多個嗎。

答:/emp/表示的對映路徑的前面部分,在se的時候使用的是點選執行之後會自動執行main函式,這是一個執行緒,叫做主執行緒,但是需要點選之後才會啟動該執行緒。

當一個請求傳送給容器的時候,容器會自動分配一個執行緒來負責該請求的處理,這個執行緒是容器已經啟動了。

10.getRequestDispatcher 和 sendRedirect 的區別

  • getRequestDispatcher 是request內建物件的方法,實現伺服器端跳轉。
  • sendRedirect 是response內建物件的方法 ,實現的是客戶端跳轉

11.JDBC 中資料庫連線池的概念

因為取得連線和是需要時間的,如果要取得大量的連線(高併發訪問的時候),此時就會很慢,提出瞭解決方案:在程式一啟動的時候建立若干連線儲存到一個池中,這個池就是資料庫連線池,在以後的連線就交給連線池去管理,當需要的時候直接從連線中取得,而不是重新去建立,這樣就節省了時間,減少了時間複雜度,但是增加了空間複雜度。

相關文章