在 TOMCAT 7 上运行的 Web 应用程序的 URL 模式
我有一个简单的网络应用程序,其中有一些静态页面。浏览器地址栏中出现的 URL 仅取决于项目中的文件位置。 http://computername:8080/mylogin/ 是我的主页 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/
所有这些我都希望面包屑有一个正确的实现。
I am having a simple web application which has some static pages. The URL which comes in the browser address bar simply depends on file location in the project.http://computername:8080/mylogin/ is my home URL.
And below are the few URLs which come when I make a single click on the main home page.
http://computername:8080/mylogin/ssis/api.jsf
http://computername:8080/mylogin/ssis/dev.jsf
I am implementing a breadcrumb. And to generate it I am using javascript by Justin Whitford.
Issue is this breadcrumb uses the browser URL to generate it. So my URL should be in some common fashion/pattern to have breadcrumb implemented properly.
I want to control these URLs. I want to make them like this.
Home: http://myLogin/
sub pages:
http://mylogin/ssis/api/
http://mylogin/ssis/dev/
All this I want to have a proper implementation of breadcrumbs.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过完全删除 Tomcat 的默认
/webapps/ROOT
文件夹并将 Web 应用程序的mylogin.war
文件重命名为ROOT.war
将 Web 应用程序部署到上下文根目录。代码>.这样你就有 http://computername:8080/
你可以摆脱端口
8080
通过将 Tomcat 配置为侦听默认 HTTP 端口80
。打开 Tomcat 的/conf/server.xml
,找到
元素并在其中编辑端口。现在您已经有了 http://computername/
您可以在平台属性中更改计算机名称或在 主机配置文件。在 Windows 上,它是
system32/drivers/etc/hosts
文件。只需添加以下行:仅适用于本地环境!)
现在您有 http://mylogin/ (请注意,这 要映射各个页面,例如
/foo.jsf
到/foo
,您可以使用 过滤器为此。这是一项相当乏味的工作。您可能想看看 PrettyFaces,而不是重新发明轮子。我只是无法理解更改主机名、端口和上下文名称与生成面包屑究竟有何关系。您可能夸大了具体问题或以错误的方式使用它。
You can deploy your webapp to the context root by deleting Tomcat's default
/webapps/ROOT
folder altogether and renaming your webapp'smylogin.war
file toROOT.war
.This way you have http://computername:8080/
You can get rid of port
8080
by configuring Tomcat to listen on default HTTP port80
. Open Tomcat's/conf/server.xml
, locate the<Connector port="8080">
element and edit the port in there.Now you have http://computername/
You can change the computer name in platform properties or to add a forward in your hosts config file. On Windows, it's the
system32/drivers/etc/hosts
file. Just add the following line:Now you have http://mylogin/ (note that this works for local environment only!)
As to mapping the individual pages such as
/foo.jsf
on/foo
, you could use a filter for this. It's a pretty tedious job. Instead of reinventing the wheel you may want to take a look at PrettyFaces.It's only beyond me how exactly changing the hostname, port and context name is related to generating breadcrumbs. You might be exaggerating the concrete problem or using it the wrong way.