日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

javaweb关于用户是否登录全局判断,没有登录跳转到登录界面

發(fā)布時(shí)間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javaweb关于用户是否登录全局判断,没有登录跳转到登录界面 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
javaweb關(guān)于用戶是否登錄全局判斷,沒有登錄跳轉(zhuǎn)到登錄界面

?有這樣一個(gè)需求,用戶密碼登錄網(wǎng)站,在session中保留了用戶的信息,但是用戶很長(zhǎng)時(shí)間沒有再操作該界面,用戶的session則被瀏覽器清除,而一些業(yè)務(wù)邏輯則是需要用到用戶的信息,那么用戶再執(zhí)行操作后,則會(huì)引起業(yè)務(wù)代碼報(bào)錯(cuò),這時(shí)我們就需要在用戶訪問的時(shí)候判斷一下用戶的信息是否存在,如何實(shí)現(xiàn)這個(gè)功能,我們這里用到了過濾器這個(gè)功能,在用戶訪問特定界面或者特定接口的時(shí)候,先進(jìn)行過濾,復(fù)合條件再執(zhí)行下一步操作,具體代碼如下:

package com.demo.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import com.demo.entity.User; /*** 全站判斷用戶是否登錄過濾器* @author zhangdi**/ public class AuthFilter implements Filter{@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletResponse resp = (HttpServletResponse)response;HttpServletRequest req = (HttpServletRequest)request;HttpSession session = req.getSession();User user = (User)session.getAttribute("user");String uri = req.getRequestURI();//簡(jiǎn)單判斷緩存中是否有用戶if(user==null){//沒有用戶//判斷用戶是否是選擇跳到登錄界面if(uri.endsWith("login.jsp")||uri.endsWith("login.do")){chain.doFilter(request, response);}else{resp.sendRedirect(req.getContextPath()+"/login.jsp");} }else{//有用戶 chain.doFilter(request, response);}chain.doFilter(request, response);}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}}

注意,這個(gè)過濾器需要在web.xml中聲明,不然不會(huì)被項(xiàng)目調(diào)用,代碼如下:

<!-- 登錄認(rèn)證過濾器 --><filter><filter-name>auth</filter-name><filter-class>com.demo.filter.AuthFilter</filter-class></filter><filter-mapping><filter-name>auth</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>auth</filter-name><url-pattern>*.do</url-pattern></filter-mapping>

這里配置過濾的范圍是所有的jsp界面以及所有以.do結(jié)尾的接口

posted on 2017-04-27 09:38 <&nbsp/> 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/zhangdiIT/p/6772615.html

總結(jié)

以上是生活随笔為你收集整理的javaweb关于用户是否登录全局判断,没有登录跳转到登录界面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。