*Well I have created a basic servlet program Where if user give their USN number correct it will fetch data from database else it will redirect to error.html Whenever I Enter USN number it shows NullPointerException .Since I am using Eclipse There was No sign of error. Note:I have Also Created a html file to enter the USN Number.
Code:
package com.abc.error;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetResult extends HttpServlet {
/**
*
*/
static final long serialVersionUID = 1L;
Connection con= null;
PreparedStatement pstmt=null;
ResultSet res=null;
public void init(){
try {
Class.forName("oracle.jdbc.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/XE","system","system");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
@Override
public void service(HttpServletRequest request, HttpServletResponse response) {
try
{
pstmt = con.prepareStatement("SELECT * FROM VTURESULT_AUG WHERE USN =?");
String key = request.getParameter("USN");
if(key.length()!=12){
response.sendRedirect("/ServletWithError/error.html");
}
else
{
pstmt.setString(1,key);
res =pstmt.executeQuery();
if(res.next())
{
String usn = res.getString(1);
String name = res.getString(2);
int m1 = res.getInt(3);
int m2 = res.getInt(4);
int m3 = res.getInt(5);
PrintWriter pw =response.getWriter();
pw.println(usn+" "+name+" "+m1+" "+m2+" "+m3);
}
}
}
catch(SQLException | IOException e)
{
e.printStackTrace();
}
}
}
Output:
java.lang.NullPointerException
com.abc.error.GetResult.service(GetResult.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)