A cookie is a kind of information that is stored at client side.
In the previous page, we learned a lot about cookie e.g. how to create cookie, how to delete cookie, how to get cookie etc.
Here, we are going to create a login and logout example using servlet cookies.
In this example, we are creating 3 links: login, logout and profile. User can’t go to profile page until he/she is logged in. If user is logged out, he need to login again to visit profile.
In this application, we have created following files.
- index.html
- link.html
- login.html
- LoginServlet.java
- LogoutServlet.java
- ProfileServlet.java
- web.xml
File: index.html
File: link.html
File: login.html
File: LoginServlet.java
package com.javatpoint; 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("admin123")){ 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(); } }
File: LogoutServlet.java
package com.javatpoint; 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!"); } }
File: ProfileServlet.java
package com.javatpoint; 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(); } }
File: web.xml
LoginServlet LoginServlet com.codebridge.LoginServlet LoginServlet /LoginServlet ProfileServlet ProfileServlet com.codebridge.ProfileServlet ProfileServlet /ProfileServlet LogoutServlet LogoutServlet com.codebridge.LogoutServlet LogoutServlet /LogoutServlet
Output
If again you click on the profile link, you need to login first.
Leave A Comment