
i hv just started with my lessons in jsp n also doin my final yr project in jsp.i m doin the login page & m stuck with a problem in validating the user.the code i hv written below doesnt redirect to the login page if username & password is invalid but it does redirect only if the username is valid and password invalid.i want know wer i am going wrong in this: import java.io.*; import java.util.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*;
public class Login2 extends HttpServlet{
private ServletConfig config;
public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
String userlog = request.getParameter("textfield");
String passlog = request.getParameter("textfield2");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String connectionURL = "jdbc:postgresql:rohan";
Connection connection=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
Class.forName("org.postgresql.Driver");
}catch(ClassNotFoundException cnfe){ cnfe.printStackTrace(); }
try{ connection = DriverManager.getConnection(connectionURL, "postgres", "postgres");
String sql = "select * from pass where username = ?";
ps = connection.prepareStatement(sql);
ps.setString(1,userlog);
rs = ps.executeQuery();
String dbuser=null;
String dbpass=null;
while (rs.next()){
dbuser = rs.getString(1);
out.println(dbuser);
dbpass = rs.getString(2);
out.println(dbpass);
}
if(dbuser.equals(userlog) && dbpass.equals(passlog))
{
response.sendRedirect("http://localhost:8080/LoginAuthentication/servlets/xx.jsp");
}else response.sendRedirect("http://localhost:8080/LoginAuthentication/servlets/log2.jsp");
}catch(Exception e){
out.println(e);
out.println("Invalid");
}
finally{
try{
if(rs!=null) rs.close(); if(ps!=null) ps.close(); if(connection!=null) connection.close();
}catch(SQLException se){
se.printStackTrace();
}
}
/* if(userName.equals(request.getParameter("user"))
&& passwrd.equals(request.getParameter("pass"))){
out.println("WELCOME "+userName);
}
else{
out.println("Please enter correct username and password");
out.println("
Login again");
session.setAttribute("UserName", request.getParameter("UserName"));
out.println("Welcome " + session.getAttribute( "UserName" ));
if (session.getAttribute("UserName").equals(""))
{
out.println("<a href="login.jsp"><b>Login </b></a>");
}
else{
out.println("<a href="logout.jsp"><b>Logout</b></a>");
}*/
}
}

Hi Friend,
Try the following code:
1)login.jsp:
<html>
<script>
function validate(){
var username=document.form.user.value;
var password=document.form.pass.value;
if(username==""){
alert("Enter Username!");
return false;
}
if(password==""){
alert("Enter Password!");
return false;
}
return true;
}
</script>
<form name="form" method="post" action="../Login1" onsubmit="javascript:return validate();">
<table>
<tr><td>Username:</td><td><input type="text" name="user"></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass"></td></tr>
<tr><td></td><td><input type="submit" value="Submit"></td></tr>
</table>
</form>
</html>
2)Login1.java:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Login1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String user=request.getParameter("user");
String pass=request.getParameter("pass") ;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from login where username='"+user+"' and password='"+pass+"'");
int count=0;
while(rs.next())
{
count++;
}
if(count>0)
{
out.println("welcome "+user);
}
else
{
response.sendRedirect("./jsp/login.jsp");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
Thanks

Hi Friend,
Try the following code:
1)login.jsp:
<html>
<script>
function validate(){
var username=document.form.user.value;
var password=document.form.pass.value;
if(username==""){
alert("Enter Username!");
return false;
}
if(password==""){
alert("Enter Password!");
return false;
}
return true;
}
</script>
<form name="form" method="post" action="../Login1" onsubmit="javascript:return validate();">
<table>
<tr><td>Username:</td><td><input type="text" name="user"></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass"></td></tr>
<tr><td></td><td><input type="submit" value="Submit"></td></tr>
</table>
</form>
</html>
2)Login1.java:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Login1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String user=request.getParameter("user");
String pass=request.getParameter("pass") ;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from login where username='"+user+"' and password='"+pass+"'");
int count=0;
while(rs.next())
{
count++;
}
if(count>0)
{
out.println("welcome "+user);
}
else
{
response.sendRedirect("./jsp/login.jsp");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
Thanks
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.