Метод getRealPath("") контекста сервлета возвращает выражение вида C:\\Sun\\jboss-4.2.2.GA\\server\\default\\.\\tmp\\deploy\\tmp61304wnrDBInterface-exp.war
В этом выражении:
Выглядеть это будет примерно так:
При этом значение DBStruct извлекается из файла web.xml
Таким образом, в переменной szName в приведенном примере, оказывается значение
В этом выражении:
- «C:\\Sun\\jboss-4.2.2.GA» - это путь к установленному серверу JBoss в операционной системе,
- «\\server\\default» - это путь к конфигурации из которой запущен проект.
- «\\tmp\\deploy\\tmp61304wnrDBInterface-exp.war» - это путь к реально продеплоенному приложени.
Предположим, что нам хочется разместить свой конфигурационный файл среди файлов в JBoss. Он, понятное дело, должен расположиться где-то в C:\\Sun\\jboss-4.2.2.GA\\server\\default\\conf. Причем имя файла не плохо бы настраивать в проекте.
Выглядеть это будет примерно так:
public void init(ServletConfig config) throws ServletException {
try{
m_theServletConfig = config;
super.init(m_theServletConfig);
String szServer = m_theServletConfig.getServletContext().getRealPath("");
if(szServer != null){
int nPoint = szServer.indexOf("\.\");
if(nPoint != -1) szServer = szServer.substring(0, nPoint+1);
log.info( "Определен путь к серверу приложений " + szServer );
}
else{
log.error("Путь к серверу приложений не определен" );
return;
}
String szName = szServer + m_theServletConfig.getInitParameter( "DBStruct" );
log.info( "Прочитан путь к файлу структуры базы." + szName );
...
}
catch(Exception ex) { ex.printStackTrace(); }
}
При этом значение DBStruct извлекается из файла web.xml
...
<servlet>
<description>Основной сервлет, осуществляющий разбор запроса и формирование ответа</description>
<display-name>DBIGateServlet</display-name>
<servlet-name>DBIGateServlet</servlet-name>
<servlet-class>webclient.servlet.DBIGateServlet</servlet-class>
<init-param>
<param-name>DBStruct</param-name>
<param-value>conf\wnrDBStruct.xml</param-value>
</init-param>
</servlet>
...
Таким образом, в переменной szName в приведенном примере, оказывается значение
C:\Sun\jboss-4.2.2.GA\server\default\conf\wnrDBStruct.xml
Комментариев нет:
Отправить комментарий