6.1Servlet跳转之转向(Forward)

   简介:Servlet之间可以相互跳转,从一个Servlet程序调到另一个Servlet。利用Servlet的跳转可以很容易地把一项任务按模块分开。现在的MVC框架中都是用了Servlet跳转。MVC框架把程序分成三个独立模块:业务处理模块(Model)、视图模块<View>、控制模块<Control>。其中Model负责处理业务,View负责显示数据,Control负责控制。在Struts框架中这三部分分别为3个Servlet,程序在3个Servlet之间跳转。

  转向(Forward)

   转向是通过RequestDispatcher对象的forward(request,response)方法来实现的。RequestDispatcher可以通过HttpServletRequest的getRequestDispatcher()方法获得。例如

        RequestDispatcher dispatcher = request.getRequestDispatcher("/servlet/LifeServlet");
        dispatcher.forward(request, response);
其中,getRequestDispatcher()方法的参数必须以“/”开始,表示web应用程序的根目录。Forword跳转到Servlet与JSP页面时最常见的。框架中常使用一个Servlet来集中处理请求然后跳转到响应的Servlet,或者在Servlet中处理业务逻辑,然后跳转到JSP页面中显示处理结果。

当使用forword形式跳转Servlet时,浏览器地址栏会显示跳转前的Servlet访问地址。因为该跳转时在服务器端实现的,客户端浏览器并不知道该跳转动作,也就是说forword跳转对客户端浏览器时透明的。在MVC框架中,都是用Servlet来处理用户请求,把结果通过request.setAttribute()放到requeset中,然后forword到JSP中显示。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值