I have made a login validation project using model, view, controller but its not showing the intended result.There might be some error in controller part i guess.please have a look and see if there are any errors in it.
CONTROLLER- LoginController.java(servlet)
package mvcdemo.controllers;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mcvdemo.model.Authenticator;
import mcvdemo.model.User;
public class LoginController extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginController() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String username = request.getParameter("username");
String password = request.getParameter("password");
RequestDispatcher rd = null;
Authenticator authenticator = new Authenticator();
String result = authenticator.authenticate(username,password);
if(result.equals("success")){
rd= request.getRequestDispatcher("/success.jsp");
User user = new User(username,password);
request.setAttribute("user", user);
}
else{
rd= request.getRequestDispatcher("/error.jsp");
}
rd.forward(request, response);
}
}
VIEW- 1)Login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Insert title here</title>
</head>
<body>
<form action = "LoginController" method = "post">
Enter user : <input type="text" name="username" id="username"/>
<br>
Enter password : <input type="text" name="password" id="password"/>
<input type="submit" />
</form>
</body>
</html>
2) Success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Insert title here</title>
</head>
<body>
welcome!!!
</body>
</html>
3)error.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Insert title here</title>
</head>
<body>
Login failed!!!
</body>
</html>
MODEL-
1)Authenticator.java
package mcvdemo.model;
public class Authenticator {
public String authenticate(String username, String password){
if("gaurav".equalsIgnoreCase(username)&&("password".equals(password)))
{
return "success";
}
else{
return "failure";
}
}
}
2)Use.java
package mcvdemo.model;
public class User {
private String username;
private String password;
public User(String username, String password)
{
this.username = username;
this.password = password;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username=username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password=password;
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>MVC-demo</display-name>
<servlet>
<description></description>
<display-name>LoginController</display-name>
<servlet-name>LoginController</servlet-name>
<servlet-class>mvcdemo.controllers.LoginController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginController</servlet-name>
<url-pattern>LoginController</url-pattern>
</servlet-mapping>
</web-app>