天行健,君子以自强不息。
这句话我虽然理解不深,但我认为学习绝非一个人的事,它需要与其它人交流,如果只是闷头学,可能一天就能理解了的东西,你要理解一年,甚至更长。
希望各位高人能对我的学习进行指导,部分问题在此处提出,如果你知道或有理解,请予以评论,谢谢。
-------------------------------------------
1、标签库
我知道了标签库的概念,但我不知道在现在这种框架开发模式下,是否还需要学习标签库的开发等,请指导。此处的学习我先略过了,等需要时再看吧。
2、用户跟踪
对访问站点的用户进行跟踪,可以有以下方法(三种主要机制):Cookies、URL 重写、隐藏式表单域
操作Cookies:
<%
Cookie mycookie=new Cookie("user","wuxs");//创建一个Cookie对象
mycookie.setMaxAge(24*60*60);//设置Cookie的存活期
response.addCookie(mycookie);//将Cookie存储
%>
<%
//获取Cookie
Cookie[] cookielist=request.getCookies();
..........
Cookie mycookie=cookielist[i];
if (mycookie.getName.equals("user")){out.println(mycookie.getValue());}
%>
使用会话,Session:
使页面可以支持会话:<% page language="java" import="java.util.*" session="true" %>,默认是支持的,如果要使其不支持会话,则可以将其设为false
在Session中存储数据:
Integer i=new Integer(1);
session.setAttribute("userAccessTimes",i);
如上,保存会话的属性值用的是整型对象而不是简单数据类型int。因为 Session 对象只能存储对象,而不能保存像int 这样的简单数据类型。
获取Session中的数据:
Integer i=(Integer) session.getAttribute("user");
检查新会话:
if (session.isNew()){....} //什么是新会话?
获取会话标识符:
String sid=session.getId();
删除会话:
当不需要会话时,可以立即将会话失效。session.invalidate();
会话超时:
由于http 协议是无状态的,因此判断用户是否活动的唯一机制是超时。所以要确保会话定期刷新。
可以使用session.getMaxInactiveInterval()方法获取最大超时时间,可以用session.setMaxInactiveInterval()方法进行设置。
在配置文件中web.xml这样设置:
<webapp>
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
</webapp>
可以将会话设为永不超时。
会话范围:有page , session ,request , application ,但没有理解
application 对象:
application 对象提供方法:getAttribute()、setAttribute()、getAttributeNames()、removeAttribute()
边学边更新中....