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