从任何子域,子文件夹或ROOT运行tomcat应用程序

时间:2015-06-10 08:15:26

标签: java url tomcat path

我是java web开发的新手,所以请耐心等待。

我创建了一个在localhost:8080上运行的应用程序。该应用程序使用simpel MVC设置(控制器servlet将请求转发到jsp页面)。

如果我将我的应用程序部署到子文件夹(www.myserver.com/myapplication)中的远程服务器,则应用程序不起作用,因为应用程序中的所有URL /路径都基于服务器ROOT而不是子文件夹。< / p>

我希望任何人都可以在任何子文件夹,子域或服务器ROOT中安装应用程序,而无需配置tomcat服务器。

有没有办法以应用程序从任何子文件夹,子域或de服务器ROOT运行的方式编写url / paths? 这包括以下网址中的网址/路径: servlet,jsp页面和servelet映射(web.xml或注释)

2 个答案:

答案 0 :(得分:0)

如果要在子文件夹中部署应用程序,并且url应指向子文件夹,而不是为每个子文件夹创建主机。

为您提供必须在server.xml中添加的XML。请找到它

<Host name="www.aaa.com" appBase="webapps\AEE"
             unpackWARs="true" autoDeploy="true">
             <Alias>AEE</Alias>
             <Context path="" docBase="."/>
             </Host>

此处appBase=webapps\Your Project folder

答案 1 :(得分:0)

也许我的问题不清楚,经过大量的搜索和尝试后,我的应用程序无法正常工作,无论它安装在哪个子文件夹中。

我在de jsp(查看)页面的每个网址的开头添加了$file = "C:\Users\Vincent\Desktop\test.xls" $Excel = New-Object -ComObject excel.application $Excel.visible = $false $Workbook = $Excel.Workbooks.open("C:\Users\Vincent\Desktop\test.xls") $Workbook.Names.Item("MyName").RefersToRange.Value()

例如获取css文件:
request.getContextPath()

对于我使用的de form行动:
<link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/style.css">

我唯一不理解的是为什么我不必在我的servlet代码中做同样的事情。 例如,我的代码将请求转发给view.jp:
<form action="<%= request.getContextPath() %>"/controlerServelet" method="post">