2011-08-19 134 views
-1

我有一个简单的Web应用程序,它有一些静态页面。浏览器地址栏中的URL仅取决于项目中的文件位置。 http://computername:8080/mylogin/ is my home URL.在TOMCAT上运行的Web应用程序的URL模式7

以下是当我在主页上单击时出现的几个URL。

http://computername:8080/mylogin/ssis/api.jsf 
http://computername:8080/mylogin/ssis/dev.jsf 

我正在实施面包屑。并生成它我正在使用由贾斯汀惠特福德的JavaScript。 问题是此面包屑使用浏览器URL来生成它。因此,我的网址应该采用某种常见的方式/模式,以便正确实施面包屑。

我想要控制这些网址。我想让他们这样。 主页:http://myLogin/

子页面:

http://mylogin/ssis/api/ 
http://mylogin/ssis/dev/ 

这一切,我想有面包屑的正确实施。

+0

*问题是这个breadcrumb使用浏览器的URL来生成它*为什么到底是一个问题? – BalusC

+0

@BalusC:我提到面包屑是一个问题的上下文。所以我必须在Tomcat中注册一个域名。我还有一件事要问的是,如何将URL'http://mylogin/ssis/dev.jsf'更改为'http:// mylogin/ssis/dev /' – Vyoma

回答

0

您可以通过删除Tomcat的默认/webapps/ROOT文件夹并将您的webapp的mylogin.war文件重命名为ROOT.war来将您的webapp部署到上下文根目录。

这样,您通过配置Tomcat监听默认HTTP端口80上有http://computername:8080/

可以摆脱端口8080的。打开Tomcat的/conf/server.xml,找到<Connector port="8080">元素并在那里编辑端口。

现在你有http://computername/

可以在平台的属性更改计算机名或贵hosts config file添加前锋。在Windows上,它是system32/drivers/etc/hosts文件。只需添加下面一行:

127.0.0.1 mylogin 

现在你已经http://mylogin/(!注意,这仅适用于本地环境)

至于映射单个页面,如/foo.jsf/foo,你可以使用一个filter这个。这是一项非常乏味的工作。您可能想要看看PrettyFaces,而不是重新发明轮子。


这只是超越我究竟是如何改变主机名,端口和上下文的名称与生成面包屑。你可能夸大了具体问题或者以错误的方式使用它。

相关问题