使用Tomcat时,我一直都被web.xml视为一种.htaccess或httpd.conf同等的东西。很自然,可能必须有某种配置Web服务器的方法。
web.xml
.htaccess
httpd.conf
但是,我不太了解的目的context.xml。例如,当使用JDBC时,为什么必须添加resource-refin web.xml以及Resource包含更多in的信息context.xml?我可以删除context.xml文件并以某种方式实例化DataSource代码吗?我问是因为这样的假设示例可以帮助我理解。
context.xml
resource-ref
Resource
DataSource
编辑:我试图了解在这样的配置中正在发生什么/META-INF/context.xml:
/META-INF/context.xml
<Context> <Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432" username="postgres" password="yes" maxActive="20" maxIdle="10" maxWait="-1" /> </Context>
并且,在WEB-INF/web.xml:
WEB-INF/web.xml
<resource-ref> <description>postgreSQL Datasource example</description> <res-ref-name>jdbc/postgres</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
为什么必须将两者都放在其中才能使用JDBC?他们到底在做什么?除了Java代码,还有另一种方法可以做同样的事情吗?就像我说的,不是因为我想要,而是因为我想了解他们在做的更好。
我不太明白 context.xml
context.xml``web.xml通过<context-param>标记调用。 当您在创建应用程序时首先加载web.xml时,它将为其中contexts配置的应用程序创建引用。
context.xml``web.xml
<context-param>
contexts
因此,目的context.xml是添加 代码分隔 。您可以出于不同目的使用不同的上下文。例如对于数据库连接,使用其他框架等。
我可以删除context.xml文件并以某种方式实例化DataSource代码吗?
是的,你可以通过配置做到这一点datasource的web.xml本身。
datasource
希望这可以帮助 !!