list.do发送请求到后端 首先到Servlet引擎 Servlet会创建request和response创建ActionServlet ActionServlet调用dao类返回数据(比如list)给ActionServlet 通知容器(Servlet引擎)调用listUser.jsp 然后listUsers.jsp从requst获取绑定的数据 通过jsp渲染页面(也是转发的原理,没有到浏览器 都是在服务器里面完成的 所以这也是转发的地址没有改变,重定向是把返回一个302状态码给页面 然后页面可以跨域到另一个页面之前的request发生改变 转发发生在服务器 重定向发生在浏览器)
转发的本质:就是一个web组件通知容器去调用另一个web组件
RequestDispatcher是转发器
HttpServlet类里面有service()里面又有doGet()和doPost()方法 官方推荐使用重写doGet()或者doPost()方法。请求发送过来经过容器 然后调用HttpServlet类里面的service方法从而调用重写的doGet()或者doPost()方法
上面的三张图片就是转发的具体实现方法
与上面的那一幅图的request.setAttribute("users",user)绑定数据到requset 然后在转发到的.jsp页面与下一张图片的(List<User>)request.getAttribute("users")获取到数据 然后jsp根据数据渲染页面
el表达式是什么?
是一套简单的饿运算规则,用于给jsp标签属性赋值,也可以脱离标签直接使用. el表达式的用法 1.读取bean的属性值 方法1. ${user.username} 执行的过程: 依次从pageContext —>request—>application中查找绑定名为“user”的对象,然后调用该对象的“getUsername”方法 最后输出该方法的返回结果。如果找不不到对应的对象,就会输出""