jsp页面怎么不刷新更新session

修改过程中因为需要用到session,需要用到修改之后的session。修改完之后刷新页面不会
出现问题,修改完之后不刷新页面就会找不到值

2个回答

已解决 抛弃了session

修改后再将session中需要的值重新手动获取下,赋给页面,应该就不用刷新取值了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jsp页面获取session动态值
我在action中生成图片验证码存入session,代码如下![图片说明](https://img-ask.csdn.net/upload/201701/19/1484805383_391983.png) 然后我在jsp页面用js获取session:![图片说明](https://img-ask.csdn.net/upload/201701/19/1484805471_259625.png) 但是我获取第一次是null,接下来刷新页面才会有新的session并且是上一次的session,没法取到当前的session。而且我点击验证码生成的值,不会存入session,只能刷新页面
单页面不刷新无法获取session
项目是单页面应用,用CRA脚手架写的,系统需要登录,登录之后后端返回session,</br> 我在body下写了一个div保存session,所以没有登录之前这个div就加载了,session值为空,</br> 登录了之后只有刷新了页面它才会再次获取session值,这样之前加载的js全都要在加载一遍,</br> 所以怎么才能不刷新页面获取session</br></br> PS: 登录之后获取session不会写,没思路</br> PS: 项目打包之后要把index.html改成index.jsp</br> PS: 产品要求页面30分钟无操作要退出登录</br> PS: 有其他方法也行,谢谢各位大佬</br>
jsp 页面自动刷新问题
有些页面操作,由于网络,数据量等原因可能要很长时间,比如批量网数据库插入数据,可能要1天。 为了防止session过期而导致操作失败,通常会定时自动刷新页面。 问题就来了: 1、每次刷新后,刷新前数据还能在刷新出来的新页面显示出来吗?好比,显示给用户的进度条。不能每次刷新都回到0%啊。 那个进度条是怎么处理的? 2、这里的刷新,我觉得是F5原理上是不一样的,这个刷新时定期去服务器上获得当前任务(进程)的进度,返回到页面上,并且保证session不过期。 本人菜鸟,表达不够明确,我相信高手一看就明白。 求教
ajax更改session的值,页面数据实时刷新
正在写一个论坛,遇到一个问题,我想让帖子实时刷新出来。如果使用页面自动刷新的话 ,对操作来说会有冲突,我想用ajax进行长连接,即ajax搁一秒访问数据库,更改覆盖session的值,然后页面中迭代获取session的值,但是我写到更新了session的值,然后页面不能数据不是最新的session中的数值,怎么才能使页面获取最新的session? 附上我的jsp代码,求大神看看 谢谢 <script type="text/javascript" src="${ pageContext.request.contextPath }/js/jquery-1.8.3.js"></script> <script type="text/javascript"> window.setInterval("shownote();",1000);//定时调用这个函数 达到即时刷新的作用 //页面一加载完就运行 $(function(){ shownote(); }); function shownote(){ $.post("user_checkNote",function(data){ }); } </script> </head> <body> <center> <h1>My BBS 主页</h1> <br> <br> <br> <h3><a href="${pageContext.request.contextPath }/user_myworkspace">我的空间</a>&nbsp;&nbsp;<a href="${pageContext.request.contextPath }/user_sendnotePage">发帖</a></h3> <!-- 下面ajax自动刷新出来数据库最新的十条新数据 --> <br> <h2>所有内容</h2> <s:if test="#session.notelist==null"> 没有数据 </s:if> <s:else> <s:iterator value="#session.notelist" var="n" > <div id="d1"> <h3><a href="${pageContext.request.contextPath }/user_lookdetail?id=<s:property value="#n.id"/>"><s:property value="#n.notehead"/></a></h3> </div> </s:iterator> </s:else> </center> </body> </html>
jsp内获取session里变量的值
var session_value = '<%=session.getAttribute("verificationCode")%>';在jsp页面内 把session_value输出,首次没有值,刷新页面得到首次回话的值
window.location.href()跳转后刷新页面session失效
ajax中,成功请求后跳转页面,可以获取到session中的user的userName,刷新之后页面报错,我怀疑是不是刷新之后session失效了。有没有知道为什么和怎么办的。代码如下: ``` function login(){ $.ajax({ type : "POST", url : "login.action", data : $("#login").serialize(), cache:false, async:false, success : function(msg) { if(msg == "登陆成功") window.location.href="studentMain.jsp" <%String userName = ((UserInfo)request.getSession().getAttribute("user")).getName(); %> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" ">test</a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a class="navbar-brand" ">当前用户:<%=userName %></a></li> 错误信息:org.apache.jasper.JasperException: An exception occurred processing JSP page /studentMain.jsp at line 40 37: </head> 38: 39: <body> 40: <%String userName = ((UserInfo)request.getSession().getAttribute("user")).getName(); %> 41: <nav class="navbar navbar-inverse navbar-fixed-top"> 42: <div class="container-fluid"> 43: <div class="navbar-header"> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:574) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88) ```
jsp中页面局部刷新
<table style="width: 113px; height: 117px;" border="1"><tbody><tr> <td>层1   id="yi"</td> </tr></tbody></table> <table style="width: 113px; height: 117px;" border="1"><tbody><tr> <td>层2  id="er"</td> </tr></tbody></table> <table style="width: 113px; height: 117px;" border="1"><tbody><tr> <td>层3     id="san"</td> </tr></tbody></table> <p>现在有三个层 (数据都是用el表达式,从session总获取的数据),现在jsp页面请求了后台的类方法 改变了session中的数据 如何让层3这个层重新加载数据?</p>
为什么session.isNew()刷新页面后总会返回TRUE
小白最近刚接触JSP,在用session对象写一个防刷新计数器时遇到了问题。理想情况下是刷新页面时计数器不+1,仅当关闭浏览器再重新打开时才会+1;可是在Eclipse JavaEE的内部浏览器测试时刷新网页计数器也会+1,不知道出了什么问题,下面贴出代码,恳请各位前辈指教 ``` <%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <%! int number=0; synchronized void countpeople(){ number++; } %> <% if (session.isNew()){ countpeople(); String num=String.valueOf(number); session.setAttribute("counter", num); } %> 您是第<%=session.getAttribute("counter")%>位访问者! </body> </html> ```
关于JSP中Session 的先取后存问题(求帮助)
最近在做一个验证码的功能 (在一个平台的基础上,登录功能是平台封装好的) 我已经生成好了一个验证码的JSP 并且将验证码存入到session中 而在login页面取该session的时候 第一次取值为null值 再刷新页面 取到的是上一次存入的值 ![图片说明](https://img-ask.csdn.net/upload/201706/07/1496802871_882587.png) 多次试验结果: 是login页面先加载 取session值 (取到null) 之后验证码的JSP才将值存入session 求技术大牛给予帮助, 如何在login页面获取到JSP中的验证码(完成校验) (注明:由于是平台开发,没有配置文件)
怎么将多个用户名保存到session
我想了2天也没想出来,希望大家多多指导 我用jsp做了一个登陆页面和主页,我想把每个登陆的用户名显示到主页,怎么实现? 可以多个用户同时登录,刷新后用户名不覆盖,就需要保存多个session,怎么保存?jsp页面怎么取到?
jsp页面取值延迟问题,求大神们指点一下
求助大神们,有三个jsp页面,分别为a.jsp b.jsp header.jsp a , b 都include了header.jsp 现在在a和b中分别对属性赋值: ``` a:<%session.setAttribute("isReturn", "return");%> b:<%session.setAttribute("isReturn", "quit");%> ``` 在header中做如下判断: ``` <c:when test="${isreturn=='quit' }"> 左上角显示退出按钮 </c:when> <c:otherwise> 左上角显示返回按钮 </c:otherwise> ``` 现在问题来了:页面切换的时候我需要再点一次刷新左上角的按钮才能更换。 求大神们指点一下,谢谢啦
iframe 这样刷新系统,不能保持session有效吗?
想实现功能:只要网页不关闭,session永远不过期; <br /> <br />实现方法: <br /> <br />1.在系统主页中,加入一个iframe,引用刷新页面: <br />&lt;iframe id="iframe_00" frameborder="no" border="0" style="width:0;height:0" src="/html/refresh.jsp"&gt;&lt;/iframe&gt; <br /> <br />2.刷新页面的内容如下,每15分钟重新刷新一次,加载本页面; <br />refresh.jsp的内容如下: <br /> <br />&lt;html&gt; <br /> &lt;head&gt; <br /> &lt;title&gt;refresh&lt;/title&gt; <br /> &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; <br /> &lt;script type="text/javascript"&gt; <br /> function _refresh(){//alert('test'); <br /> window.location.reload(); <br /> } <br /> var timer = window.setTimeout(_refresh,15*60*1000); <br /> &lt;/script&gt; <br /> &lt;/head&gt; <br /> &lt;body&gt; <br /> <div style="display: none;"> <br /> &lt;% <br />String uid=cn.com.web.SessionHelper.getSessionUserId(request); <br />//System.err.println("session user id == "+uid); <br /> %&gt; <br /> </div> <br /> &lt;/body&gt; <br />&lt;/html&gt; <br /> <br /> <br />问题: <br /> <br />1.刷新页面肯定有执行,我有打印出内容查看,打印出来的登录名也是正确的; <br /> <br />2.系统到了web.xml中设定的session失效时间后,session依然失效,跳转到登录页面; <br /> &lt;session-config&gt; <br /> &lt;session-timeout&gt;300&lt;/session-timeout&gt; <br /> &lt;/session-config&gt; <br /> <br />真是找不到解释的理由了,,大家帮我看看.... <br /> <br />谢谢<br /><strong>问题补充:</strong><br />针对各位朋友的答案: <br /> <br />补充一下:: <br /> <br />1.我详细对比了比的请求的sessionId,值是一样的; <br /> <br />2.我单机服务器使用的是weblogic814,不会产生这种问题; <br /> <br />3.部署到生产机,,使用weblogic814集群,有两台服务器,才产生失效的问题; <br /> <br />4.加入以下测试代码: <br /> <br />long last=session.getLastAccessedTime(); <br />long now=new java.util.Date().getTime(); <br />int max=session.getMaxInactiveInterval(); <br /> <br />java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); <br />System.err.println("MaxInactiveInterval=="+session.getMaxInactiveInterval()+"  LastAccessedTime=="+sdf.format(new java.util.Date(last))+"  now time=="+sdf.format(new java.util.Date(now))+"  invaid time == "+(max-((now-last)/1000)));//个人认为,最后一个时间是,离session失效的时间.,打印出来的结果是,,还需要115秒才失效,,可是,,前台已经失效了; <br /> <br />打印出的结果是: <br /> <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:19  now time==2009-01-07 15:33:25  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:25  now time==2009-01-07 15:33:30  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:30  now time==2009-01-07 15:33:35  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:35  now time==2009-01-07 15:33:40  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:40  now time==2009-01-07 15:33:45  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:45  now time==2009-01-07 15:33:50  invaid time == 115 <br />&gt;&gt;MaxInactiveInterval==120  LastAccessedTime==2009-01-07 15:33:50  now time==2009-01-07 15:33:55  invaid time == 115 <br /> <br /> <br />还没有答案,,,真是奇怪... <br /> <br /> <br /> <br /><strong>问题补充:</strong><br />&lt;session-config&gt; <br />&lt;session-timeout&gt;300&lt;/session-timeout&gt; <br />&lt;/session-config&gt; <br /> <br />单位应该是,分钟,,,300/60.应该5小时.?<br /><strong>问题补充:</strong><br />不好意思,,,为了做测试:: <br /> <br />我现在改了配置文件,,,以上的打印结果是基于新配置文件的... <br /> <br /> <br /> &lt;session-config&gt; <br /> &lt;session-timeout&gt;2&lt;/session-timeout&gt; <br /> &lt;/session-config&gt; <br />//2分钟 <br /> <br /> function _refresh(){ <br />    window.location.reload(); <br /> } <br /> var timer = window.setTimeout(_refresh,5*1000); <br /> <br />//5秒钟刷新一次 <br /> <br />说明一下,,后来的打印一却都是自己需要的结果,,,打印的都是正确的.... <br /> <br />但是,,2分钟时间到了,,照样跳转出登录页面; <br /> <br /> <br />集群,session复制问题: <br /> <br />集群我不太熟悉,,是别的公司配置的,,采用的是array,,(我没用过,呵呵,,一点不懂),,,,他现在的算法是,,一个IP,一定时间内的访问都固定在一台服务上,,这样想过去,,应该不存在session复制问题., <br /><br /><strong>问题补充:</strong><br />集群,使用Array的负载均衡. <br /> <br />因为客观原因,分流配置是别的公司做的.. <br /> <br />我们这里不太了解这个东西.. <br /> <br />要沟通,,需要找比较有效的证剧,,证明和它们有关系,,,比较麻烦..<br /><strong>问题补充:</strong><br />他们采用的算法是,, <br /> <br />比如,,A IP 这次访问请求,,在此10小时内访问,,都是固定在server 1,, <br /> <br />没有session 的复制,,,减小系统开支.. <br /> <br />照这样看的话,,应该就不存在因为服务器session不同步而产生这个问题,, <br /> <br />日志的打印结果也证明,,打印的内容,,比如保存在session中的用户的登录账号,,一直都是正确的...<br /><strong>问题补充:</strong><br /><div class="quote_title">引用</div><div class="quote_div">两个服务器,分别添加一个测试页面; 看看是否客户端,随机访问了2台服务器,而不是按照Session的保持关系.</div> <br /> <br />这个可以肯定,,确实随机访问了其中一台服务,,直到这个这个请求终止,,都是这台服务在响应.<br /><strong>问题补充:</strong><br /><div class="quote_title">引用</div><div class="quote_div">1.在你本地机器测试,看是否有问题; <br />2.在服务器测试,看是否只有Array的情况下有问题; <br />3.如果不是Array也有问题,那就是集群的配置问题; </div> <br /> <br />本地是没问题的; <br /> <br />array,和集群问题因为不熟悉,不好测试,, <br />单起一台服务也是会超时; <br /> <br /><br /><strong>问题补充:</strong><br /><div class="quote_title">引用</div><div class="quote_div">直接JS 写一个刷新的不就行了, 为什么不改下服务器的session周期</div> <br /> <br />写JS刷新效果是一样的,, <br /> <br />到于改session周期,,真是一言难尽,,,不知道改多大为好.. <br /> <br />这样的需求属于客户要求问题,,我改了5小时了,,,他一晚上不关机,,,照样超时,,我要是改成12小时,,,他要是周未不关机怎么办?? <br /> <br />那我总不能改成无穷大吧????<img src="/images/smiles/icon_redface.gif" /> <br /> <br />想不明白呀,,,不知道怎么调试了....<img src="/images/smiles/icon_cry.gif" /> <br /><strong>问题补充:</strong><br />问题解决:原因是系统中引用了第三方的JAR包,跟踪后,发现这个JAR包中有个方法会在session超时时间到后,,自动去清除会话,而不管你这个session的last access time.... <br /> <br />将这个JAR包去除后,,,系统正常.... <br /> <br />具体原因还是不清楚,,感觉不可思议..... <br /> <br />为什么本机开发的时候不会出这个问题呢???weblogic的部署模式有关系吗??? <br /> <br />是和操作系统有关系吗? <br /> <br />待以后了解...
Jquery Ajax 提交表单 JSP页面局部刷新 javascript 中写的code不执行
下面是我碰到的具体问题,一直很是郁闷!我贴下我的代码,如果解决了,小弟不甚感激。。。 js 代码: [code="js"] //ajax 执行成功的回调函数 function showSuccess(data){ alert('执行成功!!!'); } function showError(){ alert('出错啦!!!'); } //ajax提交采购或者销售项 function addGoodsItems(){ if($("#goodsName").val() == ""){ alert('货品不能为空!'); }else if($("#amount").val() == 0){ alert('数量需多余0'); }else if($("#price").val() == ""){ alert('单价不能为空'); }else{ $(document).ready(function(){ alert('这个方法始终就是没有起作用?????????'); $("#itemsForm").submit(function(){ //ajax 提交参数 var options = { dataType:'json', resetForm:false, success:showSuccess, error:showError, timeout:10000 } //提交表单 $(this).ajaxSubmit(options); // 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false return false; }); }); alert('方法执行到这儿了!!'); } } [/code] 涉及的页面: [code="html"] <form id="itemsForm" action="addGoodsItems.action" method="post"> <table> <tr> <td> 存货名称: </td> <td> <input type="text" name="goodsItems.goodsName" id="goodsName" class="baseline" value="${pcb.goodsItems.goodsName}" style="width: 150px;" /> <input type="button" value="选择存货" onclick="selectGoods()" /> </td> <td width="40px;"></td> <td> 存货地点: </td> <td> <input type="text" name="goodsItems.stockPlace" id="storage" class="baseline" value="${pcb.goodsItems.stockPlace}" style="width: 150px;" /> <input type="button" value="存货地点" onclick="selectPlace()" /> </td> </tr> <tr> <td> 物品数量: </td> <td> <c:choose> <c:when test="${goodsItems.amount == null}"> <input type="text" name="goodsItems.amount" id="amount" onfocus="onfocusSelect(this)" onblur="jsje()" style="text-align: right;" value="0" /> </c:when> <c:otherwise> <input type="text" name="goodsItems.amount" id="amount" onfocus="onfocusSelect(this)" onblur="jsje()" class="baseline" style="width: 50px; text-align: right;" value="${goodsItems.amount}" /> </c:otherwise> </c:choose> </td> <td></td> <td> 单价: </td> <td> <select id="priceType" name="goodsItems.priceType" onchange="selectPrice(this)" style="width: 100px;"> <c:choose> <c:when test="${pcbtype == 0 || pcbtype == 1}"> <option value="0"> 采购标准价 </option> <option value="1"> 采购最高价 </option> </c:when> <c:when test="${pcbtype == 2 || pcbtype == 3}"> <option value="2"> 销售标准价 </option> <option value="3"> 最低销售价 </option> </c:when> </c:choose> </select> <input type="text" id="price" name="goodsItems.price" onblur="jsje()" /> </td> <td width="10"></td> <td> 折扣率: </td> <td> <input type="text" id="discountRate" name="goodsItems.discountRate" style="text-align: right" onblur="jsje()" value="${pcb.goodsItems.discountRate}" /> </td> </tr> <tr> <td> 折扣额: </td> <td> <input type="text" id="zke" value="0.00" disabled="disabled" style="text-align: right" /> <input type="hidden" id="discount" name="goodsItems.discount" value="${goodsItems.discount}" /> </td> <td width="20"></td> <td> <c:choose> <c:when test="${pcbtype == 0 || pcbtype == 1}"> 采购额: </c:when> <c:when test="${pcbtype == 2 || pcbtype == 3}"> 销售额: </c:when> </c:choose> </td> <td> <input type="text" id="je" value="0.00" disabled="disabled" style="text-align: right" /> <input type="hidden" id="procureCellMoney" name="goodsItems.procureCellMoney" value="${goodsItems.procureCellMoney}" /> </td> <td colspan="4"></td> </tr> <tr> <td> 说明: </td> <td colspan="8"> <input type="text" id="notes" name="goodsItems.notes" style="width: 500px;" /> </td> </tr> <tr> <td colspan="9" align="right"> <input type="button" value="保存分录" onclick="addGoodsItems()" /> <input type="reset" value="重置" /> </td> </tr> </table> </from> [/code] action 代码: [code="java"] public String addGoodsItems(){ log.info("获得的存货名称是:"+goodsItems.getGoodsName()); log.info('这里面我准备将form表单中提交过来的数据存到session中去,如果,我提交采购单的话,才将session中的值取出来存到数据库中,session中我想的是存放一个goodsMap'); return "addItems"; } [/code] struts.xml 代码: [code="xml"] <package name="goodsItems" extends="json-default"> <action name="addGoodsItems" class="xxpcb" method="addGoodsItems"> <result name="addItems"> <!--<param name="includeProperties">goodsItemsMap.*</param>--> </result> </action> </package> [/code]
response重定向后,为何页面需要刷新后才会跳转?
现在在做一个web应用系统,前端框架是Extjs5.1,后端框架是spring+springMVC+hibernate。 加了一个登录过滤器,当session失效后,再点击页面中的任意功能菜单就要跳转到登录页面, 我在验证session为空后,用response.sendRedirect()重定向到登录页面, 但是现在的问题是: ## session失效后,我点击任意功能菜单不会显示数据,页面不跳转,地址栏网址也不会变,必须要按F5刷新后才会跳转到登录页面,在fireBug里面重定向会显示。 登录过滤器: ``` public class LoginFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; String contextPath = request.getContextPath(); String url = request.getRequestURI(); url = url.replace(contextPath, ""); if ((url.startsWith("/sys") || url.startsWith("/bus")) && !url.contains("/sys/sysuser/login") )) { SysUser sysUser = (SysUser) request.getSession().getAttribute(Constant.SESSION_SYS_USER); if (null == sysUser) { response.sendRedirect(contextPath + "/login.jsp"); return; } } if (request.getMethod().equalsIgnoreCase("get")) { request = new GetHttpServletRequestWrapper(request, "UTF-8"); } filterChain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } } ``` fireBug截图: ![fireBug截图](https://img-ask.csdn.net/upload/201512/07/1449458428_790047.png)
tomcat+memcached在阿里云ECS上实现session共享不成功
首先,配置是在本地经过验证的,可以实现共享。 1、两个tomcat配置都检查了两遍是OK的,启动之后访问页面登录之后也能有session进入到memcached中,说明tomcat和memcached服务器的连接是OK的; 2、使用MSM管理session的那段配置,确定是no-skity的,也查过资料和官网配置,本身配置其实不多,直接照搬来改的,也是OK的。 但是,其中一台tomcat登录后,另一台怎么刷新也还是在登录页,直接访问主页也会被拦截器拦截下来,说明没有session不让登入,观察memcached服务器里面,发现有第一台的session;然后第二台我直接手动登录后,发现memcached又有了第二个session。 反正就是这俩tomcat根本没有共享session,memcached也有值,不知道还有哪里有问题。 ########################################### 第二次测试,我用一个小的test工程打包,里面就只有一个jsp页面来获取session,部署到服务器上去测试了一下,发现只要一刷新,memcached服务器里面就会多一个session值,而且每次刷新都是新的session装入memcached。 日了狗了啊,配置确定没问题,就是导入jar包和修改context.xml,版本也检查过了是正确的。o(╥﹏╥)o ########################################### 接下来是第三次测试,我直接把项目打包部署在本地自己电脑的两个不同端口的tomcat上,启动后访问,发现竟然可以实现session共享?!连接的memcached服务器依旧是阿里云的,观察session没问题,session共享是OK的! 但是我把项目部署到阿里云的两台机器的tomcat上之后,访问之后发现就不行了,一台登录的时候往memcached塞入了session,但是另一台刷新还是拿不到session,打印出来session值是空的!! ########################################### 崩溃了...... 这到底是为什么呢?本地不同端口的两个tomcat就可以session共享,但是搬到阿里云上面就不行了,端口确定都打开了,因为不打开的话根本不能往memcached里面set进值。 那到底还有什么原因呢?难道是阿里云还有啥限制?和本地测试唯一的区别就是,本地是不同端口的两个tomcat测试的,阿里云上的两台是不同的服务器,tomcat的ip和端口都不同,可问题是他们都是互通的啊,Telnet了memcached服务器也都是通的。 郁闷死了! 求大佬给点思路啊!
关于ajax接受数据以及更新数据的问题
做了一个购物车,购物车里有单件商品的加减操作,点加以后会用ajax跳转到servlet进行处理,在servlet会用session来设置购物车中的值,在jsp也会用scope来进行数量的输出,问题是成功以后,session中的值已经变了,但在不刷新页面的情况下,页面是不变化的,怎么能够在点加或者减成功调用servlet以后在不刷新页面的情况下让所有sessionscope值实时改变?
dwr创建和获取session的问题
由于各种原因,一直是用的dwr1.0的版本。 一开始,我想在java类中创建一个session传到jsp中: [code="java"] public boolean checkUser(String operatorId, String password, String groupId,HttpSession session) throws Exception { boolean bValid = true; try { ........//DAO } catch (Exception e) { ........ } session = ExecutionContext.get().getSession(); session.setAttribute("user", "daveli"); return bValid; } [/code] [code="java"] js: function handleCheck() { User.checkAuthority(opId,psd,sGroupId,callback); } jsp: <%=(String)session.getAttribute("user")%> //[color=red]得到的是空(null),不论怎么刷新[/color] [/code] 这样不行,于是我换了一种方法,在页面中创建一个session,然后在java类中改变session的值: [code="java"] public boolean checkUser(String operatorId, String password, String groupId,HttpSession session) throws Exception { boolean bValid = true; try { ........//DAO } catch (Exception e) { ........ } session = ExecutionContext.get().getSession(); String username = (String)session.getAttribute("user"); System.out.println(UserName); //打印出来为空,说明session没有传过来。 session.removeAttribute("user"); session.setAttribute("user", "java sun"); return bValid; } [/code] [code="java"] js: function handleCheck() { User.checkAuthority(opId,psd,sGroupId,callback); } jsp: <% session.setAttribute("user", "hello");%> <%=(String)session.getAttribute("user")%> //[color=red]得到的永远是“hello”,不论怎么刷新,说明java类中的设置没传过来[/color] 请问:如何用DWR创建和调用session? [/code] [b]问题补充:[/b] 谢谢jones ,你的回答。 既然jsp页面中饿代码已经先于客户端执行的javascript执行,所以第二种方法中的java类中的 System.out.println(UserName);不可能打印出来的空值。我点到其他的jsp页面的话,也应该得到我在java类中设置的session值吧。 [b]问题补充:[/b] 谢谢,我发现问题了。我打印出jsp和java类的session_id。加不加 session = ExecutionContext.get().getSession(); 都是不同的。 该怎么把jsp页面的这个session发送到java类呢?如何把java类的session传给jsp中呢? [b]问题补充:[/b] <code> dwr和session通讯的方式: 1. java类中把session作为参数,如: public void makeChart(String chartType,HttpSession session) 2.页面中调用如下: TestJFreeChartDwr.makeChart(type,show); 无需传递第一步中的session参数,dwr会自动填充到session里 </code> 我也是这样做的啊。可是还是传不到java类中? 是不是dwr1.0不支持session呢? [b]问题补充:[/b] 晓得原因了。 我做验证的时候是用的弹出小页面,所以又创建了一个新的session,当登录页面关掉后,session也就自动关掉了。所以原页面的session还是为null。 该怎么处理这个问题? [b]问题补充:[/b] 我是这么做的: A页面:要登录的页面,页面加载的时候加载js: js: function init() { //authority check var boolIsSupervisor = window.showModalDialog( "check_user.jsp", "", "dialogHeight:10; dialogWidth:22; status:no" ); if ( String( boolIsSupervisor ) == "undefined" || boolIsSupervisor == false ) { alert ( "Supervisor authentication failed." ); window.location.href = "/mrs/mrsRightPage.do"; } } check_user.jsp是登录页面,要求输入用户名,密码,点提交调用js: function handleCheck() { User.check(name,password,getAuth); } function getAuth(pass) { window.returnValue=true; window.close(); } java类中: public boolean checkUser(String name, String password, HttpSession session){ boolean bValid = true; //业务处理 session.setAttribute("user", "java sun"); return bValid; } 我发现check_user.jsp中的session和也登录的页面不是一个session。这么才能让他们共用一个session??? 谢谢
Easuyi 修改了数据,刷新不了页面,数据是一直保持不表,当数据库已经改变,只有从刷新
//删除 function deleteUser(){ var row = $('#dg').datagrid('getSelected') location.href="delete.action?uid="+row.uid } //修改 function updateUser(){ var row = $('#dg').datagrid('getSelected'); location.href="update.action?uid="+row.uid+"&uname="+row.uname+"&ucard="+row.ucard+"&ugender="+row.ugender+"&uphone="+row.uphone+"&ucount="+row.ucount var row = $('#dg').datagrid('reload'); } ``` ``` // 删除 @Action(value = "delete", results = { @Result(name = "succes", location = "/WEB-INF/jsp/user.jsp") }) public String delete() { HttpServletRequest request = ServletActionContext.getRequest(); Session session = sessionFactory.openSession(); int uid = Integer.parseInt(request.getParameter("uid")); System.out.println(uid); UserEntity userEntity = session.load(UserEntity.class, uid); session.delete(userEntity); session.beginTransaction().commit(); session.close(); return "succes"; } // 修改 @Action(value = "update",results ={@Result(name = "succes", location = "/WEB-INF/jsp/user.jsp")}) public String upadte() { HttpServletRequest request = ServletActionContext.getRequest(); Session session = sessionFactory.openSession(); int uid = Integer.parseInt(request.getParameter("uid")); String uname = request.getParameter("uname"); String ucard = request.getParameter("ucard"); int ugender = Integer.parseInt(request.getParameter("ugender")); String uphone = request.getParameter("uphone"); int ucount = Integer.parseInt(request.getParameter("ucount")); UserEntity userEntity = session.load(UserEntity.class, uid); userEntity.setUname(uname); userEntity.setUcount(ucount); userEntity.setUcard(ucard); userEntity.setUphone(uphone); userEntity.setUgender(ugender); session.update(userEntity); session.beginTransaction().commit(); session.close(); return "succes"; }
关于登陆注销后返回的问题
使用 session.removeAttribute()之后, return 回index.jsp页面。 但是后退再刷新,页面的值又出现了还可以传递 网上的方法是禁用浏览器缓存,但其他正常返回index页面的操作也就被影响了。 由于静态页面也没法通过js获取session值进行判断 请问各位大神都用的什么方法?
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
程序员该看的几部电影
1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?如何...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了掌握好Android打下基础。
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问