i have four pages on my jsp web project for student showing details from DB.. I have used tomcat web server.
index.html
<body>
<h1> Student Search Page</h1>
<form action="second.jsp">
<h2> Enter id to search details</h2>
<input type=text name=ID1 /> <br/>
<input type=submit value=Search />
</form>
</body>
second.jsp
<body>
<%
String id =(request.getParameter("ID1"));
StudentDAO std=new StudentDAO();
Student s=std.searchinfo("id");
%>
<h1> <%=s.showStudent()%></h1>
</body>
Student.java
import java.io.*;
public class Student implements Serializable {
String name;
String id1,phone,clas;
Student(String id,String n,String c,String ph)
{
name=n;
id1=id;
phone=ph;
clas=c;
}
public String showStudent()
{
return "Name: "+name+" Address: "+clas+" Phone: "+phone+" ID"+id1;
}
}
studentDAO.java
import java.sql.*;
import java.io.*;
public class StudentDAO implements Serializable {
Connection conn;
PreparedStatement stmt;
public Student searchinfo(String id)
{
Student studentinfo=null;
try{
String url="jdbc:ucanaccess://C:\\Users\\Asim Iqbal\\Documents\\STUDENT.accdb";
conn = DriverManager.getConnection(url);
String sql= "SELECT * FROM StudentDetails WHERE ID=?";
stmt = conn.prepareStatement(sql);
stmt.setString(1,id);
} catch (SQLException e) {
e.printStackTrace();
}
ResultSet rs= null;
try {
rs = stmt.executeQuery();
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
while (rs.next())
{
String i=rs.getString("ID");
String nam=rs.getString("Name");
String ph=rs.getString("Phone");
String clas=rs.getString("Class");
studentinfo=new Student(i,nam,ph,clas);
}
} catch (SQLException e1) {
e1.printStackTrace();
}
return studentinfo;
}
}
This is Stacktrace and root cause..
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:574)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:4
76)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
Student.StudentDAO.searchinfo(StudentDAO.java:35)
org.apache.jsp.second_jsp._jspService(second_jsp.java:104)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.23 logs.
<%= "s.showStudent()"%>
18: – Faisal Jun 26 '15 at 13:37