1.1 案例需求
1.1.1 需求描述
CRM的用户登录的功能,在必须能够登录成功以后才可以进行查询和保存的操作。
1.2 相关知识点
1.2.1 Struts2的拦截器
1.2.1.1 什么是拦截器
拦截器:实质上是Struts2的核心。拦截器拦截是对Action的访问。
1.2.1.2 拦截器和过滤器的区别
过滤器:过滤的是从客户端向服务器发送的请求。
拦截器:只能拦截对Action的访问。拦截到Action中具体的方法。
1.2.1.3 Struts2内部如何执行一组拦截器?(*****)
1.2.1.4 自定义拦截器
l 第一步:实现Interceptor接口或者继承AbstractInterceptor
l 第二步:配置拦截器:
n 定义拦截器,在Action中引入该拦截器
n 定义拦截器栈,在Action中引入拦截器栈
1.3 案例代码
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 创建相关的类
1.3.1.3 改造login.jsp
1.3.1.4 编写Action
1.3.1.5 编写Service
1.3.1.6 编写DAO
1.3.1.7 配置Action
1.3.2 案例代码实现:用户登录拦截器实现
1.3.2.1 编写拦截器
1.3.2.2 配置拦截器:
1.4 Struts2的注解开发
1.4.1 Struts2注解开发:
1.4.1.1 引入注解的开发包:
struts2-convention-plugin-2.3.24.jar
1.4.1.2 创建一个JSP页面:
1.4.1.3 编写Action
@ParentPackage("struts-default")
@Namespace("/")
public class HelloAction extends ActionSupport{
@Action(value="hello")
public String execute() throws Exception {
System.out.println("HelloAction执行了...");
return NONE;
}
}