Servlet – Authentication Filter
Servlets are the Java programs that run on the Java-enabled web server or application server. They are used to handle the request obtained from the webserver, process the request, produce the response, then send a response back to the webserver.
Authentication Filter In Servlets
Authentication may be done in the filter. Here, we’ll verify the user’s password in the ServletFilter class; if the password is “geeksforgeeks”, the request will be sent to the Gfg servlet; otherwise, an error message will be displayed.
Implementation: Let’s look at a simple example of utilizing a filter to authenticate a user. We’ve produced four files here:
- index.html
- Gfg.java
- ServletFilter.java
- web.xml
File: index.html
HTML
< form action = "servlet1" >
Name: < input type = "text" name = "name" / > < br / > < br / >
Password: < input type = "password" name = "password" / > < br / > < br / >
< input type = "submit" value = "login" >
< / form >
|
Example 1-A:
Java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
public class ServletFilter implements Filter {
public void init(FilterConfig arg0)
throws ServletException
{
}
public void doFilter(ServletRequest req,
ServletResponse resp,
FilterChain chain)
throws IOException, ServletException
{
PrintWriter out = resp.getWriter();
String password = req.getParameter( "password" );
if (password.equals( "geeksforgeeks" )) {
chain.doFilter(req, resp);
}
else {
out.print( "username or password is wrong" );
RequestDispatcher rd
= req.getRequestDispatcher( "index.html" );
rd.include(req, resp);
}
}
public void destroy() {}
}
|
Example 1-B:
Java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GFG extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
out.print( "welcome to GEEKSFORGEEKS" );
out.close();
}
}
|
File: web.xml
XML
< web-app >
< servlet >
< servlet-name >Gfg</ servlet-name >
< servlet-class >Gfg</ servlet-class >
</ servlet >
< servlet-mapping >
< servlet-name >Gfg</ servlet-name >
< url-pattern >/servlet1</ url-pattern >
</ servlet-mapping >
< filter >
< filter-name >f1</ filter-name >
< filter-class >ServletFilter</ filter-class >
</ filter >
< filter-mapping >
< filter-name >f1</ filter-name >
< url-pattern >/servlet1</ url-pattern >
</ filter-mapping >
</ web-app >
|
Output:
Click on the login button, if the password is correct then the above message will be shown to the user.
Last Updated :
16 Feb, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...