关于Servlet的跳转
通过 Request 对象传递数据
方法声明 |
功能描述 |
Void setAttribute(String name,Object o) |
用于将一个对象与一个名称关联后存储到 ServletRequest 对象中 |
Object getAttribute(String name) |
用于从 ServletRequest 对象中返回指定名称的属性对象 |
void removeAttribute(String name);
|
用于从 ServletRequest 对象中删除指定名称的属性 |
两种方法
RequestDispatcher接口的----forward(ServletRequest request,ServletResponse response) |
该方法用于将请求从一个 Servlet 传递给另一个 Web 资源【Servlet程序/html/JSP】。【请求转发】 |
Redirect----HttpServletRespone.sendRedirect(String path) |
HttpServletResponse 接口定义了一个 sendRedirect(String path) 方法.将请求从一个 Servlet 传递给另一个 Web 资源【Servlet程序/html/JSP】 |
1.forward方法
forward属于RequestDispatcher接口
HttpServletRequest接口从ServletRequest接口中继承了一个获取 RequestDispatcher 对象的方法RequestDispatcher getRequestDispatcher (String path).这个方法返回一个RequestDispatcher对象
参数String path---目标路径【必须以“/”开头,用于表示当前 Web 应用的根目录】
需要注意的是,WEB-INF 目录中的内容对 RequestDispatcher 对象也是可见的。因此,传递给 getRequestDispatcher(String path) 方法的资源可以是 WEB-INF 目录中的文件
具体步骤:
1.获得RequestDispatcher接口对象
RequestDispatcher接口对象=HttpServletRequest接口对象.getRequestDispatcher (String path);
2.调用forward方法传递请求实现跳转
RequestDispatcher接口对象.forward(ServletRequest request,ServletResponse response).
3.传递参数
通过HttpServletRequest对象传递数据的
1.储存数据的方法
HttpServletRequest对象的方法void setAttribute(String name,Object o)用于将一个对象与一个名称关联后存储到 ServletRequest 对象中