我的网站使用JSF,网址似乎是http://mysitename.com/wompower6/faces/home.xhtml
我正在使用prettyfaces,所以如果我在pretty-config.xml中使用以下内容,我可以将名称更改为http://mysitename.com/ wompower6 / home
<url-mapping id="home">
<pattern value="/home" />
<view-id value="/faces/home.xhtml" />
</url-mapping>
我的问题是
如何删除该应用程序 名字wompower6,这样的网址 成为mysitename.com/home?
在我的web.xml中,我有
<welcome-file>home.xhtml</welcome-file>
,
但这似乎不起作用。什么时候
我打字,mysitename.com,它没有
得到映射到home.xhtml。任何线索
这里吗?
答案 0 :(得分:10)
如何删除应用程序名称wompower6,以便网址成为mysitename.com/home?
这是一个webapp <Context>
设置,配置取决于所使用的servletcontainer。如果您使用Tomcat,那么基本上有两个选项可以让您的webapp成为root webapp。
将WAR文件重命名为ROOT.war
,Tomcat默认将其部署在上下文根目录上。
将path
中的<Context>
元素的Webapp/META-INF/context.xml
属性(或Tomcat/conf/server.xml
,取决于您要定义的位置)设置为空字符串。 E.g。
<Context path="" ...>
其他容器支持类似的构造。详细了解其文档。如果您正在使用Eclipse之类的IDE,那么您也可以在项目属性的 Web项目设置属性中进行设置(右键单击项目并选择属性)。将上下文根值设置为/
。
在我的web.xml中,我有home.xhtml,但这似乎不起作用。当我键入mysitename.com时,它不会映射到home.xhtml。这里有什么线索吗?
我认为您正在谈论<welcome-file>
设置。这必须指向实际存在的文件,而不是虚拟URL,例如/faces/*
。基本上有两种方法可以解决这个问题:
提供实际存在的 /faces/home.xhtml
文件(甚至可以保留为空)。
将/faces/*
中FacesServlet
映射的丑陋web.xml
网址格式替换为*.xhtml
,以便它只会针对XHTML文件的每个请求启用
<url-pattern>*.xhtml</url-pattern>
这样您就不需要摆弄/faces/*
网址格式。