我正在尝试创建一个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.lang.NullPointerException发生在第60行,即“ ps.setInt(1,AppCommon.parseInteger(request.getParameter(“ EMPLOYEE_ID”)));“