2013-01-03 113 views
3

我有一个web应用程序 - 但是,当我从菜单和其他链接导航时,地址栏会显示文件夹和文件名。 我想什么有什么是导航用户做,地址裸只显示如何隐藏应用程序中的jsp文件夹路径和文件名

http://domain:port/daswebapp 

而不是

http://domain:port/daswebapp/admin/index.jsp 

任何人可以在这方面的帮助。我没有使用任何其他framework.Its一个纯粹的MVC模式。 感谢ñ问候 Noufal

+0

我想你可以使用框架集,或使用Ajax/DHTML来加载所有页面。但为什么?这对你(和你的用户)有多重要? – Thilo

+0

嗨吉宝,Thanx回应。原因是在地址栏中,servlet名称将显示为http:// domain:port/daswebapp/servletname,不带扩展名。如果用户输入地址栏,则会显示异常。 – Noufal

回答

0

使用URL重写过滤器,如urlrewritefilter,基于JSF应用程序去Pretty faces

它被用于主要的事情是:

  • URL Tidyness/URL抽象 - 不管底层技术或框架(JSP,Servlet,Struts等)如何保持URL整洁)。

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

  • 日期改写 - 允许转发或重定向到基于该

    日期/时间(良好的计划内停机)其他的URL。

  • 移动内容 - 启用优美的内容移动甚至更改CMS。

  • 微小/友好的URL(即blah.com/latest可以被重定向到blah.com/download/ver1.2.46.2/setup.exe)

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

+0

但是,它仍然会显示一些网页特有的网址(只是一个不同的网址)。不过,我认为这不会有所帮助。 – Thilo

+0

@Thilo _我希望拥有的是用户所做的任何导航,地址裸露应仅显示“http:// domain:port/daswebapp”而不是“http:// domain:port/daswebapp/admin/index”。jsp“_基于此,它显然似乎OP正在寻找重写过滤器 –

+0

如果你这样说。我对重写过滤器的理解是导航到不同的页面仍然是不同的URL,所以地址栏会显示不同的东西取决于关于用户做什么导航。 – Thilo

0

可以使用的RequestDispatcher,

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

你可以使用这样的尝试,让我知道

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