如何在WEB-INF文件夹中重定向到JSP

时间:2014-04-08 05:41:24

标签: java jquery html jsp servlets

我有一个带有NAV的jsp,它还包含和带有以下元素的UL,如下面的代码所示,

<nav>
     <ul>
        <li class="current"><a>Home</a></li>
        <li><a>Access Control</a></li>
        <li><a>Site Administration</a></li>
        <li><a>Dashboard</a></li>
        <li><a>Visitor Management</a></li>
      </ul>                
</nav>

我想要做的是在点击LI时将此页面重定向到相应的jsp页面。现在由于所有页面都在WEB-INF文件夹中,我无法弄清楚如何这样做。我不想创建一个jsp out side WEB-INF,然后将servlet重定向代码放入其中。提前谢谢。

我可以在这里使用什么?

P.S:几个月前开始进行网络开发。提前致谢。

1 个答案:

答案 0 :(得分:21)

您需要通过LI上的href调用servlet。

在servlet中,您需要使用requestdispatcher重定向到您的jsp

RequestDispatcher dispatcher=getServletContext().getRequestDispatcher( "/WEB-INF/sample.jsp" );
dispatcher.forward( request, response );

=================编辑:示例代码========================== ===============

的index.html

<nav>
     <ul>
        <li class="current"><a href="/DynamicTest/MyServlet">Home</a></li>
        <li><a>Access Control</a></li>
        <li><a>Site Administration</a></li>
        <li><a>Dashboard</a></li>
        <li><a>Visitor Management</a></li>
      </ul>                
</nav>

Servlet代码

@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        RequestDispatcher dispatcher = getServletContext()
                .getRequestDispatcher("/WEB-INF/sample.jsp");
        dispatcher.forward(request, response);
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

Jsp位置:

WEB-INF/sample.jsp