不考虑框架下,在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指定,下次浏览网页时可以加载使用。
参考资料: