如何在WEB-INF文件夹内重定向到JSP [英] How to redirect to JSP inside WEB-INF folder

查看:332
本文介绍了如何在WEB-INF文件夹内重定向到JSP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有NAV的jsp,它进一步包含以及UL,其中包含以下代码所示的元素,

 < NAV> 
< ul>
< li class =current>< a>主页< / a>< / li>
< li>< a>访问控制< / a>< / li>
< li>< a>网站管理< / a>< / li>
< li>< a>仪表板< / a>< / li>
< li>< a>访客管理< / a>< / li>
< / ul>
< / nav>

当我点击LI时,我想要做的就是将这个页面重定向到相应的jsp页面。现在因为所有的页面都在WEB-INF文件夹内,所以我不知道如何去做。我不想在WEB-INF的外部创建一个jsp,然后在其中放入servlet重定向代码。提前致谢。



我可以在这里使用什么?

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

解决方案

你需要在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>主页< / a>< / li>
< li>< a>访问控制< / a>< / li>
< li>< a>网站管理< / a>< / li>
< li>< a>仪表板< / a>< / li>
< li>< a>访客管理< / a>< / li>
< / ul>
< / nav>

Servlet代码

  @WebServlet(/ MyServlet)
public class MyServlet扩展HttpServlet {$ b $保护无效doGet(HttpServletRequest请求,
HttpServletResponse响应)抛出ServletException,IOException {
RequestDispatcher dispatcher = getServletContext()
.getRequestDispatcher(/ WEB-INF / sample.jsp);
dispatcher.forward(request,response);

$ b保护无效doPost(HttpServletRequest请求,
HttpServletResponse响应)抛出ServletException,IOException {
doGet(request,response);
}

}

Jsp位置:

  WEB-INF / sample.jsp 


I have a jsp with a NAV in it, which further contains and UL with the following elements as shown in the code below,

<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>

What I want to do is to redirect this page to the corresponding jsp page whenever an LI is clicked. Now since all the pages are inside WEB-INF Folder, I cant figure out how to do so. I dont want to create a jsp out side WEB-INF and then put servlet redirection code in it. Thanks in advance.

What can I use here ?

P.S: Started web development few months before. Thanks in advance.

解决方案

You need to invoke a servlet through href on the LI.

In the servlet, you need to use requestdispatcher to redirect to your jsp

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

=================EDIT : Sample Code =========================================

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 code

@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 location :

WEB-INF/sample.jsp

这篇关于如何在WEB-INF文件夹内重定向到JSP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆