SERVLET中的重定向

来源:互联网 发布:uml建模软件 编辑:程序博客网 时间:2024/04/27 19:00

RequestDispatcher对象是用来引用或跳转到其它的JSP或SERVLET。前面文章中使用我使用的是request对象来做的,其实做跳转还可以使用ServletContext对象:

public RequestDispatcher getRequestDispatcher(String url)

public RequestDispatcher getNamedDispatcher(String name)

在使用getRequestDispatcher方法时,一定要注意,后面的URL必须以“/”开头,这个URL是相对于你在WEB上的虚拟路径,而使用getNamedDispatcher方法则后面的参数是在web.xml文件中设置的相应servlet文件的名字。

如:

在web.xml中有如下设置:

   <servlet>
        <servlet-name>loginServletName</servlet-name>
        <servlet-class>com.servlet.LoginServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>loginServletName</servlet-name>
        <url-pattern>/loginServlet</url-pattern>
    </servlet-mapping>

如果在servlet中,用ServletContext取得这个SERVLET资源则用如下语句:

  RequestDispatcher  d = getServletContext().getRequestDispatcher("/loginServlet");

  RequestDispatcher  d = getServletContext().getNameDispatcher("/loginServletName");

上面是两个不同的设置方法,但指向的资源是相同的。