网站建设 之 dao,session,HttpServletRequest

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的创建

  1. @GetMapping("demo")

  2. public void demo(HttpServletRequest request){

  3. HttpSession sessoin=request.getSession();//这就是session的创建

  4. session.setAttribute("username","TOM");//给session添加属性属性name: username,属性 value:TOM

  5. session.setAttribute("password","tommmm");//添加属性 name: password; value: tommmm

  6. System.out.println(session.geiId);

  7. }

其中HttpSession session=request.getSession(true);

true表示如果这个HTTP请求中,有session,那么可以直接通过getSession获取当前的session,如果当前的请求中没有session,则会自动新建一个session

       HttpSession session=request.getSession(false);//false表示只能获取当前请求中的session,如果没有也不能自动创建。

2、 session的 获取属性

  1. session.getAttribute("username");

  2. 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进行统一

猜你喜欢

转载自blog.csdn.net/HeroIsUseless/article/details/109602525
今日推荐