从 URL 中删除应用程序名称

发布于 2024-11-17 19:47:46 字数 752 浏览 6 评论 0原文

我的网站使用 JSF,网址似乎是 http://mysitename.com/wompower6/faces/ home.xhtml

我正在使用 beautifulfaces,所以如果我在 Pretty-config.xml 中使用以下内容,我可以将名称更改为 http://mysitename.com/wompower6/home

<url-mapping id="home">
    <pattern value="/home" />
    <view-id value="/faces/home.xhtml" />
</url-mapping>

我的问题是

  1. 如何删除该应用程序 命名 wompower6 ,以便 url 变成 mysitename.com/home ?

  2. 在我的 web.xml 中,我有 <欢迎文件>home.xhtml, 但这似乎不起作用。什么时候 我输入 mysitename.com,但没有 映射到 home.xhtml。任何线索 在这里?

my site uses JSF and the url appears to be, http://mysitename.com/wompower6/faces/home.xhtml

I am using prettyfaces, so if I use the following in pretty-config.xml, i can change the name to http://mysitename.com/wompower6/home

<url-mapping id="home">
    <pattern value="/home" />
    <view-id value="/faces/home.xhtml" />
</url-mapping>

my questions are

  1. how can i remove the application
    name wompower6 , so that the url
    becomes mysitename.com/home ?

  2. in my web.xml, i have
    <welcome-file>home.xhtml</welcome-file>,
    but this does not seem to work. When
    i type, mysitename.com, it does not
    get mapped to home.xhtml. any clue
    here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单身狗的梦 2024-11-24 19:47:46

如何删除应用程序名称 wompower6 ,以便网址变为 mysitename.com/home?

这是一个 Web 应用程序 设置,配置依赖于 servletcontainer用过的。例如,如果您使用 Tomcat,那么基本上有 2 个选项可以使您的 Web 应用程序成为根 Web 应用程序。

  1. 将 WAR 文件重命名为 ROOT.war,Tomcat 默认情况下会将其部署在上下文根目录上。

  2. Webapp/META-INF/context.xml(或Tomcat/)中设置元素的path属性conf/server.xml,具体取决于您想要定义它的位置)到一个空字符串。例如

    <上下文路径="" ...>
    

其他容器支持类似的构造。有关详细信息,请参阅他们的文档。如果您使用的是 Eclipse 等 IDE,那么您还可以在项目属性的“Web 项目设置”属性中进行设置(右键单击项目并选择“属性”)。将上下文根值设置为/


在我的 web.xml 中,我有 home.xhtml,但这似乎不起作用。当我输入 mysitename.com 时,它不会映射到 home.xhtml。这里有任何线索吗?

我假设您正在谈论 设置。它必须指向物理上存在的文件,而不是虚拟 URL,例如 /faces/*。基本上有两种方法可以解决这个问题:

  1. 提供一个物理上存在的/faces/home.xhtml文件(甚至可以留空)。

  2. web.xmlFacesServlet 映射的丑陋 /faces/* URL 模式替换为 *.xhtml 这样它就会在每次请求 XHTML 文件时启动。

    *.xhtml;
    

    这样您就不需要摆弄 /faces/* URL 模式。

how can i remove the application name wompower6 , so that the url becomes mysitename.com/home?

This is a webapp <Context> setting and configuration is dependent on the servletcontainer used. If you're for example using Tomcat, then there are basically 2 options to make your webapp the root webapp.

  1. Rename the WAR file to ROOT.war and Tomcat will by default deploy it on context root.

  2. Set path attribute of <Context> element in Webapp/META-INF/context.xml (or Tomcat/conf/server.xml, depending where you'd like to define it) to an empty String. E.g.

    <Context path="" ...>
    

Other containers support similar constructs. Consult their documentation for detail. If you're using an IDE like Eclipse, then you can also set it in the Web Project Settings property of the project properties (rightclick project and choose Properties). Set the Context root value to just /.


in my web.xml, i have home.xhtml, but this does not seem to work. When i type, mysitename.com, it does not get mapped to home.xhtml. any clue here?

I assume that you're talking about the <welcome-file> setting. This has to point to a physically existing file, not to a virtual URL, such as /faces/*. There are basically two ways to overcome this:

  1. Provide a physically existing /faces/home.xhtml file (it can even be left empty).

  2. Replace the ugly /faces/* URL pattern of the FacesServlet mapping in web.xml by *.xhtml so that it will just kick in on every request for a XHTML file.

    <url-pattern>*.xhtml</url-pattern>
    

    This way you don't need to fiddle with /faces/* URL patterns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文