Java面试题日积月累(jsp/Servlet面试题20道)
目錄
1、jsp中兩種注釋的區別: 、<%--注釋內容--%>
2、如何修改tomcat端口號
3、談下什么是jsp指令、jsp腳本片斷、jsp聲明、jsp表達式(*)
4、重定向與轉發的區別(*)
6、get與post請求的區別(*)
7、文件存放在WEB-INF與WebContent(WebRoot)下的區別
8、如何解決get請求與post請求中文亂碼問題
9、Servlet的生命周期(*)
10、jsp與Servlet的區別(*)
11、jsp中的9大內置對象
12、jsp中動態引入與靜態引入的區別(*)
13、java中的有哪些域對象(*)
15、request對象中的主要方法
16、什么是過濾器,過濾器的生命周期(*)
17、jsp中有哪些動作?作用分別是什么?
18、getParameter與getAttribute方法有什么區別
19、什么是EL表達式(*)
20、JSTL常用標簽(*)
1、jsp中兩種注釋的區別:<!--注釋內容--> 、<%--注釋內容--%>
(1)、<!--注釋內容-->只能夠注釋前端內容(html等);<%--注釋內容--%>既可以注釋HTML也可以注釋Java代碼
(2)、<!--注釋內容-->在查看網頁源代碼的時候可以看到,<%--注釋內容--%>不能夠被看到。
?
2、如何修改tomcat端口號
(1)、修改tomcat下的server.xml文件
(2)、通過eclipse工具來修改
3、談下什么是jsp指令、jsp腳本片斷、jsp聲明、jsp表達式(*)
(1)、jsp指令:jsp中有3大指令。語法:<%@ 指令名 %>。
page指令、include指令、taglib指令
(2)、jsp腳本片斷:在腳本片斷中書寫代碼,就如同在某一個方法體中書寫java代碼,因此jsp腳本片斷中不能夠定義方法。語法:<%Java代碼%>
(3)、jsp聲明:由于jsp腳本片斷中不能夠定義方法,為了彌補這個缺陷,發生一個Jsp聲明的語法,在Jsp聲明中可以定義方法。
(4)、jsp表達式:<%= %>
4、重定向與轉發的區別(*)
1、重定向時地址欄會發生改變;轉發地址欄不會發生改變
2、重定向請求服務器2次;轉發只請求服務器一次
3、重定向調用的是response對象中的方法;轉發調用的是request對象中的方法
5、配置Servlet虛擬路徑的方式
(1)、通過注解
(2)、通過web.xml配置文件
6、get與post請求的區別(*)
請求方式:get、post、
(1)get請求:數據會在地址欄上顯示出來,因此不要傳遞敏感數據。
(2)get請求:傳遞的數據量有限,因此對于有文件上傳的數據時不要使用get請求。
(3)post請求:傳遞的參數不會在地址欄中顯示出來,因此可以傳遞敏感數據
(4)post請求:傳遞的數據可以有很多,因此文件上傳是可以使用Post請求。
7、文件存放在WEB-INF與WebContent(WebRoot)下的區別
(1)、文件存放到WebContent文件夾下可以直接訪問;但是存放到WEB-INF的文件不能夠直接訪問,一般需要通過轉發來訪問。
(2)、文件保存到WEB-INF下更加安全。
8、如何解決get請求與post請求中文亂碼問題
(1)POST請求中文亂碼問題:
request.setCharacterEncoding(“UTF-8”);
response.setCharachterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=UTF-8”);
(2)GET請求中文亂碼問題:修改tomcat的編碼(ISO8859-1)--->UTF-8
?
9、Servlet的生命周期(*)
?
10、jsp與Servlet的區別(*)
(1)、jsp與servlet中都可以書寫java代碼與標簽,jsp擅長書寫標簽等;servlet擅長書寫java
代碼。
(2)、jsp其實本質上就是一個servlet
11、jsp中的9大內置對象
?
12、jsp中動態引入與靜態引入的區別(*)
靜態引入:<%@ include file=”路徑” %>
首先將多個jsp文件合并為一個Jsp,合并完成之后再將合并好的Jsp文件翻譯成servlet
動態引入:<jsp:include page=”路徑”>
首先將多個jsp文件分別翻譯成對應的servlet,然后在運行的時候再將多個servlet的內容動態的拼接起來
13、java中的有哪些域對象(*)
java中有4大域對象,按照生命周期由小到大分別為:page域--->request--->session---->application
域對象的特點:
(1)、域對象由服務器創建,不由程序員New
(2)、域對象可以存取數據:域對象.setAttribute(String,Object)、域對象.getAttribute(String)
(3)、域對象都有范圍
14、session與cookie的區別(*)
(1)、session將數據保存到服務器端,cookie將數據保存到用戶瀏覽器中
(2)、session底層是基于cookie的。
(3)、cookie可以用來做xxx小時免登陸,session主要存放用戶登錄成功的標記
15、request對象中的主要方法
16、什么是過濾器,過濾器的生命周期(*)
17、jsp中有哪些動作?作用分別是什么?
JSP中共有6種基本動作
jsp:include-->動態引入
jsp:useBean--->尋找或者實例化一個JavaBean
jsp:setProperty--->設置JavaBean的屬性
jsp:getProperty--->輸出某個JavaBean的屬性
jsp:forward--->把請求轉到一個新的頁面(轉發)
jsp:plugin---->根據瀏覽器類型生成Java插件的Object對象
18、getParameter與getAttribute方法有什么區別
(1)、getParameter:從request對象中獲取表單頁面或者其他方式傳遞過來的參數,當獲取的參數信息不存在時返回值為null
(2)、getAttribute(String key):獲取保存在域對象(page、request、session、application)中的數據
區別:
(1)、getParameter是從request對象中獲取參數;getAttribute是從域對象中獲取之前保存好的數據
(2)、getParamer返回值類型為String,getAttribute返回值類型為Object
19、什么是EL表達式(*)
EL表達式:表達式語言。
作用:在Jsp中雖然可以書寫java代碼,但是不推薦這么做。EL可以代替部分的java代碼,而且EL表達式也可以從域中獲取數據,當獲取的數據不存在時返回的是””
20、JSTL常用標簽(*)
JSTL:java標準的標簽庫
<c:if test=””>
<c:forEach>
<c:redirect>
<c:choose>
<c:when>
<c:otherwise>
總結
以上是生活随笔為你收集整理的Java面试题日积月累(jsp/Servlet面试题20道)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 干货,记一次解决录音杂音问题
- 下一篇: SQL Server 2012 数据库可