更多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".