java.lang.NumberFormatException: null java.lang.Integer.parseInt(Unknown Source)

Ich versuche, Werte aus der jsp-Seite und möchten, speichern Sie die Werte in mysql(xampp) - Datenbank mit Hilfe von java.
Ist die Verbindung hergestellt und erfolgreich eingeloggt, aber wenn ich versuchte, um Werte null-Zeiger-Ausnahme tritt auf,

MainController.java ist

package classes;

import java.io.IOException;

import java.sql.Connection;

import java.sql.Date;

import java.sql.DriverManager;

//import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.sql.Time;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

 * Servlet implementation class MainController

 */

@WebServlet("/MainController")

public class MainController extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**

     * @see HttpServlet#HttpServlet()

     */
    public MainController() {
        super();
        //TODO Auto-generated constructor stub
    }

    /**

     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse

     *      response)

     */

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




    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    }
    //@SuppressWarnings("null")
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        String url= "jdbc:mysql://localhost/meeting_planner";
        System.out.println("start");
        //boolean stfound = false;

        try {
            System.out.println("reached controller");
            Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(url, "admin", "admin");

        Statement stmt = con.createStatement();
        //System.out.println("connection");
        String button=request.getParameter("button");
        System.out.println(button +  request.getParameter("AId"));




        if(button.equals("login"))
        {

            System.out.println("inside if");

            String  AdminId= request.getParameter("AId");
            String password= request.getParameter("Password");

            System.out.println(AdminId+"  sadia   "+password);

            if(!(AdminId=="" || password==""))
            {

                boolean stfound = false;

                System.out.println(AdminId+"  sadia   "+password);

                String query = "SELECT AId,Password FROM administrator";

                ResultSet rs = stmt.executeQuery(query);
                System.out.println(query);

                while(rs.next())
                {

                    String dbadminid = rs.getString(1);
                    String dbadminpwd = rs.getString(2);

                    if(AdminId.equals(dbadminid) && password.equals(dbadminpwd))
                    {
                        HttpSession session = request.getSession(true);
                        session.setAttribute("userid",dbadminid);
                        stfound = true;
                        break;
                    }
                }




        if(stfound){
             RequestDispatcher dispatcher = getServletContext().getRequestDispatcher ( "/meeting_Id.jsp" ) ;

             dispatcher.forward ( request, response ) ;

            }
        }
            else{
                RequestDispatcher dispatcher = getServletContext().getRequestDispatcher ( "/index.jsp" ) ;

                dispatcher.forward ( request, response ) ;

            }
            }
        if(button.equals("Next"))
    {

        HttpSession session = request.getSession(true);
        String AID =(String) session.getAttribute("aid");


        int meetingid = Integer.parseInt(request.getParameter("meeting_id"));
        /*String CNM= request.getParameter("CNM");
        int CCD = Integer.parseInt(request.getParameter("CCD"));
        int  CCDD= Integer.parseInt(request.getParameter("CCDD"));
        int PID= Integer.parseInt(request.getParameter("PID"));
        int STFID=Integer.parseInt(AID);*/

        meeting obj=new meeting();
        obj.addmeeting(meetingid);

        System.out.print("Sadia");

        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher ( "/creat_date.jsp" ) ;

        dispatcher.forward ( request, response ) ;
    }
    }catch (ClassNotFoundException e1) {
        //TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (SQLException e1) {
        //TODO Auto-generated catch block
        e1.printStackTrace();
    }
    }
}

und Meeting.java ist

package classes;

import java.sql.Connection;

import java.sql.Date;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Time;

import java.sql.Statement;

public class meeting {

    private int meeting_id;
    Connection con=null;
    Statement smt = null;

    public static void main(String[] args) {
        //TODO Auto-generated method stub

    }
    public meeting()throws ClassNotFoundException//construtor
        , SQLException{
            // try{
            String url = "jdbc:mysql://localhost/meeting_planner";
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(url, "admin", "admin");

            smt = con.createStatement();

            //}catch(ClassNotFoundException e1){
            //e1.printStackTrace();
        }
        public void addmeeting(int meeting_id1)throws ClassNotFoundException  //from attribute web.xml
            , SQLException{
                System.out.println("------TRY INSERTION------"); 


                String query = "SELECT meeting_Id FROM meeting";
                ResultSet rs = smt.executeQuery(query);
                int numCols = rs.getMetaData().getColumnCount()+1;
                // STAFF_ID=numCols+1;

                String query1 = "INSERT INTO Meeting VALUE ( "+meeting_id+")";
                System.out.println(query1); 
                smt.executeUpdate(query1);

            }
        }

den Namen des Nächsten button "weiter"
wenn ich drucken Sie den Wert next in dieser Zeile System.out.println("next"+next);
es print-null für die nächsten parameter

** EDIT: das problem mit Der NullPointerException behoben wurde, aber jetzt eine NumberFormatException geworfen wird **

Konsole ist wie diese

start

reached controller

inside if

111  sadia   sadia

111  sadia   sadia

SELECT AId,Password FROM administrator

start

reached controller

Oct 29, 2014 6:44:57 PM org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet [classes.MainController] in context with path [/Meeting1] threw 

exception

java.lang.NumberFormatException: null

    at java.lang.Integer.parseInt(Unknown Source)

    at java.lang.Integer.parseInt(Unknown Source)

    at classes.MainController.doPost(MainController.java:141)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

    at 

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)

    at 

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

Den index.jsp ist

<form method = "post" name="create" action="MainController">

                                    <label for="author">Enter id: </label> <input type="text"
                                        id="AId" name="AId" required="required" />
                                    <div class="cleaner_h10"></div>
                                    <label for="author">Enter_password: </label><input
                                        type="password" name="Password" required="required" />
                                    <div class="cleaner_h10"></div>
                                    <br>  <input type="submit"
                                            name="button" " value="login"
                                            style="height: 30px; width: 70px"></a>
                                             </input>

                                </form>

Den meeting_Id.jsp ist

<form method="post" name="create" action="MainController">

                    <label for="author">Enter Meeting Id:</label> <input type="text" id="meeting_id" name="mid" required="required" />
                    <div class="cleaner_h10"></div>


                    <div class="cleaner_h10"></div><br>

            <input type="submit" name="cancelbutton" value="Cancel" style="height:30px; width:70px">
            </input>
            <input type="submit" name="button" value="Next" style="height:30px; width:70px">
            </input>
                </form>
  • Also, was ist Zeile 72?
  • Es sieht aus wie Sie den code in Ihre Seite tatsächlich läuft zweimal. Vielleicht, wenn du tust, der "vorwärts" am Ende bist du die Weiterleitung auf eine Seite umleitet, um etwas, das verwendet den gleichen controller; oder so ähnlich. Ich würde empfehlen, dass Sie versuchen, Schritt durch das mit einem debugger, um ein klareres Bild von dem, was Los ist.
  • ja die Seiten index.jsp und meeting_Id.jsp beide haben form action="MainController" Also, was soll ich tun ?
  • Also, wie ist es umleiten oder neu Einreichen? Oder sind Sie tatsächlich auf etwas, auf das Formular, wenn es zeigt die zweite Zeit?
  • Und ist das eine zusätzliche " mark in Ihre JSP? In der Zeile, die beginnt name="button"? Auch sehe ich eine </a> ohne eine passende <a>.
  • Was ist mit dem "meeting_Id.jsp"?
  • index.jsp ist ein login-Formular klicke ich auf login-button und die Zukunft der Kontrolle zu meeting_Id.jsp und es ist ein weiter button, wenn ich drauf klicke Fehler tritt auf "null pointer exception" und alles, was oben erwähnt
  • Dann sollten Sie uns zeigen, meeting_id.jsp-auch, weil das ist, wo das problem ist.
  • ja, es war extra und </a>, es war ein versehen ... thank u
  • ich Editiere den Beitrag, um zu zeigen, meeting_Id.jsp-code
  • OK, also für den Anfang versuchen, mit den Namen "button" für beide buttons auf meeting_Id.jsp, da dies ist der name, den Sie für die überprüfung.
  • ich änderte meeting_Id.jsp name="button" und auch die MainController.java durch String next=request.getParameter("button");
  • jetzt zeigt es Fehler, wenn ich dieses java.lang.IllegalStateException: Cannot forward after response begangen worden Klassen.MainController.doPost(MainController.java:150)
  • in der Konsole seine "start erreichte controller login111 innen, wenn 111 sadia sadia 111 sadia sadia WÄHLEN Sie Hilfe,Passwort VOM administrator nextlogin Ausnahmen Column count doesn 'T match value count at row 1"
  • Wenn Sie Ihre code, editieren Sie bitte Ihre Frage zu dem neuen code, und schreiben Sie die Konsole an Ihren botton. Die meisten Leute schreiben sowas wie "EDIT: ich habe meine Quelle und jetzt tut es so und so". Verwenden Sie code-Blöcke nur in der Frage.
  • ich ändern Sie einfach die Frage ....jetzt habe ich m mit Hilfe der Taste für die beiden jsp-Seiten ..es zeigt null-Zeiger-Ausnahme und bleiben in der Zeile if(Taste.equals("Weiter")) vielen Dank
  • Dehnte ich meine Antwort. Obwohl, ich bin mir ziemlich sicher, dass die aktualisierte stack trace sollte haben gezeigt, dass eine NullPointerException wieder, anstatt NumberFormatException, aber jedenfalls habe ich die beiden von Ihnen.
  • danke u ich den code Bearbeiten und edit name="meeting_id" in meeting_Id.jsp-dann habe ich das jetzt ausführen, es zeigt Klasse nicht gefunden exception java.lang.NoClassDefFoundError: Klassen/treffen

InformationsquelleAutor Sadia Asghar | 2014-10-28
Schreibe einen Kommentar