Java web之Servlet跳转

Servlet之间可以互相跳转,从一个Servlet跳转到另一个Servlet。现在的MVC框架中都使用了Servlet跳转。MVC分为三个独立模块:业务处理(Model)、试图模块(View)、控制模块(Control)。在Struts框架中,这三个模块分为3个Servlet,程序在三个Servlet之间跳转。

1.转向(Forward)

转向通过RequestDispatcher对象的forward(HttpServletRequest req,HttpServletResponse res)方法实现。下面便实现了跳转到另一个Servlet:

RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/web.xml");
dispatcher.forward(request, response);
Forward是MVC中的常用技术,不仅可以跳转到Servlet,JSP,还可以跳转到另一个文件,甚至是WEB-INF下的文件。
当执行Forward动作的时候,不能有任何输出到客户端,否则会抛出IllegalStateException异常。


2.重定向(Redirect)

重定向是利用服务器返回的状态码来实现的。服务器通过setStatus(int status)方法设置状态码。状态码301和302表示重定向,其中301为永久性重定向,302为临时性重定向。

response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
response.setHeader("Location","http://www.baidu.com");

3.自动刷新(Refresh)

自动刷新可以实现本页面的自动刷新,也能实现页面跳转。

response.setHeader("Refresh","1000;URL=http://www.baidu.com");
URL换为本页面的URL便是本页面刷新,换为另一个网页的URL便是跳转。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值