1 package sanglp; 2 3 import com.opensymphony.xwork2.*; 4 5 /** 6 * Created by Administrator on 2016/10/6. 7 */ 8 public class LoginAction implements com.opensymphony.xwork2.Action { 9 10 //定义封装请求参数的username和password属性 11 private String username; 12 private String password; 13 14 //定义处理用户请求的execute方法 15 public String execute(){ 16 /*if(getUsername().equals("crazyit.org")&&getPassword().equals("leegang")){ 17 ActionContext.getContext().getSession().put("user",getUsername()); 18 return SUCCESS; 19 }else{ 20 return ERROR; 21 }*/ 22 ActionContext ctx=ActionContext.getContext(); 23 //通过ActionContext访问application范围的属性值 24 Integer counter=(Integer)ctx.getApplication().get("counter"); 25 if(counter==null){ 26 counter=1; 27 }else{ 28 counter=counter+1; 29 } 30 //通过ActionContext设置application范围的属性 31 ctx.getApplication().put("counter",counter); 32 //通过ActionContext设置session范围的属性 33 ctx.getSession().put("user",getUsername()); 34 if(getUsername().equals("crazyit.org")&&getPassword().equals("leegang")){ 35 //通过ActionContext设置request范围的属性 36 ctx.put("tip","服务器提示,您已经成功的登录"); 37 return SUCCESS; 38 }else{ 39 ctx.put("tip","服务器提示,登录失败"); 40 return ERROR; 41 } 42 } 43 public String getUsername() { 44 return username; 45 } 46 47 public String getPassword() { 48 return password; 49 } 50 51 public void setUsername(String username) { 52 this.username = username; 53 } 54 55 public void setPassword(String password) { 56 this.password = password; 57 } 58 }
1 <%@ page language="java" contentType="text/html; charset=UTF-8"%> 2 <html> 3 <!--welcome.jsp--> 4 <head> 5 </head> 6 <body> 7 本站访问次数为:${applicationScope.counter}<br/> 8 ${sessionScope.user},您已经登录<br/> 9 ${requestScope.tip} 10 </body> 11 </html>
1 <%-- 2 login.jsp 3 Created by IntelliJ IDEA. 4 User: Administrator 5 Date: 2016/10/6 6 Time: 16:26 7 To change this template use File | Settings | File Templates. 8 --%> 9 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 10 <%@taglib prefix="s" uri="/struts-tags" %> 11 <html> 12 <head> 13 <title><s:text name="loginPage"/>></title> 14 </head> 15 <body> 16 <s:form action="login"> 17 <s:textfield name="username" key="user"/> 18 <s:textfield name="password" key="pass"/> 19 <s:submit key="login"/> 20 </s:form> 21 </body> 22 </html>
1 <package name="sanglp" extends="struts-default"> 2 <action name="login" class="sanglp.LoginAction"> 3 <!--定义三个逻辑视图和物理资源之间的映射--> 4 <result name="input">/login.jsp</result> 5 <result name="error">/error.jsp</result> 6 <result name="success">/welcome.jsp</result> 7 </action> 8 </package>