【7】進大廠必須掌握的面試題-Java面試-Jsp
1. jsp的生命周期方法是什麼?
方法 | 描述 |
---|---|
公共無效的jspInit() | 與servlet的init方法相同,僅被調用一次。 |
公共無效_jspService(ServletRequest request,ServletResponse)引發ServletException,IOException | 它在每次請求時都被調用,與servlet的service()方法相同。 |
公共無效的jspDestroy() | 與servlet的destroy()方法相同,僅調用一次。 |
2.什麼是JSP隱式對象?
默認情況下,JSP提供9個隱式對象。它們如下:
對象 | 類型 |
---|---|
1)out | JspWriter |
2)request | HttpServletRequest |
3)response | HttpServletResponse |
4)config | ServletConfig |
5)session | HttpSession |
6)application | ServletContext |
7)pageContext | PageContext |
8)page | Object |
9)exception | Throwable |
3. include指令和include操作之間有什麼區別?
包含指令 | 包括動作 |
---|---|
include指令包含頁面翻譯時的內容。 | 包含動作包含請求時的內容。 |
include指令包含頁面的原始內容,因此頁面大小會在運行時增加。 | include操作不包含原始內容,而是調用Vendor提供的類的include()方法。 |
靜態頁面更好。 | 動態頁面更好。 |
4.如何禁用瀏覽器後退按鈕上的快取?
<**%
response.setHeader(「 Cache-Control」,「 no-store」);
response.setHeader(「 Pragma」,「 no-cache」);
response.setHeader(「 Expires」,「 0」); //防止在代理伺服器上快取
%**>
5. JSTL中提供了哪些不同的標記?
JSTL標籤有5種類型。
- 核心標籤
- sql標籤
- xml標籤
- 國際化標籤
- 功能標籤
6.如何在JSP中禁用會話?
<%@ page session=「false」 %>
7.如何在JSP中刪除Cookie?
以下程式碼說明了如何在JSP中刪除Cookie:
Cookie mycook = new Cookie("name1","value1");
response.addCookie(mycook1);
Cookie killmycook = new Cookie("mycook1","value1");
killmycook.set MaxAge ( 0 );
killmycook.set Path ("/");
killmycook.addCookie ( killmycook 1 );
8.解釋jspDestroy()方法。
每當要銷毀JSP頁面時,都會從javax.servlet.jsp.JspPage介面調用jspDestry()方法。Servlet的destroy方法可以很容易地被覆蓋以執行清理,例如關閉資料庫連接時。
9. JSP是否比Servlet技術更好?
JSP是伺服器方面的一項技術,可簡化內容生成。它們以文檔為中心,而servlet是程式。Java伺服器頁面可以包含Java程式的片段,這些片段執行和實例化Java類。但是,它們出現在HTML模板文件中。它提供了開發Web應用程式的框架。
10.為什麼我們不應該在web.xml中配置JSP標準標記?
我們不需要在web.xml中配置JSP標準標記,因為當容器載入Web應用程式並找到TLD文件時,它會自動將它們配置為直接在應用程式JSP頁面中使用。我們只需要使用taglib指令將其包含在JSP頁面中即可。
11.您將如何使用JSP EL以獲得HTTP方法名稱?
使用pageContext JSP EL隱式對象,您可以獲取請求對象引用,並使用點運算符在JSP頁面中檢索HTTP方法名稱。用於此目的的JSP EL程式碼將類似於$ {pageContext.request.method}。