Dodoke9月10日学习笔记

课程内容

1、web请求映射表,MVC
2、页面跳转,转发和重定义
3、Session

课堂笔记

一、web服务器映射表

在Tomcat服务器中,内存储存方式为Map(key,value)模式;key为地址,value为.class文件—–>jsp文件会变成.class文件
请求发出到达服务器会产生一个对象–>request.get..
请求在服务器内部跳转:请求到中转页面–>中转页面通过逻辑判断再请求另一页面
Servlet—>一个带地址的类—>doget/dopost;
MVC:
Controller——负责转发请求,对请求进行处理(控制区)
View——负责界面显示(jsp)
Model——业务功能编写、数据存取操作实现、实体类等(实现区)

二、页面跳转:转发和重定向

转发:来自服务器内部的跳转,URL地址不发生改变;尾部带传值少
request.getRequestDispatcher(“/WEB-INF/index.jsp”).forward(request, response);

客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在student_list中都能取出来,因此,student_list能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。

重定义:进行客户端的跳转,URL发生改变;尾部带传值多
response.sendRedirect(“pages/index3.jsp”);

客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.sendRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问student_list.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求student_list.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了。可见,在sendRedirect()里面是两个请求,两个响应。
三、Session—会话级别的变量,以key,value方式储存

获取key,value

 request.getSession().setAttribute("user", user);

设置会话时间

request.getSession().setMaxInactiveInterval(5);

显示页面

<%=null!=user?user.getUsername():"" %>

猜你喜欢

转载自blog.csdn.net/Ali_nie/article/details/82595413