更新時(shí)間:2019-07-22 11:42:36 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽4982次
在2019年Java程序員備戰(zhàn)面試的過(guò)程中,整理一下面試題,大多數(shù)題目都是自己手敲的,網(wǎng)上也有很多這樣的總結(jié),總是很亂,所以小編花了一些時(shí)間把自己覺(jué)得重要的東西總結(jié)了一下。

@PathVariable注解和@RequestParam注解的區(qū)別。
@RequestParam注解是獲取靜態(tài)URL傳入的參數(shù)
@PathVariable是獲取請(qǐng)求路徑中的變量作為參數(shù)
/需要和@RequestMapping("item/{itemId}")配合使用
@Param注解和@RequestParam注解的區(qū)別。
@Parm 指定request中必須包含某些參數(shù)值是,才讓該方法處理。
注意@RequestMapping(value="test",params={"username","age!=10"})
@param一般標(biāo)注在xxxmapper.Java文件中的參數(shù)位置,代表給傳入的參數(shù)別名,一般用在傳入多個(gè)參數(shù)的時(shí)候,在xml文件中使用sql語(yǔ)句通過(guò)占#{} ${}占位符來(lái)獲取
#{}防止sql注入
@RequestParam value請(qǐng)求的參數(shù) defaultvalue
1.request.getParameter(“參數(shù)名”)
2.用@RequestParam注解獲取
Servlet標(biāo)準(zhǔn)中的過(guò)濾器:Filter和SpringMVC中的攔截器:Interceptor有什么異同?
Filter:
在HttpServletRequest到達(dá)Servlet之前,攔截客戶的HttpServletRequest。
根據(jù)需要檢查HttpServletRequest,也可以修改HttpServletRequest頭和數(shù)據(jù)。
在HttpServletResponse到達(dá)客戶端之前,攔截HttpServletResponse。
根據(jù)需要檢查HttpServletResponse,也可以修改HttpServletResponse頭和數(shù)據(jù)。
兩者的本質(zhì)區(qū)別:
1、攔截器是基于java的反射機(jī)制的,而過(guò)濾器是基于函數(shù)回調(diào)
2、過(guò)濾器依賴與servlet容器,而攔截器不依賴與servlet容器依賴spring容器
3、攔截器只能對(duì)action請(qǐng)求起作用,而過(guò)濾器則可以對(duì)幾乎所有的請(qǐng)求起作用
4、攔截器可以訪問(wèn)action上下文、值棧里的對(duì)象,而過(guò)濾器不能
5、在action的生命周期中,攔截器可以多次被調(diào)用,而過(guò)濾器只能在容器初始化時(shí)被調(diào)用一次
執(zhí)行順序:過(guò)濾前-攔截前-Action處理-攔截后-過(guò)濾后。
攔截器有前置/后置/完成三個(gè)方法,在沒(méi)有執(zhí)行到處理器(controller)時(shí)不會(huì)只執(zhí)行任何攔截器比如我controller沒(méi)有/user路徑
多個(gè)執(zhí)行順序前1前2前3后3后2后1完3完2完1
2returnfalse前1前2完1
?。〝r截了沒(méi)有到達(dá)處理器,都不會(huì)觸發(fā)后置)
前置方法為true時(shí)必定有完成方法
在Mybatis環(huán)境中如何在SQL語(yǔ)句中引用接口方法傳入的參數(shù)?
一. 用Map,在方法體里,我們把多個(gè)參數(shù)存放在map里,然后在前面獲得它
二. 用ibatis中的@Param
在Mybatis環(huán)境中如何在SQL語(yǔ)句中引用接口方法傳入的參數(shù)?
一. 用Map,在方法體里,我們把多個(gè)參數(shù)存放在map里,然后在前面獲得它
二. 用ibatis中的@Param
請(qǐng)介紹一下Maven依賴范圍中compile、test、provided這三種情況
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)