session.getId(); id
session.isNew(); 是不是新创建的
session.getMaxInactiveInterval() 1800
session.createTime();
session.getLastAccessTime(); 都是1970到现在的毫秒数
session.setAttribute(“username”,request.getParamer(“username”));
session.invalidate(); 删除session
session.getAttribute();
session.removeAttribute();
action = response.encodeUrl(“hello.jsp”);
这种方式就是每个页面不在验证cookie ,而是验证encode的url了、session一直都是在的,只不过寻找的方式不同了。
用session来实现购物车
一个产品页面, 提交到servlet 主要是为了保存数据。
servlet重定向到 用户信息页面 也提交到servlet
servlet重定向到确认页面。
整体过程,就是用servlet来讲浏览器传过来的数据保存在session中
保存完,就跳转。
第二个页面还是这样。跳转到确认页面。确认页面拿到session中存储的所有信息并显示。最终提交。
在上面这个过程中遇到了一个相对路径出现问题:
写绝对路径是肯定没问题的。所以开发建议绝对路径。
如果目录结构是这样的
23 文件夹
-2.jsp 3.jsp
-3.jsp …/1.jsp
1.jsp 23/2.jsp 现在改了 先到一个/servlet 然后转发到 23/2.jsp
这三个文件之间如果是用的是相对路径,1-2-3 这样是没问题的。
什么是绝对路径:是相对于服务器的项目下就是绝对路径。http://localhost:8989/contextpath/这就是。
javaweb 中 / 具体的位置到底是什么?
有的时候 是 端口号之后:to 2 属于html 浏览器处理的
有的时候是 项目之后: 一种情况是配置在web.xml 中的路径 /servlet 那个urlparttern web.xml因为是服务器的解析
另一种就是请求的转发。 转发因为是服务器的行为。
所以在处理的时候,就是在浏览器处理的地方
request.getContextPaht() / 拼接上。