日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)建Servlet過(guò)濾器的向?qū)?/div>

過(guò)濾器可以在請(qǐng)求到達(dá)JSP或Servlet之前或響應(yīng)返回客戶端之前添加一些額外的操作。如果有多個(gè)JSP頁(yè)面和Servlet都需要進(jìn)行一個(gè)相同或相似的操作,我們可以把這個(gè)操作抽取到一個(gè)Servlet過(guò)濾器中,并通過(guò)匹配路徑截獲感興趣JSP或Servlet。

創(chuàng)新互聯(lián)主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開(kāi)發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序定制開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體。

我們舉幾個(gè)典型的過(guò)濾器應(yīng)用的例子,讀者可以推而廣之:

◆編碼轉(zhuǎn)換
亂碼問(wèn)題困擾了不少的Web應(yīng)用程序開(kāi)發(fā)者,這是因?yàn)榛贘ava的Web應(yīng)用程序可能運(yùn)行于不同的Web應(yīng)用程序器、操作系統(tǒng)平臺(tái)或硬件服務(wù)器上,不同的環(huán)境有自己默認(rèn)的編碼類型,在數(shù)據(jù)的轉(zhuǎn)換過(guò)程中不同的默認(rèn)編碼是亂碼問(wèn)題的始作俑者,所以在開(kāi)發(fā)JSP時(shí)常常需要將數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換。我們可以創(chuàng)建一個(gè)Servlet過(guò)濾器在請(qǐng)求進(jìn)入服務(wù)程序前都進(jìn)行編碼轉(zhuǎn)換。

◆添加統(tǒng)一的標(biāo)題或腳注
有些網(wǎng)頁(yè)需要添加統(tǒng)一的標(biāo)題頭或腳注,可以通過(guò)Servlet過(guò)濾器在響應(yīng)返回到客戶端前給網(wǎng)頁(yè)添加上統(tǒng)一的標(biāo)題和腳注。

◆進(jìn)行安全的控制
登錄系統(tǒng)后,一般都會(huì)將用戶信息對(duì)象放入到session中,可以通過(guò)Servlet過(guò)濾器在請(qǐng)求進(jìn)入JSP或Servlet前判斷session中是否有用戶信息對(duì)象,如果有,則說(shuō)明用戶已經(jīng)登錄,如果沒(méi)有,則說(shuō)明用戶還沒(méi)有登錄,將請(qǐng)求重定向到登錄頁(yè)面。

本節(jié)所提供的Servlet過(guò)濾器就是為了實(shí)現(xiàn)安全控制,下面我們就來(lái)開(kāi)發(fā)這個(gè)Servlet。

1.打開(kāi)創(chuàng)建Servlet過(guò)濾器的向?qū)А?/p>

和創(chuàng)建標(biāo)準(zhǔn)的Servlet相似,在這步里指定過(guò)濾器的類名和包名。在Class name中輸入LoginCheckFilter,包名依就為bookstore.Servlet。按Next到下一步。

2.指定過(guò)濾器的路徑匹配模式
◆Name:logincheckfilter,指定過(guò)濾器的名字
◆URL pattern:/*,指定過(guò)濾器路徑匹配模式,這里我們使過(guò)濾器對(duì)所有的請(qǐng)求都進(jìn)行過(guò)濾。

按Finish創(chuàng)建此過(guò)濾器。

打開(kāi)向?qū)?chuàng)建的LoginCheckFilter.java文件,并錄入粗體所示的代碼,如下所示:

 
 
 
  1. package bookstore.servlet;  
  2. …  
  3. public class LoginCheckFilter  
  4. extends HttpServlet implements Filter  
  5. {  
  6. public void doFilter(ServletRequest request, ServletResponse 
    response, FilterChain filterChain)  
  7. {  
  8. try  
  9. {  
  10. //進(jìn)行請(qǐng)求和響應(yīng)的類型轉(zhuǎn)換  
  11. HttpServletRequest httpRequest = (HttpServletRequest) request;  
  12. HttpServletResponse httpResponse = (HttpServletResponse) response;  
  13. boolean isValid = true;  
  14. String uriStr = httpRequest.getRequestURI().toUpperCase();  
  15. if (uriStr.indexOf("LOGIN.JSP") == -1 &&  
  16. uriStr.indexOf("SWITCH.JSP") == -1 &&  
  17. httpRequest.getSession().getAttribute("ses_userBean") == null)  
  18. {  
  19. isValid = false;  
  20. }  
  21. if (isValid)  
  22. {  
  23. filterChain.doFilter(request, response);  
  24. } else  
  25. {  
  26. httpResponse.sendRedirect("/webModule/login.jsp");  
  27. }  
  28. } catch (ServletException sx)  
  29. {  
  30. filterConfig.getServletContext().log(sx.getMessage());  
  31. } catch (IOException iox)  
  32. {  
  33. filterConfig.getServletContext().log(iox.getMessage());  
  34. }  
  35. }  
  36. …  

【編輯推薦】

  1. Servlet中的doFilter方法
  2. 配置Servlet過(guò)濾器
  3. 安裝Servlet和JSP開(kāi)發(fā)工具
  4. Java Servlet入門教程
  5. Servlet過(guò)濾器是什么

網(wǎng)站標(biāo)題:創(chuàng)建Servlet過(guò)濾器的向?qū)?
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/dhjcpde.html