pom.xml
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.3</version> <scope>test</scope> </dependency> <!--获取ServletAPI--> <dependency> <groupId>javaee</groupId> <artifactId>javaee-api</artifactId> <version>5</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.4.1</version> </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> <artifactId>xwork-core</artifactId> <version>2.3.4.1</version> </dependency>
web.xml
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
action
BookAction类public class BookAction implements Action { public String execute() throws Exception { System.out.println("bookaction-----------------"); return SUCCESS; } }LoginAction类public class LoginAction implements Action { private UserInfo userInfo; public String execute() throws Exception { Map<String,Object> session= ActionContext.getContext().getSession(); if(userInfo!=null){ if(userInfo.getUsername().equals("1")&&userInfo.getPassword().equals("1")){ //记录session session.put("uname",userInfo.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 getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } }entity
UserInfo类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; } }Interceptor
MyInterceptor类public class MyInterceptor implements Interceptor { public void destroy() { } public void init() { System.out.println("拦截器已经成功初始化。。。。。。。。。。。。。。。。"); } public String intercept(ActionInvocation actionInvocation) throws Exception { System.out.println("对象"+actionInvocation); Object action=actionInvocation.getAction(); System.out.println("action==========="+action); String value; //判定Session里面key值对应的value是否存在 Map<String,Object> session= ActionContext.getContext().getSession(); Object name=session.get("uname"); String actionnmae=actionInvocation.getProxy().getActionName(); actionInvocation.getProxy().getNamespace(); //user System.out.println("actionname--------"+actionnmae); if(actionnmae.equals("login")){ System.out.println("*********************action是login"); //user/login.action value=actionInvocation.invoke(); }else if(name!=null){ //已经登陆,放行 value=actionInvocation.invoke(); String method=actionInvocation.getProxy().getMethod(); System.out.println("方法:==="+value); }else { value="login"; } System.out.println("逻辑视图名"+value); return value; } }struts-day06.xml<struts> <constant name="struts.devMode" value="true"></constant> <package name="day06" namespace="/" extends="default"> <action name="login" class="cn.struts.day06.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="cn.struts.day06.action.BookAction"> <result name="success">/WEB-INF/myinter/booksuccess.jsp</result> </action> </package> </struts>struts.xml<struts>
<constant name="struts.devMode" value="true"></constant> <package name="default" namespace="/" extends="struts-default"> <interceptors> <interceptor name="myInter" class="cn.struts.day06.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> <action name="first"></action> </package> <!--<include file="struts-day02.xml"></include> <include file="struts-day03.xml"></include> <include file="struts-day04.xml"></include> <include file="struts-day05.xml"></include>--> <include file="struts-day06.xml"></include> </struts>login.jsp<body> <h2>登陆234</h2> <s:form method="POST" action="login"> 请输入用户名<s:textfield name="userInfo.username"></s:textfield> <s:textfield name="userInfo.password"></s:textfield><br/> <s:submit value="登陆"></s:submit> </s:form> </body>success.jsp<head> <title>Title</title> </head> <body> <h2>success!!!!</h2> </body>
![]()