powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat. Доступ к файлу из класса, созданного в сервлете
9 сообщений из 9, страница 1 из 1
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629171
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
У меня есть класс, создаваемый внутри сервлетов. Обычный класса, не расширяющий HttpServlet. Этот класс реализует подключение к базе данных и многие функции для работы с базой. Каждый сервлет использует этот класс, для общения с базой данных.

Проблема заключается в том, что строку подключения я планировал хранить во внешнем файле (.xml), а используя java.io.FileInputStream считывать из него данные (параметры соединения).

Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
java.util.Properties pr= new  java.util.Properties();
        //Load properties
         try {
            pr.loadFromXML( new  java.io.FileInputStream("Properties.xml"));
            String srv=pr.getProperty("Servername");
            String port=pr.getProperty("Portnumber");
            String username=pr.getProperty("Username");
        } catch (java.io.IOException ioe){
        }

Но проблема в том, что данная функция не видит файл!!! Хотя он есть.
Я проверял значение getAbsolutePath() и получал, что файл должен быть в каталоге ./bin tomcat.
Я помещал туда файл, но его не видно!!!

Подскажите, кто знает, как решить данную проблему. Может есть возможность решить проблему по другому?

С уважением Vector
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629246
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
getContext().getRealPath("Properties.xml")
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629279
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
getContext() доступен только из классов - наследников Servet.

Я бы хотел обращаться к файлу прямо из класса поключения.
Но проблема в том, что файл на месте есть, а класс подключения
его не видит.
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629550
AndreySerj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В web.xml в описании своего сервлета пропиши типа:
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>my.package.MyServlet</servlet-class>
<init-param>
<param-name>myFile</param-name>
<param-value>c:/path/file.xml</param-value>
</init-param>
</servlet>

В самом сервлете:
ServletConfig conf = getServletConfig();
String myfile = conf.getInitParameter(myFile);

Ну и передай путь к файлу (myfile) в какой хошь класс
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629570
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно это вариант. Но, как я уже говорил, каждый сервлет создает такой объект для соединения с базой данных. Тогда мне эти параметры (одинаковые)
придется прописывать, как параметры в каждом сервлете!!
Может можно как-то поместить эти параметры в context.xml или еще куда?
Где каждый сервлет может получить их?
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629597
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
настройте Connection Pool

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33629625
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делаю так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 public   class  Constants {


     public   static  String TEMPLATE_PATH = "c:\\html"; //значение по умолчанию


     static  {
           reloadParameters("actions");
    }


     private   static   void  reloadParameters(String f) {
       ResourceBundle b = ResourceBundle.getBundle(f);
        if  (getString(b, "TEMPLATE_PATH")!= null ) TEMPLATE_PATH = b.getString("TEMPLATE_PATH");
    }


     private   static  String getString(ResourceBundle b, String key) {
       String s =  null ;
        try  {
          s = b.getString(key);
       }
        catch  (Exception e) {
       }
        return  s;
    }
}

сами настройки хранятся в файле WEB-INF\classes\action.properties.
(все это внутри war)
-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33630078
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Работает с .properties файлом.

Не понятно, только почему я не могу прочитать с помощью java.io.File...
И почему путь указывался в ./bin каталог tomcat
...
Рейтинг: 0 / 0
Tomcat. Доступ к файлу из класса, созданного в сервлете
    #33630981
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VectorСпасибо!
Работает с .properties файлом.

Не понятно, только почему я не могу прочитать с помощью java.io.File...
И почему путь указывался в ./bin каталог tomcat

Откуда запустил, оттуда и пляшешь.

используй this.getClass().getResourceAsStream(fileName) уж если так надо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat. Доступ к файлу из класса, созданного в сервлете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]