上一节讲解了怎么在Struts 2下面使用内置对象传值,在Struts 2下面是用Session或者Request存放对象。在Struts 2下面是用内部对象传值,和JSP页面下面稍微有些不同。但是实际上它本质的是一样的。首先讲解的是一个权限过滤器的使用。
普通用户和管理员都拥有查询和检索的权限。管理员拥有创建索引和维护索引的权限,普通用户没有创建索引和维护索引的权限。维护索引的页面放在/sooba/WebRoot/admin/fileindex.jsp。如果不登录,直接输入路径,如果不加权限控制的话也可以根据这个页面创建索引。实际上我们要讲的是通过一个权限过滤器可以限制非法用户创建索引的操作。
如果不登录直接运行/sooba/WebRoot/admin/fileindex.jsp,它会跳转到/sooba/WebRoot/login.jsp页面。
字符过滤器或者CharacterEncoding过滤器。权限过滤器的原理也不复杂,任何一个页面在登录的时候都要经过过滤器,经过过滤器的时候要判断Session中有值没有,就是Session中具体对象存在不存在,如果这个对象存在,这就是登录的合法用户,否则让它返回到登录页面。这是权限过滤器的基本原理。
像这样,没有权限过滤器的话知道页面的路径就可以直接访问
在实际处理过程中,实际上任何一个页面都要经过过滤器。