2016-09-30 3 views
1

У меня проблема с моими контекстными параметрами в моем веб-приложении. Мои методыСервлет, инициализирующий параметры базы данных из web.xml

getServletContext().getInitParameter("pass"); 

Отсылать null. Вот мой web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
<display-name>Log4jWebDemo1</display-name> 
<context-param> 
    <param-name>log4j-config-location</param-name> 
    <param-value>WEB-INF/log4j.properties</param-value> 
</context-param> 
    <context-param> 
     <param-name>url</param-name> 
     <param-value>dbc:postgresql://localhost/OlapTest</param-value> 
    </context-param> 
    <context-param> 
     <param-name>name</param-name> 
     <param-value>org.postgresql.Driver</param-value> 
    </context-param> 
    <context-param> 
     <param-name>usr</param-name> 
     <param-value>postgres</param-value> 
    </context-param> 
    <context-param> 
     <param-name>pass</param-name> 
     <param-value>admin</param-value> 
    </context-param> 
    <servlet> 
    <servlet-name>Hello World</servlet-name> 
    <servlet-class>pl.javastart.servlets.HelloWorldServlet</servlet-class> 

    </servlet> 
    <servlet-mapping> 
    <servlet-name>Hello World</servlet-name> 
    <url-pattern>/test</url-pattern> 
    </servlet-mapping> 
</web-app> 

И мой сервлет:

public class HelloWorldServlet extends HttpServlet { 
     private static final long serialVersionUID = 1L; 
     private String url2 = ""; 
     private String driver = ""; 
     private String username = ""; 
     private String password = ""; 

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 


     PrintWriter out = response.getWriter(); 
     url2 = getServletContext().getInitParameter("url"); 
     driver = getServletContext().getInitParameter("name"); 
     username = getServletContext().getInitParameter("usr"); 
     password = getServletContext().getInitParameter("pass"); 

     DatabaseHandling d1 = new DatabaseHandling(driver,url2,username,password); 

     d1.createConnection(out); 

     } 
} 

После выполнения моего приложения он бросает

java.lang.NullPointerException

+1

Можете ли вы вставить полную трассировку стека исключений? –

+0

Уже сделал это мой друг – LucasPG

+0

вы можете показать код класса DatabaseHandling –

ответ

1

Там может это несколько возможностей, которые приводят к исключению NullPointerException ption

  1. драйвер PostgresSQL (баночка файл) библиотека не добавляется в вашем пути к классам.
  2. Вам необходимо разделить свой класс DatabaseHandling, чтобы проверить код, написанный для подключения к БД.
  3. Изменение web.xml, как показано ниже:

    <context-param> <param-name>url</param-name> <param-value>jdbc:postgresql://localhost/OlapTest</param-value> </context-param>

J отсутствует. Проверьте ошибку, указанную dbc.

+0

Я уже видел это. :) Спасибо за помощь. – LucasPG

Смежные вопросы