如何将主页映射到;“应用程序的根”;在JavaEE中?

如何将主页映射到;“应用程序的根”;在JavaEE中?,java,jakarta-ee,web-applications,web,web.xml,Java,Jakarta Ee,Web Applications,Web,Web.xml,设立- 我有一个JSP-index.JSP和一个servlet indexController。indexController将请求转发到index.jsp。不希望在不执行indexController的情况下执行index.jsp 要求- “www.mysite.com”应由indexController/index.jsp提供服务 任何url无效的请求都应重定向到“www.mysite.com” “www.mysite.com/index.jsp”应重定向到“www.mysite.com”

设立- 我有一个JSP-index.JSP和一个servlet indexController。indexController将请求转发到index.jsp。不希望在不执行indexController的情况下执行index.jsp

要求-

  • “www.mysite.com”应由indexController/index.jsp提供服务
  • 任何url无效的请求都应重定向到“www.mysite.com”
  • “www.mysite.com/index.jsp”应重定向到“www.mysite.com”
  • 我的解决方案-

  • 将indexController映射到“/”—我知道这是覆盖“默认servlet”,我想避免这种情况
  • 在欢迎文件列表中映射'index.jsp':我不需要显式地映射它,只要有'index.jsp',它就会自动作为欢迎文件。这样做不会执行indexController。此外,无效URL被“转发”而不是重定向到欢迎文件
  • 将错误页面映射到主页-这是欺骗自己。我不想隐瞒错误
  • 使用两个servlet。一个带有“/*”映射,它将所有内容重定向到“mysite.com”。第二个映射到实际服务于请求的“”(空)。-这里有一些神秘的问题(尚未解决)
  • 我认为,每个人都希望在他们的主屏幕上实现相同的功能,stackoverflow上也有许多类似的问题

    有没有一种标准的解决方案可以一劳永逸地解决这个问题



    编辑:-30多分钟内只有7个视图。删除GAE标签,以吸引更多视图。

    只需在应用服务器之前放置一个web服务器,您就可以将任何URL映射到任何应用程序/页面。也不要直接发布应用服务器。
    我想您是在使用Tomcat,所以您可能部署了根应用程序,对吗?(无论如何,您应该使用web服务器)

    此外,您可以将indexController设置为筛选器而不是servlet,这样您就可以筛选/*请求,并在那里执行重定向。谢谢@Balint Bako。我使用的是GAE,所以没有不同的应用服务器。只有一台服务器。我已经解决了这个问题。我将发布最终解决方案(目前有点忙)。