『黑马程序员济南』JavaEE就业笔记串讲--Struts2框架-part4
拦截器概念 1 在struts2里面有拦截器,在拦截器里面帮我们实现一部分功能 2 在strtus2里面有很多的拦截器,不是都执行,每次只会执行一些默认的拦截器 (1)struts2里面默认拦截器位置 3 拦截器在什么时候执行? (1)在action对象创建之后,在action里面的方法执行之前执行拦截器 拦截器底层原理 1 底层原理主要两部分 (1)aop思想:面向切面(方面)编程 - 在开发中,有基本功能,扩展基本功能,使用aop思想,不修改源代码扩展功能 - 比如登录功能,看图 - aop底层实现动态代理(增强类的方法) (2)责任链模式: 类似于过滤链 - 过滤链:一个请求,可以有多个过滤器进行过滤,每个过滤器只有做放行,才能到下一个过滤器 - 有一组操作,有增加、修改、删除操作,执行三个操作。首先执行增加操作,增加执行之后做类似于放行操作,放行之后执行修改操作,修改执行之后,做类似于放行操作,放行之后执行删除操作 2 拦截器执行过程 (1)拦截器在action对象创建之后,action里面的方法执行之前执行 (2)在struts2里面执行默认的拦截器,在action不需要调用拦截器的方法,使用配置方式执行--- aop思想 (3)执行很多的拦截器,比如有三个拦截器,首先执行拦截器1,做放行,执行拦截器2,之后放行,执行拦截器3,放行之后,之后action里面的方法 拦截器和过滤器区别 1 过滤器:理论上可以过滤任意内容,过滤jsp、过滤html、过滤图片路径、过滤servlet 2 拦截器:可以拦截的内容,拦截器只能拦截action 3 action和servlet区别 (1)action每次访问创建新的对象,多实例 (2)servlet第一次访问时候创建,创建一次,单实例 拦截器结构 (1)自定义拦截器实现 第一种创建类,继承AbstractInterceptor 第二种实现接口,Interceptor 第二种创建类,继承 MethodFilterInterceptor 放行操作: (2)让action和拦截器类关联(通过配置完成) 一般在开发中,建议使用第二种方式,继承MethodFilterInterceptor,通过配置方式让action里面某个方法不进行拦截 自定义登录的拦截器 1 在系统中,有很多action的超链接,实现只有登录之后,才可以点击这些action的超链接,如果不是登录状态,点击action超链接,回到登录页面 2 判断是否登录状态 (1)使用session存储值,判断session里面是否有值,如果有则是登陆状态 3 登录基本功能实现 (1) 在action中使用属性封装获取表单提交的用户名和密码 (2)判断用户名和密码是否正确,如果正确把用户名放到session里面 (3) 登陆成功之后,在页面中显示当前登录的用户名 4 自定义登陆拦截器 功能逻辑:只有登录状态,才可以点击系统的action的超链接,如果不是登录,点击超链接到登陆页面里面 第一步创建类,继承MethodFilterInterceptor类 (1)重新类里面的方法,在方法里面写判断逻辑 - 判断是否是登录状态:判断session里面是否有值 第二步配置自己创建的拦截器和action有关联 (1)在struts.xml中声明拦截器 (2)在具体使用拦截器的action标签里面使用声明拦截器 (3)使用自定义拦截器之后,默认的拦截器不执行了,手动把默认的拦截器使用 5 上面完成拦截器代码和配置,但是在action里面login方法不需要拦截 (1)通过配置方式,让action里面哪些方法不进行拦截 (4)每个拦截器执行之后 ,做放行操作 Struts2标签 常用的标签 (1)<s:debug>标签:查看值栈存储结构 (2)<s:property value=”ognl表达式”>: 在jsp中获取值栈数据 (3)<s:iterator>标签: 遍历得到值栈集合内容 Struts2的表单标签 1 html表单标签 (1)form : 属性action、method、enctype (2)输入项 * input标签输入项 - text:普通输入项 - password:密码输入项 - radio:单选 - checkbox:复选 - hidden:隐藏项 - file:文件上传项 - submit:提交 - button:普通按钮 - image:图片提交 - reset:重置 * select:下拉框 * textarea:文本域 2 在struts2里面提供表单标签,html中表单标签,在struts2里面大部分都对应的标签 3 注意问题: 使用struts2的s:form标签时候,里面的action属性值,不能写完全路径 点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|