Servlet Login and Logout Example using Cookies

A cookie is a sort of data that is put away at customer side. we are going to make a login and logout illustration utilizing servlet cookie.

In this application, we have created following files.

  • index.html
  • link.html
  • login.html
  • LoginServlet.java
  • LogoutServlet.java
  • ProfileServlet.java
  • web.xml

index.html

 <html> 
<head> 
 
<title>Servlet Login Example</title> 
</head> 
<body> 

<h1>Welcome to Login Example by Cookie</h1> 
<a href="login.html">Login</a>| 
<a href="LogoutServlet">Logout</a>| 
<a href="ProfileServlet">Profile</a> 

</body> 
</html> 
				

link.html

 <a href="login.html">Login</a> | 
<a href="LogoutServlet">Logout</a> | 
<a href="ProfileServlet">Profile</a> 

login.html

<form action="LoginServlet" method="post"> 
Name:<input type="text" name="name"><br> 
Password:<input type="password" name="password"><br> 
<input type="submit" value="login">
</form> 

LoginServlet.java

package com.javatportal; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.Cookie; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
public class LoginServlet extends HttpServlet { 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
response.setContentType("text/html"); 
PrintWriter out=response.getWriter(); 

request.getRequestDispatcher("link.html").include(request, response); 

String name=request.getParameter("name"); 
String password=request.getParameter("password"); 

if(password.equals("admin")){ 
out.print("You are successfully logged in!"); 
out.print(" Welcome, "+name); 

Cookie ck=new Cookie("name",name); 
response.addCookie(ck); 
}else{ 
out.print("sorry, username or password error!"); 
request.getRequestDispatcher("login.html").include(request, response); 
} 

out.close(); 
} 

LogoutServlet.java

 
package com.javatportal; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.Cookie; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
public class LogoutServlet extends HttpServlet { 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
response.setContentType("text/html"); 
PrintWriter out=response.getWriter(); 


request.getRequestDispatcher("link.html").include(request, response); 

Cookie ck=new Cookie("name",""); 
ck.setMaxAge(0); 
response.addCookie(ck); 

out.print("you are successfully logged out!"); 
} 
} 

ProfileServlet.java

package com.javatportal; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.Cookie; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
public class ProfileServlet extends HttpServlet { 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
response.setContentType("text/html"); 
PrintWriter out=response.getWriter(); 

request.getRequestDispatcher("link.html").include(request, response); 

Cookie ck[]=request.getCookies(); 
if(ck!=null){ 
String name=ck[0].getValue(); 
if(!name.equals("")||name!=null){ 
out.print(" Welcome to Profile "); 
out.print(" Welcome, "+name); 
} 
}else{ 
out.print("Please login first"); 
request.getRequestDispatcher("login.html").include(request, response); 
} 
out.close(); 
} 
} 


} 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 

<servlet> 
<description></description> 
<display-name>LoginServlet</display-name> 
<servlet-name>LoginServlet</servlet-name> 
<servlet-class>com.javatportal.LoginServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>LoginServlet</servlet-name> 
<url-pattern>/LoginServlet</url-pattern> 
</servlet-mapping> 
<servlet> 
<description></description> 
<display-name>ProfileServlet</display-name> 
<servlet-name>ProfileServlet</servlet-name> 
<servlet-class>com. javatportal.ProfileServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>ProfileServlet</servlet-name> 
<url-pattern>/ProfileServlet</url-pattern> 
</servlet-mapping> 
<servlet> 
<description></description> 
<display-name>LogoutServlet</display-name> 
<servlet-name>LogoutServlet</servlet-name> 
<servlet-class>com. javatportal.LogoutServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>LogoutServlet<servlet-name> 
<url-pattern>/LogoutServlet</url-pattern> 
</servlet-mapping> 
</web-app>