【Struts2(四)】控制器&其他OGNL标签&拦截器

版权声明:本文为博主原创文章,如果喜欢欢迎收藏转载! https://blog.csdn.net/houwanle/article/details/84028707

1.2 Struts2的拦截器

1.2.1 拦截器概述

1.2.1.1 什么是拦截器

Interceptor:拦截器,起到拦截Action的作用。

      Filter:过滤器,过滤从客户端向服务器发送的请求。

      Interceptor:拦截器,拦截是客户端对Action的访问。更细粒度化的拦截。(拦截Action中的具体的方法)。

Struts2框架核心的功能都是依赖拦截器实现。

1.2.1.2 Struts2的执行流程

客户端向服务器发送一个Action的请求,执行核心过滤器(doFilter)方法。在这个方法中,调用executeAction()方法,在这个方法内部调用dispatcher.serviceAction();在这个方法内部创建一个Action代理,最终执行的是Action代理中的execute(),在代理中执行的execute方法中调用ActionInvocation的invoke方法。在这个方法内部递归执行一组拦截器(完成部分功能),如果没有下一个拦截器,就会执行目标Action,根据Action的返回的结果进行页面跳转。

1.2.2 拦截器入门

1.2.2.1 搭建Struts2的环境

1.2.2.2 编写拦截器类

编写一个类实现Interceptor接口或者继承AbstractInterceptor类。

1.2.2.3 对拦截器进行配置

定义拦截器进行配置

定义一个拦截器栈的方式

1.3 CRM的权限拦截器

1.3.1 实现用户登录的功能

1.3.1.1 创建表和实体

创建表

CREATE TABLE `sys_user` (
  `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `user_code` varchar(32) NOT NULL COMMENT '用户账号',
  `user_name` varchar(64) NOT NULL COMMENT '用户名称',
  `user_password` varchar(32) NOT NULL COMMENT '用户密码',
  `user_state` char(1) NOT NULL COMMENT '1:正常,0:暂停',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

创建实体

1.3.1.2 提交数据到Action

1.3.1.3 Action —> Service —> DAO

编写Service

 编写DAO

1.3.1.4 根据结果进行页面跳转

1.3.2 实现权限拦截器

1.3.2.1 编写权限拦截器

1.3.2.2 配置拦截器

 

 1.4 Struts2的标签库

1.4.1 通用标签库

1.4.1.1 判断标签

<s:if>、<s:elseif>、<s:else>

<s:iterator>

其他常用的标签

      <s:property/>

      <s:debug/>

      <s:date />----在页面上进行日期格式化。

1.4.2 UI标签库(方便数据回显)

猜你喜欢

转载自blog.csdn.net/houwanle/article/details/84028707