Struts2笔记

来源:互联网 发布:csm算法 编辑:程序博客网 时间:2024/05/17 23:22

Struts2是一个基于MVC设计模式的Web应用框架,(用来负责跳转)它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

步骤
导jar包
写配置文件(Struts2.xml)

在Struts.xml配置拦截器

<package name="user" namespace="/自定义name(工作空间名)" extends="struts-default"><interceptors>            <interceptor name="loginterceptor" class="com.mashen.user.action.LogInterceptor"></interceptor>            <interceptor name="loginStateInterceptor" class="com.mashen.user.action.test.LoginStateInterceptor"></interceptor>            <interceptor name="authInterceptor" class="com.mashen.user.action.test.AuthInterceptor"></interceptor>            <!--把上面定义好的拦截器放到下面的拦截器堆里面执行-->            <interceptor-stack name="logStack">                <interceptor-ref name="loginterceptor"></interceptor-ref>                <interceptor-ref name="authInterceptor"></interceptor-ref>                <interceptor-ref name="loginStateInterceptor"></interceptor-ref>                <!-- 使用jar包里面的方法,一般都是不变的 -->                <interceptor-ref name="defaultStack"></interceptor-ref>                </interceptor-stack>        </interceptors>        <!--这里是配置拦截器的第一种,  -->        <!--让所有的action都被这个拦截器拦截  -->        <!-- 能让扫描器扫描到的类或方法,需要类或方法的上面添加注释,        注释包括:        @Namespace("/user")(这里要写工作空间)        @Action("doLogin")(这里编写的是执行方法名,Action.action执行现在定义的类或方法)@Results({@Result(name="loginPage",location="login.jsp"),    @Result(name="mainPage",location="/main.action",type="redirect")    })(这里编写的是结果或者是结果数组,name里面编写的是方法返回结果,location则是在返回结果等于name填写的结果是执行location里面的链接)    (location里面的值,如果是jsp则不需要在前面加"/",如果值是方法名.action,则需要在此前面加 "/")         -->        <default-interceptor-ref name="logStack"></default-interceptor-ref>        <global-results>            <result name="authError">/WEB-INF/pages/user/autherror.jsp</result>            <result name="login" type="redirect">/user/login.action</result>        </global-results>        <!-- 这里是配置拦截器的第二种方法,直接定义一个action  -->        <action name="viewUser" class="com.mashen.user.action.ViewUserAction">            <result name="success">/WEB-INF/pages/user/view.jsp</result>            <!--<interceptor-ref name="logStack"></interceptor-ref>-->              </action>    </package>

类名必须用Action结尾,如果类名不用,则需要继承ActionSpoort
Action没有接口,servers和daoyou接口

0 0
原创粉丝点击