Struts2学习--第四天

Struts2学习–第四天

1、拦截器的概念

在这里插入图片描述
在这里插入图片描述

  •  拦截器和过滤器的区别:
    • 过滤器是Servlet规范中的一部分,任何Javaweb工程都可以用
    • 拦截器是struts框架自己的,只有使用了struts框架的工程才可以用
    • 拦截器只拦截action
    • 过滤器在url-pattern中配置了/*之后,可以对所有要访问的资源进行过滤
      凡是拦截器做的过滤器都可以做。
2、拦截器的作用

对动作方法进行增强。(把重复的代码提取出来,然后放到拦截器中,统一管理,统一调用)
在这里插入图片描述

3、自定义拦截器

在这里插入图片描述
在这里插入图片描述
自定义拦截器代码:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<!-- 开启开发者模式 -->
	<constant name="struts.devMode" value="true"></constant>
	<package name="p1" extends="struts-default">
		<!-- 声明一个拦截器 -->
		<interceptors>
			<interceptor name="myInterceptor" class="com.ccit.rj1741.cn.MyInterceptor"></interceptor>
			<interceptor name="myInterceptor2" class="com.ccit.rj1741.cn.MyInterceptor2"></interceptor>
		</interceptors>
		<!-- 把自己的声明为默认的拦截器栈 <default-interceptor-ref name="myInterceptor"></default-interceptor-ref> -->
		<!-- action -->
		<action name="demo1" class="com.ccit.rj1741.cn.action.Demo1Action" method="demo1">
				<!-- 引用拦截器:写在action标签内部,当我们自己定义了拦截器之后,默认的拦截器就失效了。 -->
				<interceptor-ref name="myInterceptor"></interceptor-ref>
				<interceptor-ref name="myInterceptor2"></interceptor-ref>
				<result>/success.jsp</result>
		</action>
		
	</package>
	
</struts>

在这里插入图片描述

4、拦截器的类视图

在这里插入图片描述

5、Struts2注解
1)使用的jar包

在这里插入图片描述

2)jar包的内容

在这里插入图片描述

3)示例代码
/**
 * 动作类
 * */
@ParentPackage("struts-default")


public class Demo1Action extends ActionSupport {
	@Action(value="demo1",results= {
			@Result(name="success",type="dispatcher",location="/success.jsp"),
			@Result(name="error",location="/error.jsp")
	})
	public String demo1() {
		System.out.println("Demo1Action的demo方法执行了----------");
		return SUCCESS;
	}
}

4)请求参数封装源码

ModelDriven拦截器:
在这里插入图片描述
在这里插入图片描述

6、Struts2和HTML中使用OGNL表达式

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值