Struts2学习之路_2_session的使用
来源:互联网 发布:linux shell while 编辑:程序博客网 时间:2024/06/03 21:47
ps:这是session的两种使用方法,直接沿用了学习路1的例子,所以不变的地方我不贴了。学习路1传送门
1、代码
1.1action代码
package com.god.action;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.god.mod.*;public class LoginAction_2014_4_28 extends ActionSupport {org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter d;private String uname;private String upasswd;public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpasswd() {return upasswd;}public void setUpasswd(String upasswd) {this.upasswd = upasswd;}public String execute(){// 类似于servlet的doGet和doPost方法if(uname.equals("fang")&&upasswd.equals("123")){User_2014_4_29 users=new User_2014_4_29(uname,upasswd);/**一般情况键都是不变的,值却不断变化。 * 第一种方法,sessions其实是假的,它是Map类的。Map<String,Object>session =null;//这里value的位置之所以是object是为了可以放类,而不是单单的房一个值。session=ActionContext.getContext().getSession();session.put("CURRENT_USER",uname);session.put("CURRENT_USERS", users); *///第二种是使用真的session。HttpSession session=null;HttpServletRequest request=ServletActionContext.getRequest();session=request.getSession();session.setAttribute("CURRENT_USER", uname);session.setAttribute("CURRENT_USERS", users);return SUCCESS;}else{return INPUT;}}}
1.2、User_2014_4_29类
package com.god.mod;public class User_2014_4_29 {private String uname;private String upasswd;public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpasswd() {return upasswd;}public void setUpasswd(String upasswd) {this.upasswd = upasswd;}public User_2014_4_29(String uname,String upasswd) {super();this.upasswd = upasswd;this.uname = uname;}}
2、页面代码
2.1、2014_4_28_welcome_lx_01.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP '2014_4_28_welcome_lx_01.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body><center> <div> </div> <h3>一个简单的Struts 2应用</h3> <br/><hr/> ${uname}欢迎您!<br/> 读取session1:${sessionScope.CURRENT_USER }<br/> 读取session2:${sessionScope.CURRENT_USERS.uname }<br/> </center> </body></html>
3、成果截图
4、福利
ps:这是为了方便简单了解Map类另外贴的代码
package com.god.mod;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;public class MapDemo {public static void main(String args[]){List list=new ArrayList();Map<String,String>map =new HashMap<String,String>();map.put("sa", "超级管理员A");//第一个值为key,第二个为valuemap.put("sb", "超级管理员B");map.put("sc", "超级管理员C");map.put("sa", "超级管理员G");//会覆盖Set<String> set = map.keySet();int a = map.size();for(String key:set){String s = map.get(key);System.out.println(a+s);}}}
0 0
- Struts2学习之路_2_session的使用
- Struts2学习之路_2_session的使用
- Struts2学习之路_3_addActionError的使用
- Struts2的学习之路简述
- Struts2的学习之路(一)
- Struts2的学习之路(二)
- Struts2的学习之路(三)
- Struts2的学习之路(四)
- Struts2的学习之路(五)
- Javaweb学习之struts2标签库的使用
- struts2学习之---struts2的流程
- Struts2 之addActionError的使用
- struts2之addActionMessage的使用
- Struts2之ModelDriven的使用
- Struts2之ModelDriven的使用
- Struts2之ModelDriven的使用
- Struts2之ModelDriven的使用
- Struts2之ModelDriven的使用
- OCP-1Z0-051 第57题 别名和null值判断
- mysql中优化sql语句查询的30种方法
- C语言位运算
- Ruby on Rails:控制器纵览
- 长度最多为6个汉字或12个字母数字JS验证
- Struts2学习之路_2_session的使用
- BZOJ [Usaco2008 Oct]牧场行走
- 正则表达式手册
- 脱壳步骤一寻找OEP
- Huffman 编码压缩算法
- Windows下的getopt
- 基于AT89C51的电子钟(C语言编程)
- VS2008报错LINK:fatal error LNK1000: Internal error during IncrBuildImage
- 脱壳步骤二-修复