当前位置: 首页 > news >正文

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

 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>

转载于:https://www.cnblogs.com/dream-to-pku/p/5934975.html

相关文章:

  • [译] 2019 年了,为什么我还在用 jQuery?
  • RubyGem修改国内源
  • H5移动端页面常见兼容问题及解决方案
  • iOS开发中的内存分配与分区
  • 第一个微信项目
  • web服务
  • 编程思想之多线程与多进程系列
  • aop 简单运用,traceId 简单实现,访问日志拦截,ip黑名单
  • MySQL学习笔记 初学基础篇
  • Linux磁盘及文件系统的管理
  • PC端和移动端测试区别
  • Zabbix 3.0 主备模式 [八]
  • 如何接入新连接
  • centos7 firewall操作
  • vscode 终端下载vue
  • python3.6+scrapy+mysql 爬虫实战
  • Angular Elements 及其运作原理
  • Angular数据绑定机制
  • Docker入门(二) - Dockerfile
  • EventListener原理
  • java中的hashCode
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • springMvc学习笔记(2)
  • Swift 中的尾递归和蹦床
  • Wamp集成环境 添加PHP的新版本
  • windows下使用nginx调试简介
  • 编写符合Python风格的对象
  • 诡异!React stopPropagation失灵
  • 记一次删除Git记录中的大文件的过程
  • 试着探索高并发下的系统架构面貌
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 微服务框架lagom
  • 无服务器化是企业 IT 架构的未来吗?
  • 一个项目push到多个远程Git仓库
  • ​linux启动进程的方式
  • #pragma pack(1)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $().each和$.each的区别
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (十三)Maven插件解析运行机制
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .htaccess 强制https 单独排除某个目录
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net经典笔试题
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • ::什么意思
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • [AX]AX2012 SSRS报表Drill through action
  • [BZOJ2208][Jsoi2010]连通数
  • [C++][数据结构][算法]单链式结构的深拷贝
  • [C++]C++入门--引用
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)