最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java web過濾器驗(yàn)證登錄防止未登錄進(jìn)入界面

 更新時間:2016年08月25日 10:26:43   作者:Alexia(minmin)  
這篇文章主要介紹了Java web過濾器驗(yàn)證登錄防止未登錄進(jìn)入界面,在一些系統(tǒng)中經(jīng)??梢杂玫酱斯δ?,對java web 驗(yàn)證登錄知識感興趣的朋友一起看下吧

今天用ssh2寫了個簡單的系統(tǒng),發(fā)現(xiàn)了一個問題,我這系統(tǒng)必須先登錄成功才能進(jìn)入主頁,但我在瀏覽器里直接輸入主頁地址,發(fā)現(xiàn)也能進(jìn)入,這個肯定不好,毫無安全性可言,后經(jīng)查資料發(fā)現(xiàn)需要登錄過濾器,就試了下,發(fā)現(xiàn)果然可以避免未經(jīng)登錄即可進(jìn)入主頁的危險,下面是我整理出的詳細(xì)步驟:

1.首先寫一個權(quán)限過濾filter類,實(shí)現(xiàn)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;
public class LoginFilter implements Filter {
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
 }
 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // 獲得在下面代碼中要用的request,response,session對象
  HttpServletRequest servletRequest = (HttpServletRequest) request;
  HttpServletResponse servletResponse = (HttpServletResponse) response;
  HttpSession session = servletRequest.getSession();
  // 獲得用戶請求的URI
  String path = servletRequest.getRequestURI();
  //System.out.println(path);
  // 從session里取員工工號信息
  String empId = (String) session.getAttribute("empId");
  /*創(chuàng)建類Constants.java,里面寫的是無需過濾的頁面
  for (int i = 0; i < Constants.NoFilter_Pages.length; i++) {
   if (path.indexOf(Constants.NoFilter_Pages[i]) > -1) {
    chain.doFilter(servletRequest, servletResponse);
    return;
   }
  }*/
  // 登陸頁面無需過濾
  if(path.indexOf("/login.jsp") > -1) {
   chain.doFilter(servletRequest, servletResponse);
   return;
  }
  // 判斷如果沒有取到員工信息,就跳轉(zhuǎn)到登陸頁面
  if (empId == null || "".equals(empId)) {
   // 跳轉(zhuǎn)到登陸頁面
   servletResponse.sendRedirect("/JingXing_OA/login.jsp");
  } else {
   // 已經(jīng)登陸,繼續(xù)此次請求
   chain.doFilter(request, response);
  }
 }
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
}

2.然后在web.xml里配置需要登陸權(quán)限驗(yàn)證的JSP文件:

  a.如果是某個具體的JSP文件(如a.jsp)需要登陸驗(yàn)證

<!-- 配置登陸過濾器 -->
<filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

b.如果是某一個目錄(如a/目錄)整個目錄下的文件都需要登陸驗(yàn)證:

<!-- 配置登陸過濾器 -->
 <filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/a/*</url-pattern>
 </filter-mapping>

以上所述是小編給大家介紹的Java web過濾器驗(yàn)證登錄防止未登錄進(jìn)入界面,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    這篇文章主要介紹了Java將Word文檔轉(zhuǎn)換為PDF文件的四種常用方法,分別使用ApachePOI+iText、Aspose.Words?for?Java、Docx4j和JODConverter,這些庫各有優(yōu)點(diǎn),但在使用時需要注意庫與Java環(huán)境的兼容性、安裝所需依賴、轉(zhuǎn)換速度和資源消耗,需要的朋友可以參考下
    2024-10-10
  • Java調(diào)用opencv實(shí)現(xiàn)圖片矯正功能

    Java調(diào)用opencv實(shí)現(xiàn)圖片矯正功能

    這篇文章主要為大家詳細(xì)介紹了Java如何調(diào)用opencv實(shí)現(xiàn)圖片矯正功能,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • Spring @Order注解的使用小結(jié)

    Spring @Order注解的使用小結(jié)

    本文主要介紹了Spring @Order注解的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    這篇文章主要介紹了使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串,本文通過四種方式給大家講解,給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Spring接口ApplicationRunner用法詳解

    Spring接口ApplicationRunner用法詳解

    這篇文章主要介紹了Spring接口ApplicationRunner的作用和使用介紹,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • java計算時間差的方法

    java計算時間差的方法

    這篇文章主要介紹了java計算時間差的方法,涉及java針對時間的轉(zhuǎn)換與計算相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 通過入門demo簡單了解netty使用方法

    通過入門demo簡單了解netty使用方法

    這篇文章主要介紹了通過入門demo簡單了解netty使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 如何在IDEA運(yùn)行spark程序(搭建Spark開發(fā)環(huán)境)

    如何在IDEA運(yùn)行spark程序(搭建Spark開發(fā)環(huán)境)

    spark程序可以通過pom.xml的文件配置,添加spark-core依賴,可以直接在IDEA中編寫spark程序并運(yùn)行結(jié)果,這篇文章主要介紹了如何在IDEA運(yùn)行spark程序(搭建Spark開發(fā)環(huán)境),需要的朋友可以參考下
    2024-02-02
  • Java多線程的同步優(yōu)化的6種方案

    Java多線程的同步優(yōu)化的6種方案

    大家使用多線程無非是為了提高性能,在Java中,有多線程并發(fā)時,我們可以使用多線程同步的方式來解決內(nèi)存一致性的問題。本文就詳細(xì)的介紹了Java多線程同步優(yōu)化,感興趣的可以了解一下
    2021-05-05
  • Spring集成事務(wù)代碼實(shí)例

    Spring集成事務(wù)代碼實(shí)例

    這篇文章主要介紹了Spring集成事務(wù)代碼實(shí)例,pring事務(wù)的本質(zhì)其實(shí)就是數(shù)據(jù)庫對事務(wù)的支持,使用JDBC的事務(wù)管理機(jī)制,就是利用java.sql.Connection對象完成對事務(wù)的提交,需要的朋友可以參考下
    2023-10-10

最新評論

永丰县| 翁牛特旗| 南通市| 来安县| 晋江市| 银川市| 平江县| 和平区| 仁怀市| 伊川县| 乳源| 黑水县| 射阳县| 甘德县| 泰顺县| 剑川县| 鞍山市| 济源市| 陕西省| 彭泽县| 城口县| 宁晋县| 禹州市| 黔江区| 武安市| 吉林市| 静安区| 禹州市| 平舆县| 洛阳市| 隆回县| 湖南省| 彭阳县| 开远市| 汉中市| 宁陕县| 凤冈县| 南丹县| 胶南市| 会东县| 清镇市|