AuthorityInterceptor.java
- public class AuthorityInterceptor extends AbstractInterceptor {
- public String intercept(ActionInvocation invocation) throws Exception {
- ActionContext ctx = invocation.getInvocationContext();
- Map session = ctx.getSession();
- String user = (String) session.get("user");
- if (user != null && user.equals("Jcuckoo")) {
- return invocation.invoke();
- }
- ctx.put("tip", "您还没有登陆,请输入Jcuckoo,admin登陆系统");
- return Action.LOGIN;
- }
- }
LoginAction.java
- public class LoginAction extends ActionSupport {
- private String username;
- private String password;
- public void setUsername(String username) {
- this.username = username;
- }
- public String getUsername() {
- return username;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getPassword() {
- return password;
- }
- public String execute() throws Exception {
- System.out.println("进入execute方法执行体..........");
- Thread.sleep(1500);
- if (getUsername().equals("Jcuckoo") && getPassword().equals("admin")) {
- ActionContext ctx = ActionContext.getContext();
- Map session = ctx.getSession();
- session.put("user", getUsername());
- return SUCCESS;
- } else {
- return ERROR;
- }
- }
- }
struts.xml
- <package name="jCuckoo" extends="struts-default">
- <interceptors>
- <interceptor name="authority" class="jCuckoo.AuthorityInterceptor" />
- </interceptors>
- <global-results>
- <result name="login">/login.jsp</result>
- </global-results>
- <action name="login" class="jCuckoo.LoginAction">
- <result name="error">/error.jsp</result>
- <result name="success">/welcome.jsp</result>
- </action>
- <action name="viewBook">
- <!-- 访问/WEB-INF目录下的JSP文件-->
- <result>/WEB-INF/jsp/viewBook.jsp</result>
- <!-- 拦截器一般配置在result元素之后! -->
- <!-- 默认调用defaultStack拦截器,一旦配置其它拦截器,defaultStack需要手动配置 -->
- <interceptor-ref name="defaultStack" />
- <interceptor-ref name="authority" />
- </action>
- </package>
login.jsp
- <div style="color:red" align="center">${requestScope.tip}<div>
- <form action="login.action" method="post">
- <table align="center">
- <caption><h3>用户登录</h3></caption>
- <tr>
- <td>用户名:<input type="text" name="username"/></td>
- </tr>
- <tr>
- <td>密 码:<input type="text" name="password"/></td>
- </tr>
- <tr align="center">
- <td><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
- </tr>
- </table>
- </form>
- <div align="center"><a href="viewBook.action">查看作者出版的图书</a><div>
welcome.jsp
- <body>
- 您已经登录!<br>
- <a href="viewBook.action">查看作者出版的图书</a>
- </body>
error.jsp
- <body>
- 您不能登录!<br>
- <a href="viewBook.action">查看作者出版的图书</a>
- </body>
viewBook.jsp
- <body>
- 已经出版的图书:<p>
- J2ME嵌入式开发<br>
- SSH整合从书<br>
- Thinking in Java<br>
- </body>