Ubuntu开辟Struts2利用(5、自界说阻挡器)

2012年01月24日 JAVA, Linux, Ubuntu 暂无批评

Struts2为咱们供给了丰硕的阻挡器,而完成自界说阻挡器也是轻易的一件事。
阻挡器必须是无状况的,缘由是Struts2不能保障为每个要求或action建立一个实例,以是若是阻挡器带有状况,会激发并发题目。
现实利用中处置权限题目是罕见的,上面就以一个阻挡器来判定处置用户是不是登录而有权限去履行action的内容。
LoginInterceptor.java

package com.linuxsight.interceptor;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 public class LoginInterceptor extends AbstractInterceptor {
 private static final long serialVersionUID = 1L;
 @Override
 public String intercept(ActionInvocation invocation) throws Exception {
 ActionContext act=ActionContext.getContext();
 Object user = act.getSession().get("user");
 if(null!=user){//user不为空表现用户已登录,许可履行action的方式。
 System.out.println("用户已登录");
 return invocation.invoke();
 }
 act.put("message", "你不权限操纵");
 return "input";
 }
 }

LoginAction.java

package com.linuxsight.action;
 public class LoginAction {
 private String message;
 public String getMessage() {
 return message;
 }
 public void setMessage(String message) {
 this.message = message;
 }
 public String execute() throws Exception{
 this.message="履行了LoginAction的方式	";
 System.out.println("履行了LoginAction的方式");
 return "input";
 }
 }
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 自界说阻挡器 -->
<package name="authority"  extends="struts-default">
<interceptors>
<interceptor name="loginPemission" class="com.linuxsight.interceptor.LoginInterceptor">
</interceptor>
<!-- 阻挡器栈 -->
<interceptor-stack name="loginPemissionStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="loginPemission"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 全局result -->
<global-results>
<result name="input">/login.jsp</result>
</global-results>
<action name="login" class="com.linuxsight.action.LoginAction">
<interceptor-ref name="loginPemissionStack"></interceptor-ref>
</action>
</package>
</struts>
login.jsp(摹拟登录界面,用户是不是登录将决议是不是有权限去履行Action里的方式内容)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<h3>自界说阻挡器|用户登录</h3>
<body>
${message}<br>
<a href="login">履行操纵</a>
<br>
<a href="user.jsp">登录</a>&nbsp;&nbsp;
<a href="quit.jsp">刊出</a>
</body>
</html>
quit.jsp(摹拟用户加入)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<%request.getSession().removeAttribute("user"); %>
<h3>自界说阻挡器|用户加入登录</h3>
<a href="login.jsp">前往操纵</a>
<body>
</body>
</html>
user.jsp(摹拟用户登录)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<%request.getSession().setAttribute("user","linuxsight"); %>
<h3>自界说阻挡器|用户已登录</h3>
<a href="login.jsp">前往操纵</a>
<body>
</body>
</html>

快乐飞艇用哪个计划:最初我把源代码同享一下,大师须要能够参考:

给我留言


快乐飞艇能不能破解 快乐飞艇开奖查询 快乐飞艇位棕 快乐飞艇规划 快乐飞艇平台找 快乐飞艇官网app 快乐飞艇玩法规则 快乐飞艇哪里玩 快乐飞艇玩的人多吗 快乐赛车app哪个好玩 快乐飞艇开开奖走势 快乐飞艇彩票官网