天天看點

struts2攔截器的使用與配置

攔截器和過濾器是類似的東西,它們的實作原理相同,但是卻不是同一種東西,過濾器是web容器層面的,而攔截器是像struts2這樣的控制器層面的。struts2本身就通過攔截器進行了諸如:參數注入,類型轉換,…

當然我們也可以自定義攔截器,方法如下:

  1. 繼承AbstractInterceptor,重寫intercept方法
  2. 在struts的配置檔案中配置攔截器

1.繼承AbstractInterceptor,重寫intercept方法

這裡模拟了一個登陸驗證的攔截器:通過判斷session裡面是否有userName這個屬性檢驗使用者是否登入過,來限制未登入使用者非法通路系統頁面。 ``` package com.lyu.struts.sysmanage.interceptor;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginInterceptor extends AbstractInterceptor {

private static final long serialVersionUID = 5774470426465392583L;

// 重寫intercept方法,攔截器和action業務控制類一樣,也是傳回一個視圖名,在配置檔案中用result配置即可,後面詳解
@Override
public String intercept(ActionInvocation invocation) th
           

繼續閱讀