摘要:中的異步處理指的是什么中的異步處理指的是什么答在中引入了一項(xiàng)新的技術(shù)可以讓異步處理請(qǐng)求。開(kāi)啟異步處理代碼開(kāi)啟異步支持啟動(dòng)異步處理的上下文在此處添加異步處理的代碼如果文章有錯(cuò)的地方歡迎指正,大家互相交流。
以下我是歸納的過(guò)濾器監(jiān)聽(tīng)器知識(shí)點(diǎn)圖:
圖上的知識(shí)點(diǎn)都可以在我其他的文章內(nèi)找到相應(yīng)內(nèi)容。
如果文章有錯(cuò)的地方歡迎指正,大家互相交流。習(xí)慣在微信看技術(shù)文章的同學(xué),可以關(guān)注微信公眾號(hào):Java3y監(jiān)聽(tīng)器常見(jiàn)面試題 監(jiān)聽(tīng)器有哪些作用和用法?
監(jiān)聽(tīng)器有哪些作用和用法?
Java Web開(kāi)發(fā)中的監(jiān)聽(tīng)器(listener)就是application、session、request三個(gè)對(duì)象創(chuàng)建、銷(xiāo)毀或者往其中添加修改刪除屬性時(shí)自動(dòng)執(zhí)行代碼的功能組件,如下所示:
①ServletContextListener:對(duì)Servlet上下文的創(chuàng)建和銷(xiāo)毀進(jìn)行監(jiān)聽(tīng)。
②ServletContextAttributeListener:監(jiān)聽(tīng)Servlet上下文屬性的添加、刪除和替換。
③HttpSessionListener:對(duì)Session的創(chuàng)建和銷(xiāo)毀進(jìn)行監(jiān)聽(tīng)。
補(bǔ) 充:session的銷(xiāo)毀有兩種情況:
session超時(shí)(可以在web.xml中通過(guò)
通過(guò)調(diào)用session對(duì)象的invalidate()方 法使session失效。
④HttpSessionAttributeListener:對(duì)Session對(duì)象中屬性的添加、刪除和替換進(jìn)行監(jiān)聽(tīng)。
⑤ServletRequestListener:對(duì)請(qǐng)求對(duì)象的初始化和銷(xiāo)毀進(jìn)行監(jiān)聽(tīng)。
⑥ServletRequestAttributeListener:對(duì)請(qǐng)求對(duì)象屬性的添加、刪除和替換進(jìn)行監(jiān)聽(tīng)。
常見(jiàn)的監(jiān)聽(tīng)器用途主要包括:網(wǎng)站在線人數(shù)技術(shù)、監(jiān)聽(tīng)用戶的行為(管理員踢人)。
過(guò)濾器常見(jiàn)面試題 過(guò)濾器有哪些作用和用法?過(guò)濾器有哪些作用和用法?
Java Web開(kāi)發(fā)中的過(guò)濾器(filter)是從Servlet 2.3規(guī)范開(kāi)始增加的功能,并在Servlet 2.4規(guī)范中得到增強(qiáng)。對(duì)Web應(yīng)用來(lái)說(shuō),過(guò)濾器是一個(gè)駐留在服務(wù)器端的Web組件,它可以截取客戶端和服務(wù)器之間的請(qǐng)求與響應(yīng)信息,并對(duì)這些信息進(jìn)行過(guò) 濾。當(dāng)Web容器接受到一個(gè)對(duì)資源的請(qǐng)求時(shí),它將判斷是否有過(guò)濾器與這個(gè)資源相關(guān)聯(lián)。如果有,那么容器將把請(qǐng)求交給過(guò)濾器進(jìn)行處理。在過(guò)濾器中,你可以改 變請(qǐng)求的內(nèi)容,或者重新設(shè)置請(qǐng)求的報(bào)頭信息,然后再將請(qǐng)求發(fā)送給目標(biāo)資源。當(dāng)目標(biāo)資源對(duì)請(qǐng)求作出響應(yīng)時(shí)候,容器同樣會(huì)將響應(yīng)先轉(zhuǎn)發(fā)給過(guò)濾器,再過(guò)濾器中, 你可以對(duì)響應(yīng)的內(nèi)容進(jìn)行轉(zhuǎn)換,然后再將響應(yīng)發(fā)送到客戶端。
常見(jiàn)的過(guò)濾器用途主要包括:對(duì)用戶請(qǐng)求進(jìn)行統(tǒng)一認(rèn)證、對(duì)用戶的訪問(wèn)請(qǐng)求進(jìn)行記錄和審核、對(duì)用戶發(fā)送的數(shù)據(jù)進(jìn)行過(guò)濾或替換、轉(zhuǎn)換圖象格式、對(duì)響應(yīng)內(nèi)容進(jìn)行壓縮以減少傳輸量、對(duì)請(qǐng)求或響應(yīng)進(jìn)行加解密處理、觸發(fā)資源訪問(wèn)事件、對(duì)XML的輸出應(yīng)用XSLT等。
和過(guò)濾器相關(guān)的接口主要有:Filter、FilterConfig、FilterChain
Java Web常見(jiàn)面試題 web.xml 的作用?web.xml 的作用?
答:用于配置Web應(yīng)用的相關(guān)信息,如:監(jiān)聽(tīng)器(listener)、過(guò)濾器(filter)、 Servlet、相關(guān)參數(shù)、會(huì)話超時(shí)時(shí)間、安全驗(yàn)證方式、錯(cuò)誤頁(yè)面等。例如:
①配置Spring上下文加載監(jiān)聽(tīng)器加載Spring配置文件:
contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener
②配置Spring的OpenSessionInView過(guò)濾器來(lái)解決延遲加載和Hibernate會(huì)話關(guān)閉的矛盾:
openSessionInView org.springframework.orm.hibernate3.support.OpenSessionInViewFilter openSessionInView /*
③配置會(huì)話超時(shí)時(shí)間為10分鐘:
10
④配置404和Exception的錯(cuò)誤頁(yè)面:
[html] view plaincopy在CODE上查看代碼片派生到我的代碼片404 /error.jsp java.lang.Exception /error.jsp
⑤配置安全認(rèn)證方式:
ProtectedArea /admin/* GET POST admin BASIC admin
【補(bǔ) 充1】從Servlet 3開(kāi)始,可以不用在web.xml中部署Servlet(小服務(wù))、Filter(過(guò)濾器)、Listener(監(jiān)聽(tīng)器)等Web組件,Servlet 3提供了基于注解的部署方式,可以分別使用@WebServlet、@WebFilter、@WebListener三個(gè)部署小服務(wù)、過(guò)濾器、監(jiān)聽(tīng)器。
【補(bǔ)充2】如果Web提供了有價(jià)值的商業(yè)信息或者是敏感數(shù)據(jù),那么站點(diǎn)的安全性就是必須考慮的問(wèn)題。安全認(rèn)證是實(shí)現(xiàn)安全性的重要手段,認(rèn)證就是要解決“Are you who you say you are?”的問(wèn)題。認(rèn)證的方式非常多,簡(jiǎn)單說(shuō)來(lái)可以分為三類:
A.What you know? --口令
B.What you have? --數(shù)字證書(shū)(U盾、密保卡)
C.Who you are? -- 指紋識(shí)別、虹膜識(shí)別
在Tomcat中可以通過(guò)建立安全套接字層(Secure Socket Layer, SSL)以及通過(guò)基本驗(yàn)證或表單驗(yàn)證來(lái)實(shí)現(xiàn)對(duì)安全性的支持。
Servlet 3中的異步處理指的是什么?Servlet 3中的異步處理指的是什么?
答: 在Servlet 3中引入了一項(xiàng)新的技術(shù)可以讓Servlet異步處理請(qǐng)求。有人可能會(huì)質(zhì)疑,既然都有多線程了,還需要異步處理請(qǐng)求嗎?答案是肯定的,因?yàn)槿绻粋€(gè)任務(wù)處 理時(shí)間相當(dāng)長(zhǎng),那么Servlet或Filter會(huì)一直占用著請(qǐng)求處理線程直到任務(wù)結(jié)束,隨著并發(fā)用戶的增加,容器將會(huì)遭遇線程超出的風(fēng)險(xiǎn),這這種情況下 很多的請(qǐng)求將會(huì)被堆積起來(lái)而后續(xù)的請(qǐng)求可能會(huì)遭遇拒絕服務(wù),直到有資源可以處理請(qǐng)求為止。異步特性可以幫助應(yīng)用節(jié)省容器中的線程,特別適合執(zhí)行時(shí)間長(zhǎng)而且 用戶需要得到結(jié)果的任務(wù),如果用戶不需要得到結(jié)果則直接將一個(gè)Runnable對(duì)象交給Executor(如果不清楚請(qǐng)查看前文關(guān)于多線程和線程池的部 分)并立即返回即可。
開(kāi)啟異步處理代碼:
@WebServlet(urlPatterns = {"/async"}, asyncSupported = true) public class AsyncServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 開(kāi)啟Tomcat異步Servlet支持 req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true); final AsyncContext ctx = req.startAsync(); // 啟動(dòng)異步處理的上下文 // ctx.setTimeout(30000); ctx.start(new Runnable() { @Override public void run() { // 在此處添加異步處理的代碼 ctx.complete(); } }); } }
如果文章有錯(cuò)的地方歡迎指正,大家互相交流。習(xí)慣在微信看技術(shù)文章的同學(xué),可以關(guān)注微信公眾號(hào):Java3y
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/70965.html
摘要:前言由于寫(xiě)的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫(xiě)的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡(jiǎn)單 注解就這么簡(jiǎn)單 Druid數(shù)據(jù)庫(kù)連接池...
摘要:我在面試前針對(duì)基礎(chǔ)也花了不少的時(shí)間,期間也將自己寫(xiě)過(guò)的博文粗略地刷了一遍,同時(shí)也在網(wǎng)上找了不少比較好的資料部分是沒(méi)看完的。看面試題也是校驗(yàn)自己是否真正理解了這個(gè)知識(shí)點(diǎn),也很有可能會(huì)有新的收獲。 一、前言 只有光頭才能變強(qiáng) 回顧前面: 廣州三本找Java實(shí)習(xí)經(jīng)歷 上一篇寫(xiě)了自己面試的經(jīng)歷和一些在面試的時(shí)候遇到的題目(筆試題和面試題)。 我在面試前針對(duì)Java基礎(chǔ)也花了不少的時(shí)間,期間也將...
摘要:常見(jiàn)面試題什么是,為什么要使用是的縮寫(xiě)。該對(duì)象在中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。頭信息已經(jīng)接收,響應(yīng)數(shù)據(jù)尚未接收。同源策略是客戶端腳本尤其是的重要的安全度量標(biāo)準(zhǔn)。這樣頁(yè)面的所有都會(huì)執(zhí)行這條語(yǔ)句就是不需要保存緩存記錄。 AJAX常見(jiàn)面試題 什么是AJAX,為什么要使用Ajax AJAX是Asynchronous JavaScript and XML的縮寫(xiě)。他是指一種創(chuàng)建交互式網(wǎng)頁(yè)...
摘要:當(dāng)被實(shí)例化后,會(huì)調(diào)用方法初始化這個(gè)對(duì)象處理服務(wù)。方式可以在請(qǐng)求的實(shí)體內(nèi)容中向服務(wù)器發(fā)送數(shù)據(jù),傳送的數(shù)據(jù)量無(wú)限制。不存在敏感信息泄露問(wèn)題。并且依賴于名為的,該默認(rèn)的屬性為。 下面是我整理下來(lái)的Servlet知識(shí)點(diǎn): showImg(https://segmentfault.com/img/bV3c9e);? 圖上的知識(shí)點(diǎn)都可以在我其他的文章內(nèi)找到相應(yīng)內(nèi)容。 Tomcat常見(jiàn)面試題 Tom...
閱讀 1143·2021-08-12 13:24
閱讀 2990·2019-08-30 14:16
閱讀 3315·2019-08-30 13:01
閱讀 2078·2019-08-30 11:03
閱讀 2779·2019-08-28 17:53
閱讀 3093·2019-08-26 13:50
閱讀 2273·2019-08-26 12:00
閱讀 956·2019-08-26 10:38