您的位置:首页 > 其它

servlet的跳转

2017-02-22 12:41 190 查看
servlet的跳转
一、客户端跳转

  在Servlet中要实现客户端跳转,直接使用HttpServletResponse接口的sendRedirect()方法即可。但是需要注意的是,此跳转只能传递session范围的属性,而无法传递request范围的属性。

示例代码:(客户端跳转 ---ClientRedirectServlet)

public class ClientRedirectServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//设置session属性
req.getSession().setAttribute("user", "admin");

//设置application属性 
req.setAttribute("pwd", "123");

//页面跳转---客户端跳转
resp.sendRedirect("get_info.jsp");
}

}  

示例代码:(配置Servlet映射 --- ClientRedirectServlet)

<!-- 配置Servlet映射,ClientRedirectServlet -->
<servlet>
<servlet-name>clientredirectservlet</servlet-name>
<servlet-class>com.lzcc.servlet.redirectdemo.ClientRedirectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>clientredirectservlet</servlet-name>
<url-pattern>/clientredirectservlet</url-pattern>
</servlet-mapping> 
二、客户端跳转

在Servlet中想要执行服务器端跳转,需要依靠RequestDispatcher接口完成,此接口提供了如下方法:

NO  方法                                                       说明  

1   forward(ServletRequest request, ServletResponse response)  页面跳转  

2   include(ServletRequest request, ServletResponse response)  页面包含 

使用RequestDispatcher接口的forward()方法即可完成跳转功能的实现,但是如果要想使用此接口还需要使用ServletRequest接口提供的如下方法进行实例化:

NO    方法                                          说明  

1     getRequestDispatcher(java.lang.String path)
  获取ReqeustDispatcher接口实例  

示例代码:(服务器端跳转 --- ServerRedirectservlet) 

public class ServerRedirectServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 设置session属性
req.getSession().setAttribute("user", "admin");
// 设置request属性
req.setAttribute("pwd", "123");
// 实例化RequestDispatcher
RequestDispatcher rd = req.getRequestDispatcher("get_info.jsp");
// 服务器转向
rd.forward(req, resp);
}

}  

示例代码:(配置Servlet映射 --- ServerRedirectservlet)

<!-- 配置Servlet映射, ServerRedirect -->
<servlet>
<servlet-name>serverredirectservlet</servlet-name>
<servlet-class>com.lzcc.servlet.redirectdemo.ServerRedirectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>serverredirectservlet</servlet-name>
<url-pattern>/serverredirectservlet</url-pattern>
</servlet-mapping>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息