快速入门Struts2㊂拦截器,不登陆别想访问我

本文介绍了Struts2中的拦截器概念,强调其与过滤器的区别,并通过一个案例详细讲解如何创建一个自定义的登陆拦截器,实现未登录状态下阻止访问主页的功能。案例包括编写简单的登陆页面和action,以及拦截器类的创建和在struts.xml中的配置。
摘要由CSDN通过智能技术生成

更多Struts2在框架开发


1 拦截器?

Struts2封装了很多的功能,这些功能都在拦截器里面,每次都会执行默认拦截器。Struts2中的拦截器有点类似于传统的过滤器,是AOP思想(不通过修改源代码的方式扩展功能)与责任链模式(类似过滤链)的结合,作用无非就是拦截,符合条件就放行,不符合就拦下来。

相比于过滤器的过滤内容(如:html、jsp、servlet、路径等等),拦截器只能拦截action,并且是***在action创建之后,action里面的方法执行之前进行拦截***。

Struts2中有很多默认的拦截器(每次都会执行)和其他拦截器(不一定会执行),但实际开发中,我们可以自定义某一功能的拦截器。

2 不登陆别想进这个页面

案例目标: 在Struts2的基础上,编写自定义的登陆过滤器,实现功能: 如果不是登陆状态,则禁止访问主页,将跳转到登陆页面。

2.1 写一个Struts2不用数据库的简单登陆

Struts2的入门请搜索本博客上篇和中篇,本文不再详细累述

登陆页面

<form action="${pageContext.request.contextPath}/user_login.action" method="post" targer="_parent">
    用户名:<input type=text name="userName" />默认admin<br>
    手 机:<input type=password name="userPhone" />默认123<br>
    <input type="submit" value="登陆"/>
</form>

action(固定用户名和手机)

/**
	 * 用户登陆
	 * @return
	 */
	public String login() {
    
		HttpServletRequest request = ServletActionContext.getRequest();
		//设置固定的用户名admin和手机123
		if ("admin".equals(user.getUserName()) && "123".
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤旅青山迷情人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值