struts2的拦截器的简单使用
2014-09-08 16:59
281 查看
login.jsp页面body中
<s:form action="user_login.action" method="post">
<s:textfield name="username" label="用户名"/>
<s:password name="password" label="密码"/>
<s:submit value="登陆"/>
</s:form>
show.jsp页面body中
有权限登陆后的页面:<s:property value="username"/>---<s:property value="password"/>
只有用户名为admin和密码为admin时才能登陆显示show.jsp页面,否则都返回到login.jsp页面
LoginAction类是简单处理登陆的action
public class LoginAction extends ActionSupport{
private String username;
private String password;
public String login(){
System.out.println(username+"---"+password);
return "login";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
拦截器PermissionInteceptor
public class PermissionInterceptor extends AbstractInterceptor{
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Map<String,Object> params = invocation.getInvocationContext().getParameters();
String username = null;
String password = null;
for(Map.Entry<String, Object> ma : params.entrySet()){
String key = ma.getKey();
if(key.equals("username")){
String[] values = (String[]) params.get(key);
username = values[0];
}
if(key.equals("password")){
String[] values = (String[]) params.get(key);
password = values[0];
}
}
if(username.equals("admin")&&password.equals("admin")){
return invocation.invoke();
}
return "back_login";
}
}
struts.xml的配置
<struts>
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="permission" class="cn.axin.interceptor.PermissionInterceptor"/>
<interceptor-stack name="permStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="permission"/>
</interceptor-stack>
</interceptors>
<!-- 测试:http://localhost:8080/struts2_practice03/login.jsp -->
<action name="user_*" class="cn.axin.action.LoginAction" method="{1}">
<result name="login">/show.jsp</result>
<result name="back_login">/login.jsp</result>
<interceptor-ref name="permStack"/>
</action>
</package>
</struts>
<s:form action="user_login.action" method="post">
<s:textfield name="username" label="用户名"/>
<s:password name="password" label="密码"/>
<s:submit value="登陆"/>
</s:form>
show.jsp页面body中
有权限登陆后的页面:<s:property value="username"/>---<s:property value="password"/>
只有用户名为admin和密码为admin时才能登陆显示show.jsp页面,否则都返回到login.jsp页面
LoginAction类是简单处理登陆的action
public class LoginAction extends ActionSupport{
private String username;
private String password;
public String login(){
System.out.println(username+"---"+password);
return "login";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
拦截器PermissionInteceptor
public class PermissionInterceptor extends AbstractInterceptor{
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Map<String,Object> params = invocation.getInvocationContext().getParameters();
String username = null;
String password = null;
for(Map.Entry<String, Object> ma : params.entrySet()){
String key = ma.getKey();
if(key.equals("username")){
String[] values = (String[]) params.get(key);
username = values[0];
}
if(key.equals("password")){
String[] values = (String[]) params.get(key);
password = values[0];
}
}
if(username.equals("admin")&&password.equals("admin")){
return invocation.invoke();
}
return "back_login";
}
}
struts.xml的配置
<struts>
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="permission" class="cn.axin.interceptor.PermissionInterceptor"/>
<interceptor-stack name="permStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="permission"/>
</interceptor-stack>
</interceptors>
<!-- 测试:http://localhost:8080/struts2_practice03/login.jsp -->
<action name="user_*" class="cn.axin.action.LoginAction" method="{1}">
<result name="login">/show.jsp</result>
<result name="back_login">/login.jsp</result>
<interceptor-ref name="permStack"/>
</action>
</package>
</struts>
相关文章推荐
- Struts2使用过滤器和拦截器进行简单权限校验
- Struts2拦截器,简单的用户登录拦截及静态缓存的使用
- springmvc和struts2拦截器的简单使用以及配置
- Struts2使用过滤器和拦截器进行简单权限校验
- Struts2使用11 -- 拦截器1 -- 概述
- Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
- Struts2拦截器的使用
- Struts2使用15 -- 拦截器5 -- 实例
- Struts2使用14 -- 拦截器4 -- 自定义拦截器
- Struts2拦截器的使用
- Struts2拦截器的使用(详解)
- Struts2拦截器的使用(详解)
- struts2使用拦截器时产生java.lang.IllegalStateException异常解决办法
- 在struts2中使用拦截器(Interceptor)控制登录和权限
- struts2:使用拦截器注解
- Struts2.X 拦截器使用
- 使用拦截器的简单例子
- Struts2使用12 -- 拦截器2 -- 配置
- [转]Struts2拦截器的使用 (详解)
- Struts2拦截器的使用收藏