print("code sample"); import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class Login extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { PrintWriter pw=res.getWriter(); res.setContentType("text/html"); pw.println("Hello"); try { Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/latha","root","root"); String uid=req.getParameter("Userid"); String un=req.getParameter("Username"); String p=req.getParameter("Password"); PreparedStatement p1=con.prepareStatement("select * from Logintab where Userid=? and Username=? and Password=?"); p1.setString(1,uid); p1.setString(2,un); p1.setString(3,p); ResultSet r=p1.executeQuery(); boolean b=r.next(); if(b=true) { res.sendRedirect("http://localhost:8080/lata/Pms.html"); } else { pw.println("login is not successful"); } con.close(); } catch (Exception e) { pw.println(e); } } }
this is the code for .java servlet am able to run sucessful but when i give wrong login it won't display login is not sucessful .instead it redirect to pms.html
Hello Friend,
The sendRedirect()method redirects the page so your message is not getting displayed. IF you want this, then 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="../Login" onsubmit="javascript:return validate();"> <table> <tr><td>Username:</td><td><input type="text" name="user"><label id="lab1"></label></td></tr> <tr><td>Password:</td><td><input type="password" name="pass"><label id="lab2"></label></td></tr> <tr><td></td><td><input type="submit" value="Submit"></td></tr> </table> </form> </html> <%String msg=request.getParameter("msg"); if(msg!=null){ %> <label><font color="red"><%=msg%></font></label> <% } %>
2)Login.java:
import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class Login extends HttpServlet{ 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{ String msg="Login is not successful"; response.sendRedirect("/examples/jsp/login.jsp?msg="+msg); } }catch (Exception e){ e.printStackTrace(); } } }
Hope that it will be helpful for you.
Thanks