I created a Java Dynamic Project using ecllipse with Servlets, JSP and Mysql where i tried to retrive the data from database but while running it getting the below error.
org.apache.jasper.JasperException: An exception occurred processing JSP page /designers.jsp at line 1714: <body>15: <div class="portfolio-grid">16: <%-- <% if (designers != null && !designers.isEmpty()) { %> --%>17: <% for (Designer designer : designers) { %>18: <div class="profile-card">19: <!-- Image as a clickable link -->20: <a href="<%= designer.getProfileLink() %>" target="_blank"> <imgStacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)root causejava.lang.NullPointerException org.apache.jsp.designers_jsp._jspService(designers_jsp.java:82) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
DesignerServlet
package com.portfolio.servlet;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.portfolio.model.Designer;public class DesignerServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("DEBUGG: Inside the goGet Method"); List<Designer> designers = new ArrayList<Designer>(); try { System.out.println("Connecting to database..."); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/PortfolioDB", "root", "nidroot"); System.out.println("Connected successfully!"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM designers"); System.out.println("Fetching data from database..."); while (rs.next()) { System.out.println("Processing record..."); Designer designer = new Designer(); designer.setName(rs.getString("name")); designer.setDegree(rs.getString("degree")); designer.setSpecialization(rs.getString("specialization")); designer.setKeywords(rs.getString("keywords")); designer.setImagePath(rs.getString("imagePath")); designer.setProfileLink(rs.getString("profileLink")); designers.add(designer); } System.out.println("Data fetching completed. Total designers: " + designers.size()); } catch (SQLException e) { System.out.println("DEBUGG: SQL Exception: " + e); e.printStackTrace(); } request.setAttribute("designers", designers); request.getRequestDispatcher("designers.jsp").forward(request, response); System.out.println("DEBUGG: Exiting the doGet Method"); }}
designers.jsp
<%@ page import="java.util.List"%><%@ page import="com.portfolio.model.Designer"%><% List<Designer> designers = (List<Designer>) request.getAttribute("designers");%><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Portfolio Portal</title><link rel="stylesheet" href="assets/css/style.css"></head><body><div class="portfolio-grid"><%-- <% if (designers != null && !designers.isEmpty()) { %> --%><% for (Designer designer : designers) { %><div class="profile-card"><!-- Image as a clickable link --><a href="<%= designer.getProfileLink() %>" target="_blank"> <img src="<%= designer.getImagePath() %>" alt="<%= designer.getName() %>" class="profile-image"></a><h3><%= designer.getName() %></h3><p><strong><%= designer.getDegree() %></strong></p><p><%= designer.getSpecialization() %></p><p><%= designer.getKeywords() %></p></div><% } %><%-- <% } else { %><p>No designer profiles available.</p><% } %> --%></div></body></html>
I debuged the but unable to find the reason for null pointer exception. Provide the solution for it.thank you