Código:
Dejo el código a ver si alguien sabe dónde puede estar el error...Estado HTTP 500 - -------------------------------------------------------------------------------- type Informe de Excepción mensaje descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento. excepción java.lang.NullPointerException AccesoBD.doGet(AccesoBD.java:53) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Context.xml
Código:
Web.xml<?xml version="1.0" encoding="utf-8"?> <Context path="/CasaRural" docBase="CasaRural" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/AccesoBD" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="admin" password="1234" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/CasaRural"/> </Context>
Código:
AccesoBD.java<?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/dtd/web-app_2_3.dtd"> <servlet> <servlet-name>AccesoBD</servlet-name> <servlet-class>AccesoBD</servlet-class> </servlet> <servlet-mapping> <servlet-name>AccesoBD</servlet-name> <url-pattern>/AccesoBD</url-pattern> </servlet-mapping> <resource-ref> <res-ref-name> jdbc/AccesoBD </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth> </resource-ref> </web-app>
Código:
Por favor, agradecería mucho una ayuda ya que me urge. Gracias import java.io.*; import java.sql.*; import javax.sql.*; import javax.servlet.*; import javax.servlet.http.*; import javax.naming.*; public class AccesoBD extends HttpServlet { private DataSource fuenteDatos = null; public void init(ServletConfig conf) throws ServletException { super.init(conf); try { // recuperamos el contexto inicial y la referencia a la fuente de datos Context ctx = new InitialContext(); fuenteDatos = (DataSource) ctx.lookup("java:comp/env/jdbc/AccesoBD"); } catch (NamingException e) { e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); // retornamos el tipo de respuesta Connection con = null; // conexion parcial synchronized (fuenteDatos) { try { con = fuenteDatos.getConnection(); // cogemos la conexion } catch (SQLException e){ e.printStackTrace(); } } PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<h1> Conexión realizada </h1>"); out.println("</body>"); out.println("</html>"); try { con.close(); } catch (SQLException e) { out.println("Error en proceso " + e.getMessage()); e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ doGet(request, response); } }