Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat. Доступ к файлу из класса, созданного в сервлете / 9 сообщений из 9, страница 1 из 1
28.03.2006, 12:11
    #33629171
Vector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
Добрый день.
У меня есть класс, создаваемый внутри сервлетов. Обычный класса, не расширяющий 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
28.03.2006, 12:26
    #33629246
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
getContext().getRealPath("Properties.xml")
...
Рейтинг: 0 / 0
28.03.2006, 12:33
    #33629279
Vector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
getContext() доступен только из классов - наследников Servet.

Я бы хотел обращаться к файлу прямо из класса поключения.
Но проблема в том, что файл на месте есть, а класс подключения
его не видит.
...
Рейтинг: 0 / 0
28.03.2006, 13:43
    #33629550
AndreySerj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
В 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
28.03.2006, 13:48
    #33629570
Vector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
Конечно это вариант. Но, как я уже говорил, каждый сервлет создает такой объект для соединения с базой данных. Тогда мне эти параметры (одинаковые)
придется прописывать, как параметры в каждом сервлете!!
Может можно как-то поместить эти параметры в context.xml или еще куда?
Где каждый сервлет может получить их?
...
Рейтинг: 0 / 0
28.03.2006, 13:54
    #33629597
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
настройте Connection Pool

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

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

Код: 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
28.03.2006, 15:53
    #33630078
Vector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat. Доступ к файлу из класса, созданного в сервлете
Спасибо!
Работает с .properties файлом.

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

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

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

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


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