这块只是简单了解下,因为现在主流开发模式,几乎用不到Servlet,或者说只有框架自带的,封装好了。
Servlet之间可以相互跳转,这样就可以用多个Servlet做模块化。
MVC(Model-View-Control)框架中都使用了Servlet跳转。MVC框架把程序分成三个独立模块:
- 业务处理模块
- 视图模块
- 控制模块
例如:Struts框架中这三个部分分别为3个Servlet,程序在3个Servlet之间跳转。
1、转向forward
转向forward是通过RequestDispatcher对象的forward方法来实现的。
req.setAttribute("errorResult", "文件不存在下载失败");
RequestDispatcher dispatcher = req.getRequestDispatcher("/servlet/AServlet");
dispatcher.forward(req, resp);
/表示Web应用程序的根目录
Forward是MVC框架中常见的一种技术。Forword不仅可以跳转到本应用的另一个Servlet,JSP页面,也可以跳转到另外一个文件,甚至WEB-INF文件下的文件。
不再举例,如果有序有用到在看。
这种跳转对于客户端来说是透明的,因为它在服务器端完成,携带或者加工了req, resp。
forward是最常用的方式,在Struts、WebWork等MVC框架中,都是用Servlet来处理用户请求,把结果通过request.setAttri