从 URL 中删除应用程序名称
我的网站使用 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>
我的问题是
如何删除该应用程序 命名 wompower6 ,以便 url 变成 mysitename.com/home ?
在我的 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
how can i remove the application
name wompower6 , so that the url
becomes mysitename.com/home ?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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个 Web 应用程序
设置,配置依赖于 servletcontainer用过的。例如,如果您使用 Tomcat,那么基本上有 2 个选项可以使您的 Web 应用程序成为根 Web 应用程序。将 WAR 文件重命名为
ROOT.war
,Tomcat 默认情况下会将其部署在上下文根目录上。在
Webapp/META-INF/context.xml
(或Tomcat/)中设置
,具体取决于您想要定义它的位置)到一个空字符串。例如
元素的path
属性conf/server.xml其他容器支持类似的构造。有关详细信息,请参阅他们的文档。如果您使用的是 Eclipse 等 IDE,那么您还可以在项目属性的“Web 项目设置”属性中进行设置(右键单击项目并选择“属性”)。将上下文根值设置为
/
。我假设您正在谈论
设置。它必须指向物理上存在的文件,而不是虚拟 URL,例如/faces/*
。基本上有两种方法可以解决这个问题:提供一个物理上存在的
/faces/home.xhtml
文件(甚至可以留空)。将
web.xml
中FacesServlet
映射的丑陋/faces/*
URL 模式替换为*.xhtml 这样它就会在每次请求 XHTML 文件时启动。
这样您就不需要摆弄
/faces/*
URL 模式。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.Rename the WAR file to
ROOT.war
and Tomcat will by default deploy it on context root.Set
path
attribute of<Context>
element inWebapp/META-INF/context.xml
(orTomcat/conf/server.xml
, depending where you'd like to define it) to an empty String. E.g.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
/
.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:Provide a physically existing
/faces/home.xhtml
file (it can even be left empty).Replace the ugly
/faces/*
URL pattern of theFacesServlet
mapping inweb.xml
by*.xhtml
so that it will just kick in on every request for a XHTML file.This way you don't need to fiddle with
/faces/*
URL patterns.