小编典典

如何重定向到WEB-INF文件夹内的JSP

jsp

我有一个带有NAV的jsp,其中进一步包含一个UL和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外部WEB-INF,然后将servlet重定向代码放入其中。提前致谢。

我在这里可以使用什么?

PS:几个月前开始Web开发。提前致谢。


阅读 766

收藏
2020-06-08

共1个答案

小编典典

您需要通过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
2020-06-08