可以采用sessionID,将sessionID和用户ID写入数据库表,就不担心过期问题了。因为sessionID直到用户关闭最后一个窗口才会丢失。
这个好像真没其他办法解决.可以打电话直接跟空间商说,给你这个空间开的SESSION过期时间设长一点.我就是这么做的.
另一个是干脆不用SESSION.在WEB.CONFIGJ里设置
<sessionState cookieless="true" timeout="40">
设置了cookieless="true"后,会在URL地址栏里多出一串记录SESSION值的字符.你试下看.
另外cookieless也可以设置为UseUri,效果跟TRUE没差别.
只是这样设置对SEO应该没什么好处.
不考虑框架下,在JAVA中使用session
大概有以下几种使用方法:
1、前台设置:利用jsp的内置对象session进行设置。
<%
session.setAttribute("username", username)
%>
2、后台设置:
(1)Filter设置:
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {
//把请求和响应对象强制转换为HttpServlet域对象
HttpServletRequest request = (HttpServletRequest)arg0
HttpServletResponse responce = (HttpServletResponse)arg1
HttpSession session = request.getSession(false)
session.setAttribute("username", username)
}
}
(2)Servlet设置:
public class MyServlet extends HttpServlet {
//doGet()与doPost()任选
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建session对象
HttpSession session = request.getSession(false)
session.setAttribute("username", username)
}
}
扩展资料:
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session
对象存储特定用户会话所需的属性及配置信息。
这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session
对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web
服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。
Session
对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。
有关使用
Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。
session的工作原理:
1、当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
2、首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
3、当执行PHP脚本时,通过使用session_register()函数注册session变量。
4、当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。
参考资料:百度百科 ------ session
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)