Apache 使用Tomcat获取请求并创建HTTP响应

Apache 使用Tomcat获取请求并创建HTTP响应,apache,tomcat,webserver,apache-commons-logging,Apache,Tomcat,Webserver,Apache Commons Logging,我目前正在尝试将嵌入式Tomcat用于我的应用程序,并尝试将其设置为获取http请求的URL 一些背景: 我使用的代码与本文第一个答案中的代码相同: 我所做的唯一改变是: private String catalinaHome = "/home/xyz/tomcat"; // This dir is created and has full access permissions 此外,我正在研究: 我找不到server.xml和tomcat-users.xml,所以我创建了一个tomcat

我目前正在尝试将嵌入式Tomcat用于我的应用程序,并尝试将其设置为获取http请求的URL

一些背景:

我使用的代码与本文第一个答案中的代码相同:

我所做的唯一改变是:

private String   catalinaHome = "/home/xyz/tomcat"; // This dir is created and has full access permissions
此外,我正在研究:

我找不到server.xml和tomcat-users.xml,所以我创建了一个tomcat-users.xml,因为我遇到了一个异常:内存数据库文件/home/xyz/tomcat/conf/tomcat-users.xml无法读取

tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
tomcat-users.xml:
代码使用container.setRealm(newmemoryrealm()); 从这里可以看出:我应该有一个server.xml文件,默认情况下应该已经创建了一个

1] 我是否需要创建一个server.xml,它的默认值是什么? 我在这里放置了一个默认文件:,但我只想知道应该做什么

2] 当我访问时,我得到的只是请求的资源()不可用,尽管我在代码中的“webappDir”处有一个index.html页面

3] 我对嵌入式tomcat的唯一需求是拦截,以便在代码中获得传递给tomcat的URL。然后,我可以解析URL[DoMyStuff],然后创建一个http负载并发送一个http响应

我希望您能给我指点,特别是3]


谢谢

快速提问,您安装的是windows还是linux? 如果是linux,配置文件A通常位于/etc/tomcat6上。(至少在ubuntu上是这样)。回复您已安装的版本。我也许能帮你。 我想我也应该在这里详细阐述一下。Tomcat在linux中也是一项服务,因此在ubuntu中,您必须启动Tomcat才能访问它

$: sudo service tomcat6 start
然后,它在本地主机的8080端口上启动tomcat(通常如果没有更改的话)。因此,您可以键入localhost:8080访问网站以配置tomcat,该网站会为您提供一个It works提示。
如果您还有更多问题,请告诉我,我将尽我所能回答您的问题。快速问题,您安装的是windows还是linux? 如果是linux,配置文件A通常位于/etc/tomcat6上。(至少在ubuntu上是这样)。回复您已安装的版本。我也许能帮你。 我想我也应该在这里详细阐述一下。Tomcat在linux中也是一项服务,因此在ubuntu中,您必须启动Tomcat才能访问它

$: sudo service tomcat6 start
然后,它在本地主机的8080端口上启动tomcat(通常如果没有更改的话)。因此,您可以键入localhost:8080访问网站以配置tomcat,该网站会为您提供一个It works提示。
如果您还有更多问题,请告诉我,我将尽力回答您的问题。好的,对于您的第一个问题,您不需要server.xml。如果你检查你的第一篇文章的代码,他们正在那里设置参数。这就是server.xml将封装的内容。实际上,Tomcat将解析server.xml以获取java文件中定义的属性,在java文件中实例化catalina调用以启动。但由于它是嵌入的,所以您要在类上设置所有这些参数

对于第二个问题,请检查日志目录并查看正在解析的内容。服务启动后发生了一些事情,因为一旦您调用端口,它应该已经重定向您。不管怎样,只要试着看看你从tomcat那里得到了什么回报。它应该会从服务器本身返回某种响应。 如果你这样做”http://localhost:8089/mywebapp/index.html“您正在尝试访问创建的上下文,可能配置不正确,但这只是猜测


先试试这个,告诉我你得到了什么。我们可以从这一点开始排除故障,看看我是否能在这方面提供更多帮助。

好的,第一个问题是,您不需要server.xml。如果你检查你的第一篇文章的代码,他们正在那里设置参数。这就是server.xml将封装的内容。实际上,Tomcat将解析server.xml以获取java文件中定义的属性,在java文件中实例化catalina调用以启动。但由于它是嵌入的,所以您要在类上设置所有这些参数

对于第二个问题,请检查日志目录并查看正在解析的内容。服务启动后发生了一些事情,因为一旦您调用端口,它应该已经重定向您。不管怎样,只要试着看看你从tomcat那里得到了什么回报。它应该会从服务器本身返回某种响应。 如果你这样做”http://localhost:8089/mywebapp/index.html“您正在尝试访问创建的上下文,可能配置不正确,但这只是猜测


先试试这个,告诉我你得到了什么。我们可以从这一点上进行故障排除,看看我是否能在这方面提供更多帮助。

Thnx Truesky以获取回复。我用的是RedHat Linux。你用的是什么版本的RHL?Thnx Truesky回复我的帖子。我想确保我强调我使用的是嵌入式Tomcat,而不是真正安装Tomcat,当我运行代码时,我能够启动服务。根据我在文章中指出的代码,我使用的是8089端口。如果您能回答我的问题1]和2],我将不胜感激。在上面再次感谢您的关注。我使用的是Red Hat Enterprise Linux Client release 5.4(Tikanga),这不是问题,我只是想了解您正在使用的系统的背景,因为从这个意义上讲,可能有几种不同的方法来做事情。我正在做一个关于嵌入式tomcat的快速阅读,以尽可能回答您的问题,试图指导您尝试做什么。请给我几分钟时间,让我来回答。我使用的是RedHat Linux。您使用的是什么版本的RHL?Thnx Tru