一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|

服務(wù)器之家 - 編程語言 - JAVA教程 - 攔截JSP頁面,校驗(yàn)是否已登錄詳解及實(shí)現(xiàn)代碼

攔截JSP頁面,校驗(yàn)是否已登錄詳解及實(shí)現(xiàn)代碼

2020-07-02 11:36java教程網(wǎng) JAVA教程

這篇文章主要介紹了攔截JSP頁面,校驗(yàn)是否已登錄詳解及實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

攔截JSP頁面,校驗(yàn)是否已登錄

   最近使用struts2做項(xiàng)目,需要攔截JSP以校驗(yàn)是否已經(jīng)登,但struts2的過濾器鏈只能過濾action。后來發(fā)現(xiàn)在web.xml里可以直接增加javax.servlet.Filter實(shí)現(xiàn)類的過濾器,可以過濾JSP。請看代碼

Filter實(shí)現(xiàn)類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<span style="font-size:18px;">package com.common;
 
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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class LoginFilter extends HttpServlet implements Filter { 
    
  private static final long serialVersionUID = 1L; 
  
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, 
      FilterChain chain) throws IOException, ServletException { 
    HttpServletRequest req = (HttpServletRequest)request; 
    HttpServletResponse res = (HttpServletResponse)response; 
    String path = req.getContextPath();
    String indexPath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+path+ "/pages/login.jsp";
    if(req.getRequestURI().endsWith("login.jsp"))
    {
      chain.doFilter(request, response); 
      return;
    }
     
    Object loginuser = req.getSession().getAttribute("<strong><span style="color:#ff0000;">loginSession</span></strong>"); 
    if(loginuser == null){
      res.sendRedirect(indexPath); 
      return
    }
    chain.doFilter(request, response); 
  
  
  @Override
  public void init(FilterConfig arg0) throws ServletException { 
    // TODO Auto-generated method stub  
  
  
</span>

登錄方法:

?
1
2
3
4
5
6
7
8
9
10
<span style="font-size:18px;"> public String login()
  {
    Login login = new Login();
       
    //.......校驗(yàn)登錄信息
    ActionContext ctx = ActionContext.getContext();
    Map<String, Object> session = ctx.getSession();
    session.put("<strong><span style="color:#ff0000;">loginSession</span></strong>", login);
    return "success";
  }</span>

 web.xml配置

?
1
2
3
4
5
6
7
8
9
10
11
12
<filter> 
   <filter-name>setlog</filter-name> 
   <filter-class>com.common.LoginFilter</filter-class
</filter> 
<filter-mapping> 
   <filter-name>setlog</filter-name> 
   <url-pattern>/pages/home.jsp</url-pattern>
   <url-pattern>/pages/channel/*</url-pattern>
   <url-pattern>/pages/content/*</url-pattern>
   <url-pattern>/pages/product/*</url-pattern>
   <url-pattern>/pages/vodtask/*</url-pattern>
</filter-mapping>

注意,如果頁面上使用了框架,則可能導(dǎo)致session超時(shí)后退出到登錄頁面,此時(shí)登錄頁面顯示在框架的某個(gè)子頁面,解決方法,在登錄頁面加入如下代碼即可。

?
1
2
3
4
<span style="font-size: 18px;">  <script language="javascript">  
    if (top != window)  
      top.location.href = window.location.href;  
  </script></span>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 护士伦理片 | 亚州性夜夜射在线观看 | 国产91对白在线观看 | 久久婷婷丁香五月色综合啪免费 | 国产区综合另类亚洲欧美 | 男人最爱看的网站 | 丁香六月婷婷激情 | 国产亚洲精aa在线观看香蕉 | 亚洲精品视频观看 | 青青网在线视频 | 狠狠色成人综合网图片区 | 国产精品区一区二区免费 | 狠狠色婷婷日日综合五月 | coolgay男男gayxxx chinese壮直男gay老年人 chinese野外gay军人 | 国产亚洲精品看片在线观看 | 午夜国产精品视频在线 | 嫩草在线视频www免费观看 | 无人在线观看免费高清视频播放 | 男人的j伸到女人的屁股眼 男人吃奶动态图 | 小柔的性放荡羞辱日记动漫 | 女人国产香蕉久久精品 | 免费国产福利 | 日本精品一二三区 | 欧美一级裸片 | 午夜香蕉成视频人网站高清版 | 青草青草久热精品视频在线网站 | 成人区精品一区二区毛片不卡 | 日韩免费视频播放 | mmkk在线看片 | 91美女在线视频 | 精品无码人妻一区二区免费AV | 6080欧美一区二区三区四区 | 亚洲酒色1314狠狠做 | ass极品美妇pic | 四虎国产| 龟甲情感超市全文阅读 小说 | 欧美xxxxx性 欧美xxxbrazzers | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 校草让我脱了内裤给全班看 | 色天使亚洲综合在线观看 | 1024免费永久福利视频 |