Java web之cookie session和application和servlet
?
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基础帮助很大,各位可以参考下。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。