java.lang.NullPointerException,同时运行servlet [duplicate]

问题描述 投票:0回答:1

我正在尝试创建一个servlet,它将解析表单创建的表单,它将更新数据库,但是下面出现错误。我的weblogic服务器可以工作,一旦部署了应用程序,就会发生错误,我可以创建一个表并使用另一个servlet打印数据库的内容。

java.lang.NullPointerException
    at project1.Servlet2.doGet(Servlet2.java:60)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

我的Servlet2.java文件看起来像这样

package project1;

import project1.*;
import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;
import java.util.Date;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import javax.servlet.*;
import javax.servlet.http.*;

import javax.sql.DataSource;


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.*;
import javax.servlet.http.*;

import jdbc.AppCommon;

public class Servlet2 extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    //servlet 2 get the info filled to the form and updates the database
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(AppCommon.CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        try{
            Connection con  = AppCommon.createConnection();
            con.setAutoCommit(true);
            PreparedStatement ps = null;

            if (AppCommon.CONNECTION_SOURCE == AppCommon.SQL_SERVER_SOURCE) {
                ps = con.prepareStatement("INSER INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY)" + 
                                                                    "VALUES (?,         ?,           ?,         ?,      ?,          ?,      ?,      ?)");
            }


                        ps.setInt(1,AppCommon.parseInteger(request.getParameter("EMPLOYEE_ID")));
            ps.setString(2, request.getParameter("FNAME"));
            ps.setString(3, request.getParameter("LNAME"));
            ps.setString(4, request.getParameter("Email"));
            ps.setString(5, request.getParameter("Phone"));
            ps.setDate(6, AppCommon.parseDate(request.getParameter("Date")));
            ps.setString(7, request.getParameter("Job"));
            ps.setInt(8,AppCommon.parseInteger(request.getParameter("Salary")));

            try{
                ps.executeUpdate();
            }catch(SQLException e){
                out.println("<p>New Employee not added!</p>");
                out.println("<p>" + e.getMessage() + "</p>");
                con.commit();
                con.close();
                return;
            }
            out.println("<p> New Emplyee added!  </p>");

            con.commit();
            con.close();


        }catch(Exception e){
            e.printStackTrace();
        }

        out.println("</body></html>");
        out.close();
    }
}
java sql-server servlets weblogic
1个回答
0
投票

java.lang.NullPointerException发生在第60行,即“ ps.setInt(1,AppCommon.parseInteger(request.getParameter(“ EMPLOYEE_ID”)));“

© www.soinside.com 2019 - 2024. All rights reserved.