javax.servlet.ServletException: Name is null

JuriW

Aktives Mitglied
Hallo zusammen,

ich habe folgende index.jsp

HTML:
<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!doctype html>
<html>
<head>
<base href="${pageContext.request.requestURI} }" />

<meta charset="utf-8">
<title>Hauptseite</title>
<script src="/TestRW/JavaScript/DatumVergleichen.js"></script>
<link rel="stylesheet" type="text/css" href="../Stylesheets/style.css" />

</head>
<body>
   <!-- https://kodejava.org/how-do-i-include-a-page-fragment-into-jsp/-->
   <div id="header">
       <%@ include file="header.jspf"%>
   </div>


   <main class="site-main">
   <section>

       <h2>Wann wollen Sie Ihr Traumauto abholen?</h2>
             <form name="date-form" action="../AutoAngebotServlet" method="GET">
               <label>Abholzeitpunkt:</label> <input type="date" name="datum"
                   id="datum" value="" required /> <label>Rückgabzeitpunkt:</label> <input
                   type="date" name="datum2" id="datum2" value="" required /> <label>
                   Fahrzeugtyp:</label>


               <!-- https://www.w3schools.com/tags/tag_select.asp -->
               <select name="fahrzeugtyp">
                   <option value="">Alle</option>
                   <option value="Carbio">Cabrio</option>
                   <option value="Limousine">Limousine</option>
                   <option value="Kombi">Kombi</option>
                   <option value="Oldtimer">Oldtimer</option>
               </select>
               <details>
                   <summary> Detailsuche </summary>

                   <p>
                       Marke:<input name="marke" type="text" size="20" maxlength="20">
                   </p>
                   <p>
                       Modell:<input name="modell" type="text" size="20" maxlength="20">
                   </p>
                   <label> Gertiebe:</label>
                   <!-- https://www.w3schools.com/tags/tag_select.asp -->
                   <select name="getriebe">
                       <option value="">Alle</option>
                       <option value="Automatik">Automatik</option>
                       <option value="Manuell">Manuell</option>
                   </select>
                   <br>
                   <label> Treibstoffart:</label>
                   <!-- https://www.w3schools.com/tags/tag_select.asp -->
                   <select name="treibstoff">
                       <option value="">Alle</option>
                       <option value="alle">Alle</option>
                       <option value="Benzin">Benzin</option>
                       <option value="Diesel">Diesel</option>
                       <option value="Elektro">Elektro</option>
                   </select>
                   <p>
                       Leistung ab:<input name="leistung" type="text" size="4"
                           maxlength="4">PS
                   </p>
               </details>
               
               <button name="submit" type="submit" id="suchen">Suchen</button>

           </form>


           <h4>Ihre Vorteile:</h4>
           <ul>
               <li>Ein Auto mit Stil</li>
               <li>Günstige Mengenrabatte</li>
               <li>Fahrvergnügen</li>
           </ul>
   </section>
   </main>
   <!-- https://kodejava.org/how-do-i-include-a-page-fragment-into-jsp/-->
   <div id="footer">
       <%@ include file="footer.jspf"%>
   </div>

</body>
</html>


Und dieses Servlet:
Java:
package servlets;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import beans.Auto;
import beans.Zeitraum;

/**
 * Servlet implementation class AutoportfolioServlet
 */
@MultipartConfig(maxFileSize = 1024 * 1024 * 4, maxRequestSize = 1024 * 1024 * 4
        * 5, location = "/tmp", fileSizeThreshold = 1024 * 1024)

@WebServlet("/AutoAngebotServlet")
public class AutoAngebotServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @Resource(lookup = "jdbc/MyTHIPool")
    private DataSource ds;


    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // Servlet zur Entgegennahme von Formularinhalten, Lesen der Daten in
        // einer DB und Generierung
        // eines Beans zur Weitergabe der Formulardaten an eine JSP

        request.setCharacterEncoding("UTF-8"); // In diesem Format erwartet das
                                               // Servlet jetzt die
                                               // Formulardaten
       
        String datumAnfang = request.getParameter("datum");
        String datumEnde = request.getParameter("datum2");
       
        Zeitraum zeitraum = new Zeitraum();
        zeitraum.setStartDatum(datumAnfang);
        zeitraum.setEndDatum(datumEnde);
       
        List<Auto> autos = this.search(response);
       
        request.setAttribute("autos", autos);       
        request.setAttribute("zeitraum", zeitraum);
        request.getRequestDispatcher("html/autoangebot.jsp").forward(request, response);

    }

    private List<Auto> search(HttpServletResponse response) throws ServletException {
        List<Auto> autos = new ArrayList<>();     
        // DB-Zugriff                             
        try (Connection con = ds.getConnection();
                // PreparedStatement pstmt = con.prepareStatement("SELECT KID,
                // Vorname, Nachname, Geburtsdatum, Email, Telefon, Land, PLZ,
                // Ort, Strasse, NR, PersonNr, FuehrerscheinNr FROM kunde")) {
                PreparedStatement pstmt = con.prepareStatement("SELECT * FROM auto")) {

            try (ResultSet rs = pstmt.executeQuery()) {

                while (rs.next()) {
                    Auto auto = new Auto();
                    auto.setAutoid(Integer.valueOf(rs.getInt("AutoID")));
                    auto.setPreis(Double.valueOf(rs.getDouble("Preis")));
                    auto.setAutomarke(rs.getString("Automarke"));
                    auto.setModell(rs.getString("Modell"));
                    auto.setAutotyp(rs.getString("Autotyp"));
                    auto.setZulassungsdatum(rs.getString("Zulassungsdatum"));
                    auto.setTreibstoffart(rs.getString("Treibstoffart"));
                    auto.setKilometerstand(Integer.valueOf(rs.getString("Kilometerstand")));
                    auto.setFahrzeugnummer(rs.getString("Fahrzeugnummer"));
                    auto.setGetriebe(rs.getString("Getriebe"));
                    auto.setLeistung(rs.getString("Leistung"));
                    auto.setFarbe(rs.getString("Farbe"));
                    auto.setAutostatus(rs.getString("Autostatus"));                 

                    autos.add(auto);
                } // while rs.next()
            }
        } catch (Exception ex) {
            throw new ServletException(ex.getMessage());
        }

        return autos;
    }
}

Sobald ich auf den "suchen" button klicke, wird mir vom GlassFish folgender Fehler geschmissen:
Code:
javax.servlet.ServletException: Name is null

Hat jemand eine Idee, woran das liegen kann?
 

JuriW

Aktives Mitglied
Der Fehler ist anscheinend in der search Funktion ...

Ich kann ausschließen, dass es an der Datenbankverbindung liegt, das ich mich in meiner Anwendung einloggen kann. (Die credentials befinden sich in der selben Datenbank).

Wenn ich alle Parameter mit hartcodiertem String setze (also anstatt "auto.setAutomarke(rs.getString("Automarke"));" "auto.setAutomarke("Audi");") bekomme ich keinen Fehler.

EDIT: Auch bei richtiger AutoID bekomme ich sogar Rückmeldung von der Datenbank, in Form eines Fotos, welches in der Datenbank gespeichert ist (auto.setAutoid(1); und ich bekomme das Bild von dem Auto mit der ID 1)

Eine Idee? :D
 
Zuletzt bearbeitet:

JuriW

Aktives Mitglied
Okay, hab den Fehler gefunden. War in meiner Autoklasse, und zwar hab ich ein Enum als AutoStatus genommen und nicht richtig konvertiert. ... hätte ich vielleicht auch noch einfügen sollen, aber nun funktioniert alles :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Servlet Interface javax.servlet.Servlet Java Basics - Anfänger-Themen 2
A Finde javax.servlet.* nicht Java Basics - Anfänger-Themen 6
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
G import javax.servlet cannot be resolved Java Basics - Anfänger-Themen 1
N Probleme mit import von javax.servlet.* Java Basics - Anfänger-Themen 3
HolyFUT Javax Websocket API implementieren Java Basics - Anfänger-Themen 14
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
O Problem mit SOAP / javax.xml importieren Java Basics - Anfänger-Themen 7
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
pkm javax.script.ScriptException bei der ScriptEngine Java Basics - Anfänger-Themen 9
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
R Klassen Javax.vecmath.* Java Basics - Anfänger-Themen 5
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
T eclipse findet javax nicht Java Basics - Anfänger-Themen 4
N Erste Schritte import javax.media.3d....; //Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 10
timbeau Javax.Mail: Check this out Java Basics - Anfänger-Themen 10
c_sidi90 javax.exe beenden nach Programmende Java Basics - Anfänger-Themen 10
L javax.xml.transform.Source Java Basics - Anfänger-Themen 6
StrikeTom Javax.mail frage(zu code) Java Basics - Anfänger-Themen 17
N javax.swing.JOptionPane einbauen? Java Basics - Anfänger-Themen 9
D package javax.comm does not exist Java Basics - Anfänger-Themen 5
kulturfenster Problem mit javax.swing.Timer Java Basics - Anfänger-Themen 2
C javax.print.DocPrintJob Java Basics - Anfänger-Themen 17
G Fehler beim builden javax...... Java Basics - Anfänger-Themen 4
? Konsolenprogramm hat Problem mit java.awt oder javax.swing Java Basics - Anfänger-Themen 7
G NoClassDefFoundError: javax/xml/stream/XMLStreamException Java Basics - Anfänger-Themen 23
M Fehler: package javax.portlet does not exist Java Basics - Anfänger-Themen 2
V Serialisieren einer ShortMessage (javax.sound.midi) Java Basics - Anfänger-Themen 5
alexpetri javax.xml.stream.* nicht gefunden Java Basics - Anfänger-Themen 3
A java.awt und javax.swing verschwunden Java Basics - Anfänger-Themen 2
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
L getDuration() von einem javax.media.player objekt problem. Java Basics - Anfänger-Themen 3
E Wo bekomme ich das javax.swing.* package her? Java Basics - Anfänger-Themen 3
B Wo finde ich die Klasse javax.sound.sampled.AudioSystem Java Basics - Anfänger-Themen 7
R Javax.mail wird nicht gefunden Java Basics - Anfänger-Themen 2
G wie bekomme ich das javax.jws.* package in den JBuilder ? Java Basics - Anfänger-Themen 7
J javax.comm-API kompilieren Java Basics - Anfänger-Themen 12
C wo ist mein javax.mail? Java Basics - Anfänger-Themen 2
L JavaMail: javax.mail wird nicht gefunden Java Basics - Anfänger-Themen 2
F javax.imageio.ImageIO write methode Java Basics - Anfänger-Themen 11
B javax entpacken - aber wohin? Java Basics - Anfänger-Themen 2
H What is the Life Cycle of an Object Created Within/Outside of a Servlet? Will that item be destroyed after the session ends? Java Basics - Anfänger-Themen 1
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
E Erste Schritte Java Webeintwicklung (JSP/Servlet), wie am Besten einsteigen? Java Basics - Anfänger-Themen 0
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
R Upload Servlet: Ausgabe nicht korrekt Java Basics - Anfänger-Themen 2
H Variablen Servlet. Int i global Java Basics - Anfänger-Themen 4
C Inputreader Servlet Nullpointerexception Java Basics - Anfänger-Themen 6
B Servlet und Eclipse Java Basics - Anfänger-Themen 2
B Servlet ausfuehren Java Basics - Anfänger-Themen 4
O Servlet Klassen ? Java Basics - Anfänger-Themen 7
B Datenzugrifft: Servlet -> Objekte Java Basics - Anfänger-Themen 4
T Servlet - oder doch nicht? Java Basics - Anfänger-Themen 4
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
F Aus Servlet in JSP schreiben Java Basics - Anfänger-Themen 2
T Servlet wird nicht erkannt Java Basics - Anfänger-Themen 10
X Kurve im Servlet zeichnen lassen Java Basics - Anfänger-Themen 4
P Problem mit Servlet Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
I Probleme mit Tomcat / Servlet auf Linux (Debian) Java Basics - Anfänger-Themen 7
Tandibur [erledigt] jsp überträgt nicht alle Parameter an Servlet Java Basics - Anfänger-Themen 2
D Servlet kann nicht auf Instanz zugreifen Java Basics - Anfänger-Themen 10
D Servlet mit Utilities Java Basics - Anfänger-Themen 14
G Parameter in Servlet weiterleiten Java Basics - Anfänger-Themen 5
G JSP, Applet oder Servlet? Java Basics - Anfänger-Themen 8
0x7F800000 Servlet ruft Servlet auf: Wie ServletRequest erstellen? Java Basics - Anfänger-Themen 6
0x7F800000 Servlet: wo bekommt man die eigene adresse? Java Basics - Anfänger-Themen 6
O Weiterleitung in einem Java-Servlet Java Basics - Anfänger-Themen 5
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Servlet Package wo herunterladen? Java Basics - Anfänger-Themen 2
G doGet und doPost im Servlet nicht überschrieben Java Basics - Anfänger-Themen 9
P Servlet unterschiedliche Server Java Basics - Anfänger-Themen 2
W Servlet - out of memory Java Basics - Anfänger-Themen 7
W servlet imports nicht unterstützt Java Basics - Anfänger-Themen 3
F Applet --> Servlet --> Applet Java Basics - Anfänger-Themen 2
J Servlet Error Java Basics - Anfänger-Themen 11
D Aus Anwendung Zugriff auf ein Servlet Java Basics - Anfänger-Themen 5
P konsolen ausgabe bei servlet Java Basics - Anfänger-Themen 2
S Methoden aus einem Servlet in einer JSP verwenden Java Basics - Anfänger-Themen 5
T Wo Daten ablegen für mehrere Servlet-Instanzen? Java Basics - Anfänger-Themen 2
Z Wo wird ein Servlet gespeichert ? Java Basics - Anfänger-Themen 2
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
T komplexe Strukturen in Servlet-Context speichern möglich? Java Basics - Anfänger-Themen 5
T servlet synchronisationsproblem Java Basics - Anfänger-Themen 4
P Servlet wird nicht gefunden Java Basics - Anfänger-Themen 4
A fileupload mit servlet Java Basics - Anfänger-Themen 6
P asynchrone Kommunikation Applet Servlet mit RMI möglich Java Basics - Anfänger-Themen 4
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
G Formularübergabe in Servlet endet mit null. Java Basics - Anfänger-Themen 2
S Jakarta FileUpload Servlet funktioniert nicht Java Basics - Anfänger-Themen 17
G Servlet gibt über request nur null zurück Java Basics - Anfänger-Themen 3
G problem mit servlet import Java Basics - Anfänger-Themen 4
W servlet nicht gefunden Java Basics - Anfänger-Themen 8
R Servlet - JSP Java Basics - Anfänger-Themen 2
G Servlet geht nicht Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben