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>
0 Comments