【发布时间】:2011-04-13 23:42:24
【问题描述】:
我目前正在尝试为我的应用程序使用嵌入式 Tomcat,并尝试对其进行设置以获取 http 请求的 URL。
一些背景:
我在这里使用与第一个答案相同的代码:Howto embed Tomcat 6?
我所做的唯一更改是:
private String catalinaHome = "/home/xyz/tomcat"; // This dir is created and has full access permissions
另外,我在看:http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/startup/Embedded.html
我找不到 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>
代码使用container.setRealm(new MemoryRealm()); 从这里看来:http://tomcat.apache.org/tomcat-4.1-doc/catalina/funcspecs/fs-memory-realm.html 我应该有一个 server.xml 文件,并且默认情况下应该已经创建了一个。
1] 我需要创建一个 server.xml,其中的默认值应该是什么? 我从这里放了一个默认文件:http://www.akadia.com/download/soug/tomcat/html/tomcat_server_xml.html,但只是想知道什么是正确的做法?
2]当我访问http://localhost:8089/mywebapp/index.html 时,我得到的只是请求的资源()不可用,尽管我在代码中的“webappDir”处有一个 index.html 页面
3] 我对嵌入式 tomcat 唯一需要的是拦截,以便在我的代码中获取传递给 tomcat 的 URL。然后我可以解析 URL [做我的事情],然后创建一个 http 有效负载并发回一个 http 响应。
我会很感激任何指针,尤其是对于 3]?
谢谢!
【问题讨论】:
标签: apache tomcat webserver apache-commons-logging