在网上查找了很多关于jQuery获取session都不可得,如果大家有更好的方式,欢迎留言

这里是使用jQuery发送Ajax请求到后台获取session

jsp中没有代码

js代码

  1. <script type="text/javascript">
    //这里是一个私有方法,用来获取项目根路径,这个方法在js的最底部,有兴趣的可以查看
  2. var basePath = getRootPath();
  3. $(function(){
      //使页面刚加载完成就去取得session
  4. getSession();
  5. });function getSession(){
  6. $.ajax({
  7. url:basePath + "/getSession",
  8. type:"GET",
  9. async:false,//false代表只有在等待ajax执行完毕后才执行
  10. success:function(result){
           //这里在控制台将session数据打印出来
  11. console.log(result);
           //如果要取list中具体的数据,可以点其下的内容依次取得,具体的可以看控制台打印的内容,那个层次很清晰
  12. /* console.log(result.data);
  13. console.log(result.data.userSession);
  14. console.log(result.data.userSession[0]); */
  15. }
  16. });
  17. }
  18.  
  19. /**
  20. * 获取项目根路径,如: http://localhost:8083/ssm-dynamic
  21. * @returns
  22. */
  23. function getRootPath(){
  24. //获取当前网址,如: http://localhost:8083/ssm-dynamic/jsp/jsonList.jsp
  25. var curWwwPath=window.document.location.href;
  26. //获取主机地址之后的目录,如: ssm-dynamic/jsp/jsonList.jsp
  27. var pathName=window.document.location.pathname;
  28. var pos=curWwwPath.indexOf(pathName);
  29. //获取主机地址,如: http://localhost:8080
  30. var localhostPaht=curWwwPath.substring(0,pos);
  31. //获取带"/"的项目名,如:/ssm-dynamic
  32. var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
  33. return(localhostPaht+projectName);
  34. }
  35. </script>

controller代码

存储session的代码

  1. @RequestMapping(value="/",method=RequestMethod.GET)
  2. public String sayHello(HttpSession session){
  3. List<User> users = loginService.selectAll();
  4. session.setAttribute("users", users);
  5. return "login";
  6. }

获取session的代码

  1. //指定url地址,与上述的Ajax发送请求的url要一致;指定请求方式,与上述的Ajax请求的type要一致
    @RequestMapping(value="/getSession",method=RequestMethod.GET)
    //加@ResponseBody是为了可以返回json数据
  2. @ResponseBody
  3. public Msg getSession(HttpSession session){
        //取得之前添加的session数据
  4. List<User> users = (List<User>) session.getAttribute("users");
        //将session的数据放在自定义的msg类中,下面会展示该类
  5. return Msg.success().add("userSession", users);
  6. }

Msg.java

  1. import java.util.HashMap;
  2. import java.util.Map;
  3.  
  4. /**
  5. * 通用的返回类
  6. * @author ws
  7. *
  8. */
  9. public class Msg {
  10. /**
  11. * 状态码
  12. * 100:成功
  13. * 200:失败
  14. */
  15. private int code;
  16. /**
  17. * 提示信息
  18. */
  19. private String msg;
  20. /**
  21. * 用户要返回给浏览器的数据
  22. */
  23. private Map<String, Object> data = new HashMap<String,Object>();
  24.  
  25. public int getCode() {
  26. return code;
  27. }
  28. public void setCode(int code) {
  29. this.code = code;
  30. }
  31. public String getMsg() {
  32. return msg;
  33. }
  34. public void setMsg(String msg) {
  35. this.msg = msg;
  36. }
  37. public Map<String, Object> getData() {
  38. return data;
  39. }
  40. public void setData(Map<String, Object> data) {
  41. this.data = data;
  42. }
  43.  
  44. /**
  45. * 处理成功
  46. * @return
  47. */
  48. public static Msg success(){
  49. Msg msg = new Msg();
  50. msg.setCode(100);
  51. msg.setMsg("处理成功");
  52. return msg;
  53. }
  54.  
  55. /**
  56. * 处理失败
  57. * @return
  58. */
  59. public static Msg fail(){
  60. Msg msg = new Msg();
  61. msg.setCode(200);
  62. msg.setMsg("处理失败");
  63. return msg;
  64. }
  65.  
  66. /**
  67. * 以键值对添加数据
  68. * @param key
  69. * @param value
  70. * @return
  71. */
  72. public Msg add(String key, Object value) {
  73. this.getData().put(key, value);
  74. return this;
  75. }
  76. }

这样,在浏览器控制台(一般按F12即可打开)就可以看到效果了

至此大功告成

大家如果有可以不适用ajax的方式即可取得session,欢迎留言,共同探讨

使用jQuery获取session中存储的list集合的更多相关文章

  1. 获取session中存储的所有值的方法

    记录一个获取系统中session存储的对象都有哪些的方法 HttpSession session = request.getSession(); for ( Enumeration e = sessi ...

  2. jquery在元素中存储数据:data()

    转自:http://www.php.cn/js-tutorial-405445.html 在元素中存储数据:data() 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html& ...

  3. jsp获取Session中的值

    摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下. 一.后端通过shiro在session中存储数据: // username是前台传过来的用户名 if (subje ...

  4. Js/Jquery获取iframe中的元素

    转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...

  5. javaWeb遍历获取session中的值

    //方法一:通过遍历的方法进行遍历 String FileName=""; HttpSession session=request.getSession();//获取session ...

  6. 使用jquery获取网页中图片的高度——解惑

    jQuery获取网页中图片的高度 使用jquery获取网页中图片的高度其实很简单,有两种常用的方法都可以打到我们的目的 $("img").whith();(返回纯数字) $(&qu ...

  7. JS或jsp获取Session中保存的值

    JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算, ...

  8. 302重定向之后,session中存储的值没了

    302重定向之后,session中存储的值没了

  9. js获取cookie中存储的值

    最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...

随机推荐

  1. vmware虚拟机各个版本的安装破解(附安装包和注册机)

    VMware 是平时我们常用的虚拟机软件,特别是我们平时想试试其他的系统,比如说linux系统的时候但是又不想安装双系统,那么这个时候我们就可以试试这款虚拟软 件,如果你的电脑配置(主要是内存)够好的 ...

  2. 自定义MVC框架---第一章

    MVC基本介绍 介绍:  mvc是一种编程思想,用来解决开发项目的时候,代码如何编写,项目如何架构的问题,更具体一点就是解决多人协同开发时,如何分工协作的问题,从而提升开发效率 举一个例子:有一个人想 ...

  3. delphi简单的分页实现(高手可以不看)

    适合初学者,练习几个控件的使用 1.先放一张界面控件布局: 4个button,2个label,1个edit,1个TRzsplitter(把界面分割成上下2部分),1一个adoquery,1个adoco ...

  4. 设计模式——建造者模式/生成器模式(C++实现)

    #include <iostream> #include <string> using namespace std; class STProduct { public: voi ...

  5. passwd命令使用

    2018-03-01  10:01:06 例1:passwd username 直接修改用户的密码普通用户可以且只能修改自己的密码,root用户可以修改任何人的密码[root@localhost ~] ...

  6. NEO从入门到开窗(1) - 一个智能合约的诞生

    一.啰嗦两句 最近一直都在研究区块链,BitCoin,Etherenum, Hyper Ledger Fabric还有今天的主角小蚂蚁,当然出名以后改了一个艺名叫NEO.区块链大部分都是用Golang ...

  7. windows下安装mongoDB以及配置启动

    1.下载MongoDB的windows版本,有32位和64位版本,根据系统情况下载,下载地址:http://www.mongodb.org/downloads 2.解压缩至D:/mongodb即可 3 ...

  8. express+mysqle

    var mysql=require('mysql'); var connection=mysql.createConnection({ host:'',//地址 port:'',//端口号 user: ...

  9. python web开发-flask连接sqlite数据库

    在之前的文章中我们介绍了如何在centOS中安装sqlite数据库. Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库. 1.       数据准备 先在sqlite3中创建一 ...

  10. 功能测试很low?不能升级到高级测试工程师?

    功能测试很low?不能升级到高级测试工程师? 功能测试很low?功能测试很简单?功能测试就是黑盒测试?功能测试没有技术含量?功能测试工资低?只会功能测试没有竞争力?功能测试这活初中生都可以干?功能测试 ...