1.Dao层:全称Data Access Object。Dao层比较底层,负责与数据库打交道具体到对某个表、某个实体的增删改查,也就是说,这里面放mapper。
2.Service层:又叫服务层或业务层,封装Dao层的操作,使一个方法对外表现为实现一种功能,例如:网购生成订单时,不仅要插入订单信息记录,还要查询商品库存是否充足,购买是否超过限制等等。
3.Controller层:业务控制层,负责接收数据和请求,并且调用Service层实现这个业务逻辑。
session
1. 服务器可以为每个用户浏览器创建一个会话对象(session对象),一个浏览器只能产生一个session,当新建一个窗口访问服务器时,还是原来的那个session。session中默认保存的是当前用户的信息。因此,在需要保存其他用户数据时,我们可以自己给session添加属性。session(会话)可以看为是一种标识,通过带session的请求,可以让服务器知道是谁在请求数据。session是由服务器创建的,并保存在服务器上的。在session创建好之后,会把sessionId放在cookie中返回(cookie在response中)给客户端。返回的代码应该是这样子的。返回的cookie是保存在客户端的。(应该是隐藏执行保存的)
String sessionId = session.getId();
Cookie cookie = new Cookie("JSESSIONID", sessionId);
cookie.setPath(request.getContextPath());
response.addCookie(cookie);
2、 以后的每次HTTP请求都会带着sessionId,来跟踪用户的整个会话。(应该是隐藏的)
3、 session的过期和超时与cookie的过期没有什么联系,都是可以分别进行设置的。但是当session或cookie中任意一方过期,那么用户就需要重新登录了。
1、 session的创建
-
@GetMapping("demo")
-
public void demo(HttpServletRequest request){
-
HttpSession sessoin=request.getSession();//这就是session的创建
-
session.setAttribute("username","TOM");//给session添加属性属性name: username,属性 value:TOM
-
session.setAttribute("password","tommmm");//添加属性 name: password; value: tommmm
-
System.out.println(session.geiId);
-
}
其中HttpSession session=request.getSession(true);
true表示如果这个HTTP请求中,有session,那么可以直接通过getSession获取当前的session,如果当前的请求中没有session,则会自动新建一个session
HttpSession session=request.getSession(false);//false表示只能获取当前请求中的session,如果没有也不能自动创建。
2、 session的 获取属性
-
session.getAttribute("username");
-
session.getAttribute("password");
3、 session,cookies的超时设置
1 在application.yml里面或.xml配置文件里面
https://blog.csdn.net/east123321/article/details/79157464
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
获得客户机信息:
getRequestURL() | 返回客户端发出请求时的完整URL。 |
---|---|
getRequestURI() | 返回请求行中的参数部分。 |
getQueryString () | 方法返回请求行中的参数部分(参数名+值) |
等等,详情看这里:https://blog.csdn.net/wwq0813/article/details/90256058
获得客户机请求参数
getParameter(String name) | 根据name获取请求参数(常用) |
---|---|
getParameterValues(String name) | 根据name获取请求参数列表(常用) |
getParameterMap() | 返回的是一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系。(编写框架时常用) |
因此,这里实际上你应该将post与get进行统一