- 会话管理概述:指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。
- Cookie概述:它是客户端浏览器的缓存文件,里面记录了客户浏览器访问网站的一些内容。同时,也是HTTP协议请求和响应消息头的一部分
- Cookie的属性:必要属性:name(名称)和value(值) 重要属性: path(路径) domain(域名) MaxAge(存活时间)
- Cookie细节:Cookie有大小,个数限制。每个网站最多只能存20个cookie,且大小不能超过4kb。同时,所有网站的cookie总数不超过300个。当删除Cookie时,设置maxAge值为0。当不设置maxAge时,使用的是浏览器的内存,当关闭浏览器之后,cookie将丢失。设置了此值,就会保存成缓存文件(值必须是大于0的,以秒为单位)。
- 服务端会话HttpSession概述:用于存储用户的会话数据。它也是Servlet规范中四大域对象之一的会话域对象。并且它也是用于实现数据共享的

@WebServlet("/CookieDemo1")
public class CookieDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
writer.write("欢迎访问本网站,您的最后访问时间为:<br>");
Cookie cookie = new Cookie("time",System.currentTimeMillis()+"");
cookie.setMaxAge(100000);
resp.addCookie(cookie);
Cookie[] cookies = req.getCookies();
for (Cookie cookie1 : cookies) {
if ("time".equals(cookie1.getName())){
String value = cookie1.getValue();
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
writer.write(sim.format(new Date(Long.parseLong(value))));
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
@WebServlet("/SessionDemo1")
public class SessionDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String value = req.getParameter("username");
HttpSession session = req.getSession();
session.setAttribute("name",value);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
@WebServlet("/SessionDemo2")
public class SessionDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
Object value = session.getAttribute("name");
resp.getWriter().write(value+"");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
- JSP简介:一套开发动态web资源的技术,称为JSP/Servlet规范。JSP的本质其实就是一个Servlet。
- HTML:只能开发静态资源,不能包含java代码,无法添加动态数据。
- Servlet:写java代码,可以输出页面内容,但是很不方便,开发效率极低。
- JSP:它包括了HTML的展示技术,同时具备Servlet输出动态资源的能力。但是不适合作为控制器来用。
<%="这是JSP表达式"%><br/>
<%out.println("这是没有JSP表达式输出的");%>
<%! String str = "声明语法格式";%>
<%=str%>
<% out.println("这是Java代码块");%>
<hr/>
- MVC模型
- M:model ,通常用于封装数据,封装的是数据模型。
- V:view ,通常用于展示数据。动态展示用jsp页面,静态数据展示用html。
- C:controller ,通常用于处理请求和响应。一般指的是Servlet。