Struts2 拦截器
来源:互联网 发布:小说编写软件 编辑:程序博客网 时间:2024/06/16 05:02
首先 创建一个实体类package happy.day07interceptor.entity;/** * Created by Happy on 2017-10-24. */public class UserInfo { private String username; private String password; 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; }}
创建一个类实现Action
package happy.day07interceptor.action;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import happy.day07interceptor.entity.UserInfo;import java.util.Map;/** * Created by Administrator on 2017/10/25 0025. */public class LoginAction implements Action { private UserInfo user; public String execute() throws Exception { ActionContext session= ActionContext.getContext(); if (user!=null) { if (user.getUsername().equals("1")&&user.getPassword().equals("1")) //省略一个 步骤 记录session { session.put("uname",user.getUsername()); return SUCCESS; }else { return LOGIN; } }else { if (session!=null&&session.get("uname")!=null) { return "success"; }else { System.out.println("Action中的自定义代码"); return "login"; } } } public UserInfo getUser() { return user; } public void setUser(UserInfo user) { this.user=user; }}
创建一个类实现Interceptor创建一个Struts.xmlpublic void destroy() { } public void init() { System.out.println("拦截器已经成功初始化!!!!!!!"); } public String intercept(ActionInvocation invocation) throws Exception { System.out.println("对象"+invocation); Object action=invocation.getAction(); System.out.println("action===="+action); String value; //判定session里面key值对应的value是否存在 Map<String,Object> session=ActionContext.getContext().getSession(); Object name=session.get("uname"); String actionName=invocation.getProxy().getActionName(); invocation.getProxy().getNamespace(); System.out.println("acionName====="+actionName); if (actionName.equals("login")) { System.out.println("========Acion是login"); value=invocation.invoke(); }else if (name!=null) { value=invocation.invoke(); String method=invocation.getProxy().getMethod(); System.out.println("方法"+method); }else {value="login"; } System.out.println("逻辑视图名"+value); return value; }}<?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> <constant name="struts.devMode" value="true"></constant> <!--创建一个default包,继承自Struts2的struts-default包--> <package name="default" namespace="/" extends="struts-default"> <interceptors> <interceptor name="myInter" class="happy.day07interceptor.interceptor.MyInterceptor"></interceptor> <interceptor-stack name="myStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="myInter"></interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="myStack"></default-interceptor-ref> <default-action-ref name="first"></default-action-ref> <!-- <global-results> <result name="login">/WEB-INF/myin/ter/login.jsp</result> </global-results>--> <action name="first"> </action> <!-- <!–接受处理用户的/helloword.action请求,并根据返回结果,完成跳转–> <action name="helloword" class="cn.struts.one.HelloWordAction"> <!–结果为”helloword时,跳转至helloword.jsp页面–> <result name="ss">helloword.jsp</result> </action>--> </package> <!--<include file="stuts-03.xml"></include> <include file="struts-day04.xml"></include> <include file="struts-day05.xml"></include> <include file="struts-day06.xml"></include> --> <include file="struts-day07.xml"></include></struts>
创建一个 小的Struts。xml 然后在大的Struts里面调用<?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> <constant name="struts.devMode" value="true"></constant> <package name="day07" namespace="/" extends="default"> <action name="login" class="happy.day07interceptor.action.LoginAction"> <result name="success">/WEB-INF/myinter/success.jsp</result> <result name="login">/WEB-INF/myinter/login.jsp</result> </action> <!-- <action name="book" class="happy.day07interceptor.action.BookAction"> <result name="success">/WEB-INF/myinter/booksuccess.jsp</result> </action>--> </package></struts>
写一个登录页面<%@ taglib prefix="s" uri="/struts-tags" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>登录</title></head><body><h2>登录xingxing</h2><s:form method="POST" action="login"> 请输入用户名: <s:textfield name="user.username"></s:textfield> <br/> <s:textfield name="user.password"></s:textfield><br/> <s:submit value="登陆"></s:submit></s:form></body></html>随便写一个跳进去的页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Success</title></head><body> <h2>Success</h2></body></html>
阅读全文
0 0
- 【Struts2】Struts2中拦截器
- struts2拦截器
- Struts2拦截器
- struts2.0拦截器
- struts2.0 拦截器
- struts2拦截器学习
- struts2 拦截器
- Struts2拦截器(Interceptor)
- struts2.0拦截器
- 用上struts2拦截器
- struts2拦截器简介
- Struts2:拦截器概述
- Struts2拦截器(Interceptor)
- struts2 拦截器
- 关于struts2拦截器
- Struts2的拦截器
- struts2拦截器
- Struts2拦截器总结
- Android底部Fragment切换
- 设计模式学习笔记—代理模式(Proxy)
- Linux下配置adb
- 欢迎使用CSDN-markdown编辑器
- Python3 数据结构与算法之枚举
- Struts2 拦截器
- HTML 表单,单选框,复选框,下拉列表,<textarea>
- 准确MainActivity
- 可能是第十好的Android 开源 日历 Calendar 仿小米
- CSR1010蓝牙模块_模块特点及技术指标
- C# 结构,枚举
- 网康上网行为管理NI3200-50
- cad快速看图电脑版使用
- git push时报10053