SSH配置攔截器

配置loginInterceptor步驟:

1.

public class CheckLogin implements Interceptor {


public void destroy() {
System.out.println("------CheckLogin.destroy------");
}


public void init() {
System.out.println("------CheckLogin.i------");
}


public String intercept(ActionInvocation arg0) throws Exception {
System.out.println("------CheckLogin.intercept------");

Map session = ActionContext.getContext().getSession();

if(session.get("user.name")!=null) {
return arg0.invoke();
}

return "checkLoginFail";
}

}

2. struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">


<struts>


<!-- 將Action的創建交給spring來管理 -->  
    <constant name="struts.objectFactory" value="spring" />  
    
<package name="abstract_struts" abstract="true" extends="struts-default" namespace="/">

<interceptors>
<interceptor name="checkLogin" class="checkLoginInterceptor" />
<interceptor-stack name="myInterceptor">
<interceptor-ref name="checkLogin" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>

<global-results>
<result name="checkLoginFail">/login.jsp</result>
</global-results>

</package>
</struts>


3.applicationContext-beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">


<!-- Spring管理Struts2的Action -->
<bean name="loginAction" class="com.jialin.action.LoginAction" scope="prototype"></bean>
<bean name="userMainAction" class="com.opensymphony.xwork2.ActionSupport" scope="prototype"></bean>
<bean name="userAction" class="com.jialin.action.UserAction" scope="prototype">
<!-- <property name="userManage" ref="userManage"></property> -->
</bean>


<!-- Spring管理Struts2的Interceptor -->
<bean name="checkLoginInterceptor" class="com.jialin.interceptor.CheckLogin" scope="prototype"></bean>





<bean name="userManage" class="com.jialin.service.UserManageImp">
<!-- <property name="userDao" ref="userDao"></property> -->
</bean>

<bean name="userDao" class="com.jialin.dao.UserDaoImp">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

</beans>


4. struts-user.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">


<struts>
<package name="loginAction" namespace="/" extends="abstract_struts">
<action name="login" class="loginAction">
<result name="success">/userMain.jsp</result>
<result name="fail">/fail.jsp</result>
<interceptor-ref name="myInterceptor" />
</action>

<!-- 該action只負責跳轉,用struts提供的ActionSupport -->
<action name="userMain" class="userMainAction">
<result name="success">/userMain.jsp</result>
<interceptor-ref name="myInterceptor" />
</action>


</package>

<package name="userActions" namespace="/user" extends="abstract_struts">
<action name="*_*" class="userAction" method="{1}">
<result name="success" type="redirect">/{2}.jsp</result>
<result name="fail">/fail.jsp</result>
<interceptor-ref name="myInterceptor" />
</action>

</package>
</struts>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章