#java #sqlite
#java #sqlite
Вопрос:
Я пытаюсь получить доступ к файлу sqlite.db в моем Java web app. я могу получить к нему доступ по абсолютному пути, но теперь я хочу получить к нему доступ по относительному пути моего веб-приложения. Мой context.xml выглядит как
<Context antiJARLocking="true" path="/webappServer">
<Resource name="jdbc/myDB" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="1000"
driverClassName="org.sqlite.JDBC"
url="jdbc:sqlite:/db/sqlite.db" />
</Context>
и я вызываю соединение в моем классе Java
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/myDB");
Connection conn = ds.getConnection();
мое местоположение sqlite находится в C:dbsqlite.db но теперь я хочу переместить его, чтобы я мог вызвать свое соединение с sqlite с помощью чего-то вроде localhost/ mysqlite.db
возможно ли это? что я должен сделать, чтобы достичь этого?
Спасибо!
PS Я новичок в Java web app. так что любая помощь будет очень полезна
Ответ №1:
Существует 2 разных способа сделать это:
- Определите источник данных за пределами вашего webapps
Context.xml
внутри собственного TomcatContext.xml
и измените его в соответствии с потребностями разных серверов. Требуется единовременная настройка на каждом сервере. - Решите проблему во время процесса сборки. Создайте разные
Context.xml
файлы для всех необходимых вам сред, напримерContext_prod.xml
. В процессе сборки определите нужный вам файл и поместите его в свое веб-приложение.
Это 2 подхода, о которых я знаю.
Комментарии:
1. Извините за мое невежество. Но как создать разные context.xml ? и как объявить URL-адрес? можете ли вы привести мне какой-нибудь пример? Спасибо 🙂
2. @jlianto: 1) вам просто нужно создавать разные
Context.xml
файлы с помощью простого редактора или IDE по вашему выбору. 2) Определение URL-адреса вашей базы данных sqllite зависит от вашего драйвера (например zentus.com/sqlitejdbc ) и должны быть указаны «где-то» в документации поставщиков.