您的位置:首页 > 其它

SSH配置拦截器

2015-07-30 15:50 621 查看
配置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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: