0

Can any one rescue my project please! I'm writing my first real/assignment - project in JSP, that is I lack experience in JSP but with basic knowledge of the language.

I do suspect the error arises from the 'J Connector' bcoz it lacks the .jar extension or the problem is with the CLASSPATH or PATH or FILE PATH.

I have created 'form.jsp' & 'login.jsp page' & 'registration.jsp page'. On testing I receive the message below:

`HTTP Status 500 - An exception occurred processing JSP page /login.jsp at line 6

type Exception report

message An exception occurred processing JSP page /login.jsp at line 6

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 6

3: <%
4:  String userid = request.getParameter("uname");
5:  String pwd = request.getParameter("pass");
6:  Class.forName("com.mysql.jdbc.Driver");
7:  Connection con = DriverManager.getConnection
8:  ("jdbc:mysql://localhost:3306/REG",
9:      "root", "password");


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
        org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
org.apache.jsp.login_jsp._jspService(login_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:126)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
org.apache.jsp.login_jsp._jspService(login_jsp.java:72)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.50 logs.
Apache Tomcat/7.0.50
`

form.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Login</title>
        </head>
        <body>
            <form method="post" action="login.jsp">
                <center>
                    <table border="1" width="30%" cellpadding="3">
                    <thead>
                        <tr>
                            <th colspan="2">Login Here</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>User Name:</td>
                            <td><input type="text" name="uname" value="" /></td>
                        </tr>
                        <tr>
                            <td>Password:</td>
                            <td><input type="password" name="pass" value=""/></td>
                        </tr>
                        <tr>
                            <td><input type="submit" value="Login" /></td>
                            <td><input type="reset" value="Reset" /></td>
                        </tr>
                        <tr>
                            <td colspan="2">Yet Not Registered!!<a href="reg.jsp">Register Here</a> </td>
                        </tr>
                    </tbody>    
                    </table>
                </center>
            </form>
        </body>
    </html>

login.jsp

<%@ page import="java.io.*,java.util.*,java.sql.*" %>
<%@ page import="javax.servlet.http.*,javax.servlet.*"%>
<%
    String userid = request.getParameter("uname");
    String pwd = request.getParameter("pass");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection
    ("jdbc:mysql://localhost:3306/REG",
        "root", "password");
    Statement st = con.createStatement();
    ResultSet rs;
    rs = st.executeQuery("select * from Members where uname='" + userid + "' and pass='" + pwd + "'");
    if (rs.next()) {
    session.setAttribute("userid", userid);
    //out.println("Welcome" + userid);
    //out.println("<a href='logout.jsp'>Log out</a>");
    response.sendRedirect("Success.jsp");
    } else {
        out.println("Invalid password <a href='form.jsp'> try again </a>");
   }
    %>

database = 'REG' table = 'Members' *- mysql command line.*

CREATE TABLE Members (
   id int(10) unsigned NOT NULL auto_increment,
   firstName varchar(45) NOT NULL,
   lastName varchar(45) NOT NULL,
   email varchar(45) NOT NULL,
   uname varchar(45) NOT NULL,
   pass varchar(45) NOT NULL,
   regdate date NOT NULL,
   PRIMARY KEY  (id)
   ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

JSP files path: C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT

CLASSPATH: C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\jsp-api;C:\Program Files\Java\jdk1.6.0_38\jre\lib;C:\Program Files\MySQL\MySQL Connector J\mysql-connector-java-5.1.29-bin

PATH: C:\Program Files\MySQL\MySQL Server 5.2\bin;C:\Program Files\Java\jdk1.6.0_38\bin

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
user3116798
  • 59
  • 4
  • 5
  • 13

1 Answers1

0

You need to add the MYSQL JDBC Driver to your project. If you are working with netbeans, click the right button on your project->properties->Libraries->Add Library and then pick MYSQL JDBC Driver. Problem solved.

Mario Santini
  • 2,905
  • 2
  • 20
  • 27
Luis Alves
  • 1,286
  • 12
  • 32