Html1 code:
<html>
<HEAD>
<title> Employee Login Page</title>
<BODY>
<H1> EMPLOYEE LOGIN PAGE </H1>
Enter User name: <input type=text >
Enter password: <input type =password>
Enter Employee id: <input type=text >
<form method="Post" action="http://localhost:8080/sonu1/ServletOne">
<input type=submit value=Login!>
</form>
</body>
</html>
ServletOne.java code:
import java.sql.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
public class ServletOne extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter ();
String name = request.getParameter ("name");
String pwd = request.getParameter ("pwd");
String empid=request.getParameter("empid");
Connection conn = null;
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection
("jdbc:odbc:acc");
Statement stmt = conn.createStatement ();
ResultSet rs = stmt.executeQuery ("select * from mysearch");
if (rs.next())
{
if((name.equals(rs.getString ("name")))
&& (pwd.equals(rs.getString("pwd"))) && ( empid.equals(rs.getString("empid"))))
{
out.println("Valid User");
RequestDispatcher rd=request.getRequestDispatcher("ServletTwo");
rd.forward(request,response);
}
else
{
response.sendRedirect("html2.html");
}
rs.close();
}
}
catch(NumberFormatException e)
{
out.println("Number Format Exception");
return;
}
catch(SQLException e)
{
out.println(e.getMessage());
while((e = e.getNextException()) != null)
out.println(e.getMessage());
}
catch(ClassNotFoundException e)
{
out.println(e.getMessage());
}
finally
{
if(conn != null)
{
try
{
conn.close();
}
catch (Exception ignored) {}
}
}
}
}
Html2 code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Incorrect</title>
</head>
<body>
<H2>Incorrect login information</H2>
<a href="html1.html"><H3>Return to Login page</H3></a>
</body>
</html>
ServletTwo code:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTwo extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Welcome");
Connection conn = null;
try{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection ("jdbc:odbc:acc");
Statement stmt = conn.createStatement ();
ResultSet rs = stmt.executeQuery ("select * from mytable where empid=?");
String empid=request.getParameter("empid");
//int emprow=rs.getRow();
while(rs.next())
{
for(empid=request.getParameter("empid");;)
{
String a=rs.getString(1);
out.println("Employee name: "+ a);
int b=rs.getInt(3);
out.println("Employee age: "+ b);
int c=rs.getInt(4);
out.println("Employee salary: "+ c);
}
}
rs.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
Web.xml code:
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>
</description>
<display-name>ServletOne</display-name>
<servlet-name>ServletOne</servlet-name>
<servlet-class>ServletOne</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletOne</servlet-name>
<url-pattern>/ServletOne</url-pattern>
</servlet-mapping>
<servlet>
<description>
</description>
<display-name>ServletTwo</display-name>
<servlet-name>ServletTwo</servlet-name>
<servlet-class>ServletTwo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTwo</servlet-name>
<url-pattern>/ServletTwo</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>form.html</welcome-file>
</welcome-file-list>
</web-app>
Error that I get on the browser when I run ServletOne.java :
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
ServletOne.doPost(ServletOne.java:46)
ServletOne.doGet(ServletOne.java:15)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Not able to understand the error in my code .Please help or give guidance :( . Thanks in advance