?
Cookie和Session和Application记录下笔记
?
1.Cookie是保留在浏览器端,当浏览器关闭,Cookie自动清空
?
2. Session是保留在服务端,超时时间在服务端配置。
//web.xml中配置 <web-app> <session-config> <session-timeout>20</session-timeout> </session-config> </web-app> //代码中设置 session.setMaxInactiveInterval(20*60);
? ??
?
3.Application是保留在服务端,服务端一直起着,它就一直存在。 可以用于保存全局的信息。
?
4.Servlet?
? ?说明servlet主要有三个生命周期:
? ?? ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
②装载并创建该Servlet的一个实例对象,注意这个实例是单例的,所以调用后面的service方法的时候可能有并发问题。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
? ? 那么service()方法和doGet doPost有什么关系呢?原来在service代码中有判断method属性
? ?
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String method = req.getMethod();
if(method.equals("GET"))
{
long lastModified = getLastModified(req);
if(lastModified == -1L)
{
doGet(req, resp);
} else
{
long ifModifiedSince = req.getDateHeader("If-Modified-Since");
if(ifModifiedSince < (lastModified / 1000L) * 1000L)
{
maybeSetLastModified(resp, lastModified);
doGet(req, resp);
} else
{
resp.setStatus(304);
}
}
} else
if(method.equals("HEAD"))
{
long lastModified = getLastModified(req);
maybeSetLastModified(resp, lastModified);
doHead(req, resp);
} else
if(method.equals("POST"))
doPost(req, resp);
else
if(method.equals("PUT"))
doPut(req, resp);
else
if(method.equals("DELETE"))
doDelete(req, resp);
else
if(method.equals("OPTIONS"))
doOptions(req, resp);
else
if(method.equals("TRACE"))
{
doTrace(req, resp);
} else
{
String errMsg = lStrings.getString("http.method_not_implemented");
Object errArgs[] = new Object[1];
errArgs[0] = method;
errMsg = MessageFormat.format(errMsg, errArgs);
resp.sendError(501, errMsg);
}
}
?
<servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.ServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/servlet/ServletDemo</url-pattern>
</servlet-mapping>
? ? servlet转自?http://www.cnblogs.com/xdp-gacl/p/3760336.html
? ? 这哥们的系列文档对学习java web基础帮助很大,各位可以参考下。
Java web之cookie session和application和servlet
原文:http://labreeze.iteye.com/blog/2213884