Advance Java

 Write servlet program to implement authentication filter.



  • Authentication Filter

import java.io.*;
import javax.servlet.*;
 
public class Authentication implements Filter {
 
    @Override
    public void init(FilterConfig filterConfig) throws ServletException { }
 
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
       
        PrintWriter out = response.getWriter();
       
        String username;
        String password;
       
        username = request.getParameter("username");
        password = request.getParameter("password");
       
        if(username.equals("diet") && password.equals("admin")) {
            chain.doFilter(request, response);
        }
        else {
            out.print("Invalid username or passwors..!!");
            RequestDispatcher rd = request.getRequestDispatcher("login.html");
            rd.include(request, response);
        }
    }
 
    @Override
    public void destroy() {} 

}


  •  Admin Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class Admin extends HttpServlet {
   
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
       response.setContentType("text/html");
       PrintWriter out = response.getWriter();
      
       out.print("Authenticate Filter demo");
       out.print("<br/>");
       out.print("Hello Admin");
      
       out.close();
    } 
} 

 

  •  Authentication html

<!DOCTYPE html>
<html>
    <head>
        <title> Authentication filter </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>
            <form action="Admin">
                <p> Username: <input type="text" name="username" required> </p>
                <p> Password: <input type="password" name="password" required> </p>
                <input type="submit" value="Submit">
            </form>
        </div>
    </body> 
</html> 


  • Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <filter>
        <filter-name>Authentication</filter-name>
        <filter-class>Authentication</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Authentication</filter-name>
        <url-pattern>/Admin</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>Admin</servlet-name>
        <servlet-class>Admin</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Admin</servlet-name>
        <url-pattern>/Admin</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config> 
</web-app> 


Post a Comment

0 Comments