Требуется настройка контекста веб-приложения -
Чтобы добавить информацию о базе данных в контекст веб-приложения
Для настройки Jetty вам также понадобится использовать конфигурацию jetty-web.xml -
Чтобы установить соединение в вашем приложении, на стороне сервера используйте следующее -
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/{Res Name in context.xml}");
Connection conn = ds.getConnection();
ПРИМЕЧАНИЕ - чтобы ваше приложение работало как с jetty, так и с tomcat, запомните оба файла и убедитесь, что ваше имя ресурса -
context.xml : {resourceName}
jetty-web.xml: java:comp/env/{resourceName}
Не уверен, что jetty-web.xml будет работать только с {resourcename} тоже
EDIT - образец кода context.xml -
<Resource name="jdbc/myDatabaseServer" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="USER"
password="PWD" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://myUrl:3306/myDB?autoReconnect=true" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true" autoReconnect="true" validationQuery="select 1" testOnBorrow="true"
testOnReturn="true" testWhileIdle="true" timeBetweenEvictionRunsMillis="1800000"
numTestsPerEvictionRun="3" minEvictableIdleTimeMillis="1800000"/>
Тот же пример кода jetty-web.xml -
<New id="someid" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>java:comp/env/jdbc/myDatabaseServer</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">com.mysql.jdbc.Driver</Set>
<Set name="url">jdbc:mysql://myUrl:3306/myDB?autoReconnect=true</Set>
<Set name="username">USER</Set>
<Set name="password">PWD</Set>
<Set name="maxActive">100</Set>
<Set name="maxIdle">30</Set>
<Set name="minIdle">0</Set>
<Set name="maxWait">10000</Set>
<Set name="minEvictableIdleTimeMillis">1800000</Set>
<Set name="timeBetweenEvictionRunsMillis">1800000</Set>
<Set name="numTestsPerEvictionRun">3</Set>
<Set name="testOnBorrow">true</Set>
<Set name="testWhileIdle">true</Set>
<Set name="testOnReturn">true</Set>
<Set name="validationQuery">SELECT 1</Set>
</New>
</Arg>
</New>
Вы можете прочитать, что означает каждый раздел.