package sanglp;

 import com.opensymphony.xwork2.*;

 /**
* Created by Administrator on 2016/10/6.
*/
public class LoginAction implements com.opensymphony.xwork2.Action { //定义封装请求参数的username和password属性
private String username;
private String password; //定义处理用户请求的execute方法
public String execute(){
/*if(getUsername().equals("crazyit.org")&&getPassword().equals("leegang")){
ActionContext.getContext().getSession().put("user",getUsername());
return SUCCESS;
}else{
return ERROR;
}*/
ActionContext ctx=ActionContext.getContext();
//通过ActionContext访问application范围的属性值
Integer counter=(Integer)ctx.getApplication().get("counter");
if(counter==null){
counter=1;
}else{
counter=counter+1;
}
//通过ActionContext设置application范围的属性
ctx.getApplication().put("counter",counter);
//通过ActionContext设置session范围的属性
ctx.getSession().put("user",getUsername());
if(getUsername().equals("crazyit.org")&&getPassword().equals("leegang")){
//通过ActionContext设置request范围的属性
ctx.put("tip","服务器提示,您已经成功的登录");
return SUCCESS;
}else{
ctx.put("tip","服务器提示,登录失败");
return ERROR;
}
}
public String getUsername() {
return username;
} public String getPassword() {
return password;
} public void setUsername(String username) {
this.username = username;
} public void setPassword(String password) {
this.password = password;
}
}
 <%@ page language="java" contentType="text/html; charset=UTF-8"%>
<html>
<!--welcome.jsp-->
<head>
</head>
<body>
本站访问次数为:${applicationScope.counter}<br/>
${sessionScope.user},您已经登录<br/>
${requestScope.tip}
</body>
</html>
 <%--
login.jsp
Created by IntelliJ IDEA.
User: Administrator
Date: 2016/10/6
Time: 16:26
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title><s:text name="loginPage"/>></title>
</head>
<body>
<s:form action="login">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit key="login"/>
</s:form>
</body>
</html>
  <package name="sanglp" extends="struts-default">
<action name="login" class="sanglp.LoginAction">
<!--定义三个逻辑视图和物理资源之间的映射-->
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>

【JavaEE企业应用实战学习记录】struts2实现登录并获取各个范围的数据的更多相关文章

  1. 【JavaEE企业应用实战学习记录】optiontransferselect实现两个列表选择框

    <%@ page contentType="text/html; charset=GBK" language="java"%> <%@tagl ...

  2. 【JavaEE企业应用实战学习记录】struts2登录

    <%-- login.jsp Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 16:26 To chang ...

  3. 【JavaEE企业应用实战学习记录】struts配置文件详细解析

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  4. 【JavaEE企业应用实战学习记录】struts国际化

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 16:26 To change this tem ...

  5. 【JavaEE企业应用实战学习记录】logFilter

    package sanglp.servlet; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import ja ...

  6. 【JavaEE企业应用实战学习记录】servlet3.0上传文件

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 14:20 To change this tem ...

  7. 【JavaEE企业应用实战学习记录】sessionListener

    package sanglp.servlet; import javax.servlet.ServletContext; import javax.servlet.annotation.WebList ...

  8. 【JavaEE企业应用实战学习记录】requestListener

    package sanglp.servlet; import javax.servlet.*; import javax.servlet.annotation.WebListener; import ...

  9. 【JavaEE企业应用实战学习记录】MyGetAttributeListener

    package sanglp.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletContextAttr ...

随机推荐

  1. Android开发中的Json字符串与复杂的嵌套对象互转。

    Gson 可能是大家都觉得比较简单吧.我发现用JSONObject和网上下载的JSONHelper类使用起来很无语,只能解析简单的单层对象,如果有嵌套的就不能直转转成可用对象了.所以网上找了一会儿,发 ...

  2. Microsoft.Bcl.Build 1.0.10 稳定版发布

    Microsoft.Bcl.Build 1.0.10 稳定版发布 解决了之前 1.0.8 在未下载相应的Nuget Package 的情况下项目无法加载的情况 但由于 Microsoft.Net.Ht ...

  3. NOIP2010提高组乌龟棋 -SilverN

    题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起 ...

  4. CF722D. Generating Sets[贪心 STL]

    D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. HDU2929 Bigger is Better[DP 打印方案 !]

    Bigger is Better Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  6. voxel 与 pixel

    中文名称:体素,即顾名思义是体积的像素.用来在三维空间中表示一个显示基本点的单位.类似于二维平面下的pixel(像素). voxel是三维空间中定义一个点的图象信息的单位.在平面中定义一个点要两个坐标 ...

  7. window10 安装出现the error code is 2503错误的解决方法

    window10 安装出现the error code is 2503错误的解决方法:  设置 C:\WINDOWS\TEMP的权限

  8. githup上传代码

    把自己本地东西上传到GitHup上. 本文内容来自于http://blog.csdn.net/yuanzichao/article/details/44922593 1.安装msysgit和Torto ...

  9. performSelector的原理以及用法

    一.performSelector调用和直接调用区别下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做 ...

  10. Hadoop: MapReduce2多个job串行处理

    复杂的MapReduce处理中,往往需要将复杂的处理过程,分解成多个简单的Job来执行,第1个Job的输出做为第2个Job的输入,相互之间有一定依赖关系.以上一篇中的求平均数为例,可以分解成三个步骤: ...