Java 不使用servlet/jsp时如何获取上下文?只有普通类文件

Java 不使用servlet/jsp时如何获取上下文?只有普通类文件,java,web-services,Java,Web Services,我现有的web应用程序从上下文获取数据库池参数。 现在,我正在开发一个新的web服务,作为一个单独的应用程序部署,但使用以前的数据库 在这个新的web服务应用程序中,我没有使用任何servlet以及JSP。它们只是服务类的集合。在这种情况下,如何获取上下文参数 在前面的例子中,当我使用servlet时,我的上下文如下所示: <?xml version="1.0" encoding="UTF-8"?> <Context antiResourceLocking="false" pr

我现有的web应用程序从上下文获取数据库池参数。 现在,我正在开发一个新的web服务,作为一个单独的应用程序部署,但使用以前的数据库

在这个新的web服务应用程序中,我没有使用任何servlet以及JSP。它们只是服务类的集合。在这种情况下,如何获取上下文参数

在前面的例子中,当我使用servlet时,我的上下文如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
 <Resource 
    name="jdbc/NetmarketDB"
    auth="Container"
    type="javax.sql.DataSource"
    removeAbandoned="true"
    removeAbandonedTimeout="30"
    maxActive="100"
    maxIdle="30"
    maxWait="1000"
    username="root"
    password="xxxxxxxx"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/netmarket"/>
</Context>
Connection conn = MySqlDB.getDBConnection(getServletContext());

但是现在我没有使用任何servlet/JSP,我感到困惑。请帮助我。

即使您没有servlet上下文,只要您在web应用程序中使用问题中的资源定义运行,您也应该能够使用JNDI获得它:

Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jdbc/NetmarketDB");
Connection con = ds.getConnection("root", "xxxxxxxx");
如果您没有在web应用程序中运行,请执行以下操作:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/netmarket", root", "xxxxxxxx");

即使您没有servlet上下文,只要您在web应用程序中使用问题中的资源定义运行,您也应该能够使用JNDI获得它:

Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jdbc/NetmarketDB");
Connection con = ds.getConnection("root", "xxxxxxxx");
如果您没有在web应用程序中运行,请执行以下操作:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/netmarket", root", "xxxxxxxx");

没有servlet或JSP?什么是处理请求?如何调用“类”?调用类将出现在web服务客户端中。服务器将只构成服务类。没有servlet或JSP?什么是处理请求?如何调用“类”?调用类将出现在web服务客户端中。服务器将只构成服务类。假设我只想获取此数据源一次,并将其设置在某个地方供以后使用。前面,我将此数据源设置为ServletContext的属性。我现在该怎么办?@bmmatthews68:重申一下,我如何在不使用Servlet或JSP的情况下使用会话?@user416101这确实是一个新问题,但无论如何。如果没有webapp,就没有会话。webapp和web浏览器之间存在会话。如果您只想继续使用资源,只需保留对它的引用即可。也许您应该看看Spring及其applicationContext概念。假设我只想获取一次此数据源,并将其设置在某个地方供以后使用。前面,我将此数据源设置为ServletContext的属性。我现在该怎么办?@bmmatthews68:重申一下,我如何在不使用Servlet或JSP的情况下使用会话?@user416101这确实是一个新问题,但无论如何。如果没有webapp,就没有会话。webapp和web浏览器之间存在会话。如果您只想继续使用资源,只需保留对它的引用即可。也许您应该看看Spring及其applicationContext概念。