【问题标题】:How to redirect to JSP inside WEB-INF folder如何重定向到 WEB-INF 文件夹中的 JSP
【发布时间】:2025-11-27 23:50:01
【问题描述】:

我有一个带有 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 文件夹中,我不知道该怎么做。我不想在 WEB-INF 之外创建一个 jsp,然后将 servlet 重定向代码放入其中。提前致谢。

我可以在这里使用什么?

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

【问题讨论】:

    标签: java jquery html jsp servlets


    【解决方案1】:

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

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

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

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

    索引.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
    

    【讨论】:

    • 现在要重定向到相应的页面,我们必须在 Servlet URL 中传递参数,对吗?你也能解释一下吗
    • 谢谢我已经弄明白了,非常感谢。请给帖子点赞,以便新手可以得到帮助。再次感谢:)