實(shí)例如下:
public class LoginCheckFilter implements Filter {private FilterConfig config=null;private String webroot=null;public void destroy() {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest request=(HttpServletRequest)req;HttpServletResponse response=(HttpServletResponse)resp;HttpSession session=request.getSession(false); //取得當(dāng)前會(huì)話(huà)的session,沒(méi)有session也不創(chuàng)建session,同request.getSession()一樣String url=request.getRequestURI(); //獲取當(dāng)前輸入的 /項(xiàng)目/當(dāng)前訪(fǎng)問(wèn)的路徑 與我們定義的路徑是否相同if(url!=null&&url.equals(webroot+"/login.jsp")&&url.equals(webroot+"/LoginServlet")){chain.doFilter(req,resp);}else{if(session==null){response.sendRedirect(webroot+"/login.jsp");}else{String user2=(String)session.getAttribute("user1");if(user2==null){response.sendRedirect(webroot+"/login.jsp");}else{chain.doFilter(request, response);}}}}@Overridepublic void init(FilterConfig config) throws ServletException {// TODO Auto-generated method stubthis.config=config;ServletContext ctx=config.getServletContext(); //獲取url /項(xiàng)目名webroot=ctx.getContextPath(); //項(xiàng)目名}}這里需要注意的是LoginServlet跳轉(zhuǎn)到歡迎頁(yè)面所用的跳轉(zhuǎn)是客戶(hù)端跳轉(zhuǎn)。
以上這篇jsp中過(guò)濾器選擇過(guò)濾器的寫(xiě)法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選