私は、JSPを介してWebアプリケーションによってデータベースから特定の値を取得しようとしています。 しかし、NullpointerExceptionが原因で、常に内部サーバーに障害が発生します。 は、これらは私のファイルです:JSPデータベースからデータを選択
ファイル:
<%@ page import="java.sql.*" %> <%@ page contentType="text/html" pageEncoding="UTF-8"%> <% Class.forName("com.mysql.jdbc.Driver"); %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Webformular</title> </head> <body> <h1>Webformular</h1> <%! public class Actor { String url = "jdbc:mysql://localhost:3306/sakila"; String Benutzername = "root"; String Passwort = ""; Connection con = null; PreparedStatement selectActors = null; ResultSet resultSet = null; public Actor(){ try { con = DriverManager.getConnection(url, Benutzername, Passwort); selectActors = con.prepareStatement("Select a.first_name,a.last_name, c.title" + "FROM actor a, film_actor b, film c" +"WHERE a.first_name= ?" +"AND a.last_name = ?" + "AND a.actor_id = b.actor_id" +"AND b.film_id = c.film_id"); } catch (SQLException e){ e.printStackTrace(); } } public ResultSet getActors(String first, String last){ try { selectActors.setString(1,first); selectActors.setString(2,last); resultSet = selectActors.executeQuery(); } catch (SQLException e){ e.printStackTrace(); } return resultSet; }} %> <% String firstName = new String(); String lastName = new String(); if (request.getParameter("first") !=null) { firstName = request.getParameter("first"); } if (request.getParameter("last") !=null) { lastName = request.getParameter("last"); } Actor actor = new Actor(); ResultSet actors = actor.getActors(firstName, lastName); %> <table border="1"> <tbody> <tr> <td>First Name</td> <td>Last Name</td> <td>Title</td> </tr> <%while(actors.next()) { %> <tr> <td><%= actors.getString("first_name") %></td> <td><%= actors.getString("last_name") %></td> <td><%= actors.getString("title") %></td> </tr> <% } %> </tbody> </table> </body> </html>
ファイル:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Spezifische Daten auswerten</title> </head> <body> <h1>Spezifische Daten auswerten</h1> <form name="Formular" action="anzeige.jsp" method="POST"> <table border="1"> <tbody> <tr> <td>First Name:</td> <td><input type="text" name="first" value="" size="50" /></td> </tr> <tr> <td>Last Name:</td> <td><input type="text" name="last" value="" size="50" /></td> </tr> </tbody> </table> <input type="submit" value="Weiter" name="weiter" /> <input type="reset" value="Löschen" name="löschen" /> </form> </body> </html>
誰もが前に、その問題が発生したんや私を助けるかもしれませんか? 私は既にいくつかの研究を行い、いくつかのバグを修正しましたが、展開に何も変わりませんでした。最初のファイルは常にデプロイされますが、データを取得するときはいつでもNullpointerExceptionが表示されます。
[NullPointerExceptionとは何ですか?それを修正するにはどうすればいいですか?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix -it) – AxelH
_内部サーバーはNullpointerException_のために失敗します。また、スタックトレースはどこですか?何かが、ActorのコンストラクタがExceptionをキャッチすると、単純に無視します。このようには動作しないでください。インスタンスにResultsetを格納せず、宣言し、読み込み、閉じます。 – AxelH