我有一个简单的web应用程序,其中有一些静态页面。浏览器地址栏中的URL仅取决于文件在项目中的位置。http://computername:8080/mylogin/ is my home URL.
下面是当我点击主主页时出现的几个url。
http://computername:8080/mylogin/ssis/api.jsf
http://computername:8080/mylogin/ssis/dev.jsf
我正在实现一个面包屑。为了生成它,我使用了Justin Whitford的javascript。问题是这个面包屑使用浏览器的URL来生成它。所以我的URL应该在一些常见的时尚/模式有面包屑正确实现。
我想控制这些url。我想把它们做成这样。主页:http://myLogin/
子页面:
http://mylogin/ssis/api/
http://mylogin/ssis/dev/
所有这一切我想有一个适当的实现面包屑。
你可以通过删除Tomcat的默认/webapps/ROOT
文件夹并将你的webapp的mylogin.war
文件重命名为ROOT.war
来部署你的webapp到上下文根目录。
这样你就有http://computername:8080/
您可以通过配置Tomcat侦听默认HTTP端口80
来摆脱端口8080
。打开Tomcat的/conf/server.xml
,找到<Connector port="8080">
元素并在其中编辑端口。
现在你有http://computername/
您可以在平台属性中更改计算机名称或在hosts配置文件中添加forward。在Windows上,它是system32/drivers/etc/hosts
文件。只需添加以下行:
127.0.0.1 mylogin
现在您有http://mylogin/(注意,这只适用于本地环境!)
至于将/foo.jsf
等单独的页面映射到/foo
上,您可以为此使用过滤器。这是一项相当乏味的工作。而不是重新发明轮子,你可能想看看PrettyFaces
更改主机名、端口和上下文名称与生成面包屑之间的关系,这只是超出了我的范围。你可能夸大了具体的问题,或者用错了用法。