Servlet中的转向

Servlet中的转向

一般在Java web开发中会用到JSPServlet技术。Servlet控制业务流转,JSP则负责业务处理结果的显示。所以,经常会遇到页面的重定向。

重定向技术可以分为两类:一类是客户端重定向,另一类是服务器端重定向。Servlet中的重定向属于服务器端技术。

Servlet服务器端得重定向有两种方式,一是使用HttpServletResponsesendRedirect()方法,另一个是使用RequestDispatcherforward()方法。

HttpServletResponse接口定义转向的sendRedirect()方法代码如下:

public void sendRedirect(String url) throws java.io.IOException

其中url参数可以是一个绝对的URL,如response.sendRedirect(http://java.sun.com),也可以是一个相对的URL地址。如果url以“/”开始,则容器认为相对于当前Web应用的根。

RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法:

public interface RequestDispatcher {

       void forward(ServletRequest request, ServletResponse response)

       void include(ServletRequest request, ServletResponse response)

}

forward()方法将当前的requestresponse重定向到该RequestDispacher指定的资源。这在实际项目中大量使用。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源,而不仅仅是另外一个ServletInclude()方法将把Request Dispatcher资源的输出包含到当前输出中。

得到RequestDispatcher对象的三种方法:

Ajavax.servlet. ServletRequestgetRequestDispatcher(String path)方法,其中path可以是相对路径,但不能越出当前Servlet上下文。如果path以“/”开头,则解析为相对于当前上下文的根。

Bjavax.servlet. ServletContextgetRequestDispatcher(String path)方法,其中path必须以“/”开头,路径相对于当前的Servlet上下文。可以调用ServletContextgetContext(String uripath)得到另一个Servlet上下文,并可以转向到外部上下文的一个服务器资源链接。

Cjavax.servlet. ServletContextgetNamedDispatcher(String name)得到名为name的一个Web资源,包括ServletJSP页面。这个资源的名字在Web应用部署描述文件web.xml中指定。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值