Servlet知識點


Servlet-第一節
--------------------------------------------------------------------------------------------------------------------------------------------------
一、Servlet的映射路徑有哪些?
精確映射:/abc 客戶端只能以/abc訪問servlet
擴展映射:*.do 客戶端以.do結尾的請求都能訪問servlet
路徑映射:/abc/* 客戶端以/abc/開始的請求都能訪問servletcss

二、描述Servlet的生命週期,熟練掌握
一、啓動tomcat,讀取conf/server.xml,肯定啓動端口和web應用程序存放目錄
二、讀取並解析每一個web應用程序的web.xml文件,以肯定web組件的註冊信息,一旦有一個web應用程序的web.xml文件書寫有誤,會致使解析失敗,拋出異常。
三、加載並實例化servlet。若是在註冊servlet時,加入了<load-on-startup>標籤,並該標籤的值爲正數,表示容器啓動就實例化。不然,第一次訪問servlet實例化。
四、調用init()完成初始化。
五、請求到達時,調用service()完成業務操做
六、銷燬階段,調用destroy()完成資源清理。html


三、ServletConfig和ServletContext的做用。
ServletConfig是配置接口,利用該接口對象的getInitParameter()能夠獲得該servlet的初始化配置信息。
ServletContext是全局對象。主要做用有三個:一、讀取<context-param>全局參數
二、能夠將虛擬路徑轉化爲物理路徑
三、能夠綁定對象在全局共享java

四、如何定義Servlet的初始化參數?Servlet的初始化參數如何獲取?
<servlet>
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
</servlet>
ServletConfig對象.getInitParameter();web


五、如何定義Servlet的全局參數?Servlet的全局參數如何獲取?
<web-app>
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
</web-app>
ServletContext對象.getInitParamter()數據庫


六、如何獲得web應用中文件的真實路徑。
ServletContext對象.getRealPath("/img/ss.jpg");數組


七、如何綁定和獲取全局共享對象?
ServletContext對象.setAttribute("鍵",共享對象);
ServletContext對象.getAttribute("鍵");獲得共享對象瀏覽器


八、狀態碼有幾種?各表明什麼含義。
1開始:請求在進行中
2開始:請求成功
3開始:表示資源移走,請求新的地址
4開始:客戶端引起的異常
5開始:服務器引起的異常tomcat

九、響應頭如何設置?
response.setHeader("鍵","值");安全

十、響應信息消息體的形式有哪些?
一、向客戶端發送文本數據。response.getWriter()
二、向客戶端發送二進制數據。response.getOutputStream();服務器


十一、建立學生表t_student,字段:學號、姓名、電話、生日
建立查詢所有的Servlet,以表格方式顯示所有數據。
在每一行中,添加刪除超連接,點擊後,能夠按學號刪除學生。
在每一行中,添加修改超連接,點擊後,顯示學生信息,並能夠修改該學生的電話。

 


Servlet-第二節
--------------------------------------------------------------------------------------------------------------------------------------------------
一、Http全稱叫什麼?有什麼特色?端口號是多少?
http全稱叫超文本傳輸協議。特色:遵循請求/響應模型。無狀態的協議。端口:80

二、HTTP處理流程是怎麼樣的?
一、客戶端和服務器創建鏈接
二、客戶端發出請求
三、服務器產生響應
四、關閉鏈接

三、HTTP請求信息和響應信息包括哪些內容?
請求信息:請求行、請求頭,空行,消息體
響應信息:狀態行、響應頭、空行、消息體

四、Web服務器的缺陷是什麼?
傳統的Web服務器只能產生靜態的html頁面,極大影響響應信息的靈活性。

五、什麼是輔助應用?Java的解決方案是什麼?
輔助應用是爲了解決Web服務器缺陷而產生的。輔助應用容許服務器在接收到請求信息之後,進行相關的業務操做,並動態產生響應信息。java的解決方案是Web容器+Servlet。

六、Web容器對servlet支持包括哪些?
一、通訊支持 二、Servlet生命週期管理 三、多線程支持 四、jsp支持 五、處理安全性

七、Java Web應用程序目錄結構是怎麼樣的?
在根目錄或根目錄的子目錄,存放能被客戶端直接訪問的資源,好比:圖片、css文件、html、js文件。在根目錄下須要提供WEB-INF目錄,該目錄存放比較隱祕的信息。該目錄下的資源不能被客戶端直接訪問。在WEB-INF目錄中,有classes目錄存放開發者編寫的類生成class文件;有lib目錄存放第三方的jar包。web.xml文件用於web組件的註冊。

八、WEB-INF的做用是什麼?
九、Tomcat結構是怎樣的?
bin:存放可執行文件
conf:存放配置文件
lib:存放tomcat運行時須要使用的jar包
logs:存放日誌文件
temp:存放臨時文件
webapps:存放web應用程序
work:對jsp作支持

十、servlet的類架構是怎樣的?
按照Servlet規範,Servlet爲業務接口,提供service方法由開發書寫業務操做。ServletConfig爲配置接口,提供Servlet的初始信息。因爲兩個接口方法較多,因此提供了適配器類GenericServlet。對兩個接口的大部分方法作了簡單的實現。但沒有實現service()。該方法由它的子類根據自身協議的特色作實現。HttpServlet根據Http協議重寫了該方法,根據不一樣的請求方式,調用doXX()。

十一、servlet如何註冊?要求熟練掌握
<servlet>
<servlet-name>ddd</servlet-name>
<servlet-class>類全路徑</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ddd</servlet-name>
<url-pattern>/aaa</url-pattern>
</servlet-mapping>


十二、如何解決輸出中文亂碼問題,如何解決表單數據的亂碼問題?
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");


1三、編碼題:
表結構:id userName sex age
完成一個servlet,訪問該servlet並查詢數據庫。輸出一個表中全部的記錄內容。書寫一個網頁,創建表單,當用戶在表單中輸入姓名,能夠按姓名模糊查詢數據庫的內容


Servlet-第三節
--------------------------------------------------------------------------------------------------------------------------------------------------
1.重定向的工做流程。
客戶端向服務器發出請求,Servlet調用response.sendRedirect()。重定向到指定資源。產生響應時,會產生302狀態碼,同時產生location響應頭。在location響應頭中指明資源的路徑。客戶端在接收到響應信息後,發現是302狀態碼,會讀取location響應頭,再向服務器發出第二次請求

2.http請求協議中包含哪幾部份。
請求行,請求頭,空行,消息體

3.如何得到請求頭
request.getHeader("");

4.解釋get請求和post請求的區別,哪些請求是get,哪一種是post.
get與post的區別:
一、流格式的區別 get請求信息分爲請求行,請求頭,空行。 POST請求分爲請求行,請求頭,空行,消息體。
二、用途的區別 get主要用於資源的查找。POST方式主要用於數據的傳輸。
三、傳輸性能的區別 get方式只能傳輸文本數據,不能傳輸大數據,表單數據會顯示在瀏覽器地址欄,不安全。
post方式能夠傳輸文本和二進制數據。能夠傳輸大數據,表單數據不會顯示在瀏覽器地址欄,相對安全。


5.request對象如何獲取表單數據.
getParameter(),返回字符串類型,根據鍵獲得值。若是有多個同名鍵值對,只能返回第一個值。
getParameterValues,返回字符串數組,根據鍵,獲得該鍵對應的全部值。

六、在商品項目中,完成批量刪除。在每一行中添加複選框,向服務器傳入須要刪除商品ID,在服務器建立servlet完成批量刪除後,請求轉發到顯示所有的servlet。

相關文章
相關標籤/搜索