Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在应用程序中隐藏jsp文件夹路径和文件名_Java_Jsp_Web Applications_Servlets_Url Rewriting - Fatal编程技术网

Java 如何在应用程序中隐藏jsp文件夹路径和文件名

Java 如何在应用程序中隐藏jsp文件夹路径和文件名,java,jsp,web-applications,servlets,url-rewriting,Java,Jsp,Web Applications,Servlets,Url Rewriting,我有一个web应用程序- 但当我从菜单和其他链接导航时,地址栏会显示文件夹和文件名。 我想要的是无论用户做什么导航,地址应该只显示 http://domain:port/daswebapp 而不是 http://domain:port/daswebapp/admin/index.jsp 有人能帮忙吗。我不使用任何其他框架,它是纯MVC模式。 谢谢和问候 Noufal使用url重写过滤器,例如,对于基于JSF的应用程序go for 它的主要用途是: URL整洁/URL抽象-无论底层技术或框架

我有一个web应用程序- 但当我从菜单和其他链接导航时,地址栏会显示文件夹和文件名。 我想要的是无论用户做什么导航,地址应该只显示

http://domain:port/daswebapp
而不是

http://domain:port/daswebapp/admin/index.jsp
有人能帮忙吗。我不使用任何其他框架,它是纯MVC模式。 谢谢和问候
Noufal使用url重写过滤器,例如,对于基于JSF的应用程序go for

它的主要用途是:

  • URL整洁/URL抽象-无论底层技术或框架(JSP、Servlet、Struts等)如何,保持URL整洁

  • 浏览器检测-允许您基于请求HTTP头(如用户代理或字符集)重写URL

  • 基于日期的重写-允许您根据

    日期/时间(适用于计划停机)

  • 移动内容-允许优雅地移动内容,甚至在CMS中进行更改

  • Tiny/FriendlyURL(即blah.com/latest可重定向至blah.com/download/ver1.2.46.2/setup.exe)

  • Servlet映射引擎(参见方法调用)


您可以使用RequestDispatcher

RequestDispatcher dispatcher = getRequestDispatcher("daswebapp/admin/index.jsp");
   dispatcher.forward( request, response );

你可以用这种方法试试,然后告诉我

RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("/index.jsp");
            reqDisp.forward(request, response);

但是它仍然会显示一些页面特有的URL(只是一个不同的URL)。不过,我认为这没什么帮助。@Thilo我想要的是,无论用户做什么导航,地址应该只显示“”而不是“”,基于此,OP显然在寻找重写过滤器如果你这么说的话。我对重写过滤器的理解是,导航到不同的页面仍然会以不同的URL结束,因此地址栏会根据用户的导航方式显示不同的内容。我想您可以使用框架集,或者使用Ajax/DHTML加载所有页面。但是为什么呢?这对您(和您的用户)有多重要?您好,Jigar,谢谢回复。原因是在地址栏中,servlet名称将显示为,没有扩展名。如果用户在地址栏中输入,它将显示异常。