- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Struts2拦截器应用
权限拦截器实际上就是一个实现权限控制的java类,这个类只需要集成一个AbstractInterceptor类,并通过实现intercept(ActionInvocationai)方法。完成拦截器的权限检查功能。
Java代码LoginInterceptor.java
packageinterceptor;importtmq.action.*;importjava.util.Map;
packageinterceptor;importtmq.action.*;importjava.util.Map;
importcom.opensymphony.xwork2.*;
publicclassLoginInterceptorextendsAbstractInterceptor{
publicStringintercept(ActionInvocationai)throwsException{Mapsession=ai.getInvocationContext().getSession();
//获得session中的用户名
Stringusername=(String)session.get(user);
//执行其他操作
if(username!=nullusername.length()0){returnai.invoke();
}else{
//返回Action中的LOGIN字符串
returnAction.LOGIN;
}
}
}
上述LoginInterceptor类主要实现用户的登录拦截,如果session中没用登录的用户名,则将该用户的请求转到Action.login,如果用户已经登录,则执行returnai.invoke();表示继续执行其他操作。
拦截器的配置
创建一个登录拦截器,要使用该拦截器时,需要在struts.xml文件中进行配置。配置内容有:对拦截器的配置,对该action类的配置。
拦截器配置代码:
下面代码中,使用interceptors元素配置拦截器,该拦截器为interceptor包下的LoginInterceptor类。配置Action,该Action为action包下的LoginAction类。在该Action中将使用所配置的拦截器。在前面已经讲过,如果为Action指定一个拦截器,则系统的默认拦截器栈就不会再起作用。为了继续使用默认拦截器栈,所以在下面的配置文件中手动引入默认拦截器栈。
packagename=testInterceptorextends=struts-default
packagename=testInterceptorextends=struts-default
//定义拦截器
interceptors
interceptorname=checkLoginclass=interceptor.LoginInterceptor/
/interceptors
//配置Action
actionname=loginActionclass=action.LoginAction
resultname=success/success.jsp/result
resultname=login/login.jsp/result
interceptor-refname=defaultStack/
//使用拦截器
interceptor-refname=checkLogin/
/action
/package
业务控制器Action
上述配置文件中,指出该实例所需的Action类为LoginAction,该类继承ActionSupport类,并实现execute()方法。代码如下LoginAction.java:
packageaction;
packageaction;
importcom.opensymphony.xwork2.ActionSupport;publicclassLoginActionextendsActionSupport{
publicStringexecute(){ //实现execute()方法
returnSUCCESS; //返回success逻辑字符串
}
}
将用户名和口令存入session中的方法:
在Login.java文件中导入com.opensymphony.xwork2包下的ActionContext类。即Importcom.opensymphony.xwork2.ActionCon
您可能关注的文档
- SIGHTSEEINGINLONDON课文翻译分析和总结.docx
- SIMATIC S7 全集成自动化编程、系统维护以及工业网络故障诊断综合培训课程.docx
- Simmons hallMITsteven holl分析和总结分析和总结.docx
- Simulator of a Light and UltraLight Sport Aircraft分析和总结分析和总结.docx
- SIP常见问题处理.docx
- SIP进阶Wireshark使用及实例分析.docx
- site construction weekly report 20100816分析和总结分析和总结.docx
- SiteScope监控apache分析和总结.docx
- SKF CMAS 100SL 测振仪说明书分析.docx
- SK试卷分析技术版.docx
最近下载
- 临床路径培训(共29张课件).pptx VIP
- 2024年《全国教育大会》专题PPT课件.ppt
- 介入应急预案演练(坠床).docx
- JTG B05-2015《公路项目安全性评价规范》释义手册_(高清版).pdf
- 第四单元 三国两晋南北朝时期:孕育统一和民族交融单元质检卷(B卷)--2024-2025学年统编版七年级历史上册.docx VIP
- 二类医疗器械管理培训试题.pdf
- 乡镇建房地基购买合同5篇.docx
- 职业生涯报告(通用8篇).pdf VIP
- QGDW 10278-2021 变电站接地网技术规范.docx
- 第四单元 三国两晋南北朝时期:孕育统一和民族交融单元质检卷(A卷)--2024-2025学年统编版七年级历史上册.docx VIP
文档评论(0)