This is my login part which I need to compare user input with data in the database.
So If a lecturer tries to enter the system, he or she will get into lecturer interface(lecturer.html) and same goes to the student.
But right now, when I try to enter the system using either lecturer or student ID, the system will direct me to the log in interface.
I hope someone can help me to solve this :)
This is the query for Java DB (LogIn.java)
public class LogIn extends HttpServlet {
static final String dbURI = "jdbc:derby://localhost:1527/webdb";
String str = SELECT DEMO.REGISTRATION.*, \n" +
DEMO.STUDENT.STUD_PASSWORD,DEMO.LECTURER.LECT_PASSWORD
FROM DEMO.REGISTRATION
LEFT OUTER JOIN DEMO.STUDENT
ON REGISTRATION.STUDENT_ID = STUDENT.STUDENT_ID
LEFT OUTER JOIN DEMO.LECTURER
ON REGISTRATION.LECTURER_ID = LECTURER.LECTURER_ID;";
Connection theConnection = null;
And this is the rest of codes (LogIn.java)
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String matricI = request.getParameter("matricin");
String passwordI = request.getParameter("passwordin");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>\n" +
" <head>\n" +
" <title>SPEDT | UKM</title>\n" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
" <link rel=\"stylesheet\" href=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css\">\n" +
" <link rel=\"stylesheet\" href=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css\">\n" +
" <script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n" +
" </head>\n" +
" \n" +
" <body>\n" +
" \n" +
" <div class=\"navbar navbar-inverse \" role=\"navigation\">\n" +
" <div class=\"container\">\n" +
" <div class=\"navbar-header\">\n" +
" <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\n" +
" <span class=\"sr-only\">Toggle navigation</span>\n" +
" <span class=\"icon-bar\"></span>\n" +
" <span class=\"icon-bar\"></span>\n" +
" <span class=\"icon-bar\"></span>\n" +
" </button>\n" +
" <a class=\"navbar-brand\" href=\"#\">Sistem Penilaian Esei Dalam Talian</a>\n" +
" </div>\n" +
" <div class=\"navbar-collapse collapse\">\n" +
" <form class=\"navbar-form navbar-right\" role=\"form\" method=\"get\" action=\"http://localhost:8080/Spedt/LogIn\">\n" +
" <a class=\"btn btn-danger\" role=\"button\" href=\"http://localhost:8080/Spedt/start.html\">Keluar</a>\n" +
" </form>\n" +
" </div><!--/.navbar-collapse -->\n" +
" </div>\n" +
" </div>\n" +
"</html>");
// Load database driver
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException cnfe){
System.out.println(cnfe);
}
// Create a Connection to contacts db Data source
try {
theConnection = DriverManager.getConnection(dbURI,"demo","demo");
} catch (SQLException sqle) {
System.out.println(sqle);
}
// prepare statement for inserting data into table
try {
PreparedStatement theStatement=theConnection.prepareStatement(str);
request.setAttribute("matricin",matricI);
request.setAttribute("passwordin",passwordI);
Statement st = theConnection.createStatement();
ResultSet rs = st.executeQuery(str);
String m = matricI;
String p = passwordI;
while (rs.next()) {
String matricS = rs.getString("STUDENT_ID");
String passwordS = rs.getString("STUD_PASSWORD");
String matricL = rs.getString("LECTURER_ID");
String passwordL = rs.getString("LECT_PASSWORD");
if(m.equals(matricS) && p.equals(passwordS)){
response.sendRedirect("http://localhost:8080/Spedt/StudentInput");
return;}
else if(m.equals(matricL) && p.equals(passwordL)){
response.sendRedirect("http://localhost:8080/Spedt/Lecturer.html");
return;}
else {
out.println("<p class=\"bg-danger container\">Sila masukkan No. Matrik dan Kata Laluan yang betul !</p>");
}
}
}
catch (SQLException sqle) {
System.out.println(sqle);
}
theConnection.close(); //Close database Connection
}catch(Exception e) {
out.println(e.getMessage());//Print trapped error.
} finally {
out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
and this is the html
<form class="navbar-form navbar-right" role="form" method="get" action="http://localhost:8080/Spedt/LogIn">
<div class="form-group">
<input type="text" name="matricin" placeholder="No. Matrik" class="form-control">
</div>
<div class="form-group">
<input type="password" name="passwordin" placeholder="Kata Laluan" class="form-control">
</div>
<button type="submit" class="btn btn-success">Masuk</button>
</form>
This is my web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<servlet-name>InputData</servlet-name>
<servlet-class>mypkg.InputData</servlet-class>
</servlet>
<servlet>
<servlet-name>GetData</servlet-name>
<servlet-class>mypkg.GetData</servlet-class>
</servlet>
<servlet>
<servlet-name>LogIn</servlet-name>
<servlet-class>mypkg.LogIn</servlet-class>
</servlet>
<servlet>
<servlet-name>Lecturer</servlet-name>
<servlet-class>mypkg.Lecturer</servlet-class>
</servlet>
<servlet>
<servlet-name>Student</servlet-name>
<servlet-class>mypkg.Student</servlet-class>
</servlet>
<servlet>
<servlet-name>LogOut</servlet-name>
<servlet-class>mypkg.LogOut</servlet-class>
</servlet>
<servlet>
<servlet-name>LecturerInput</servlet-name>
<servlet-class>mypkg.LecturerInput</servlet-class>
</servlet>
<servlet>
<servlet-name>GetDataLecturer</servlet-name>
<servlet-class>mypkg.GetDataLecturer</servlet-class>
</servlet>
<servlet>
<servlet-name>NewServlet</servlet-name>
<servlet-class>mypkg.NewServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>InputLecturer</servlet-name>
<servlet-class>mypkg.InputLecturer</servlet-class>
</servlet>
<servlet>
<servlet-name>GetDataLect</servlet-name>
<servlet-class>mypkg.GetDataLect</servlet-class>
</servlet>
<servlet>
<servlet-name>StudentInput</servlet-name>
<servlet-class>mypkg.StudentInput</servlet-class>
</servlet>
<servlet>
<servlet-name>InputStudent</servlet-name>
<servlet-class>mypkg.InputStudent</servlet-class>
</servlet>
<servlet>
<servlet-name>GetDataStud</servlet-name>
<servlet-class>mypkg.GetDataStud</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InputData</servlet-name>
<url-pattern>/InputData</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetData</servlet-name>
<url-pattern>/GetData</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LogIn</servlet-name>
<url-pattern>/LogIn</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Lecturer</servlet-name>
<url-pattern>/Lecturer</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Student</servlet-name>
<url-pattern>/Student</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LogOut</servlet-name>
<url-pattern>/LogOut</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LecturerInput</servlet-name>
<url-pattern>/LecturerInput</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetDataLecturer</servlet-name>
<url-pattern>/GetDataLecturer</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>NewServlet</servlet-name>
<url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>InputLecturer</servlet-name>
<url-pattern>/InputLecturer</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetDataLect</servlet-name>
<url-pattern>/GetDataLect</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>StudentInput</servlet-name>
<url-pattern>/StudentInput</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>InputStudent</servlet-name>
<url-pattern>/InputStudent</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetDataStud</servlet-name>
<url-pattern>/GetDataStud</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
I hope someone can help me to solve this problem.thanks :)
ohhh..
In this case control is not reaching to servlet
so how would you expect to run redirect
!!
In action part of your html you have written action="http://localhost:8080/Spedt/LogIn"
you should use action for your servlet which you have define in web.xml
file
see your xml file is
<servlet>
<servlet-name>LogIn</servlet-name>
<servlet-class>mypkg.LogIn</servlet-class>
</servlet>
if your write action=LogIn
then you will go to mypkg.LogIn
servlet