You are reading the article Examples And Advantages Of Servlet Filter updated in September 2023 on the website Uyenanhthammy.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested October 2023 Examples And Advantages Of Servlet Filter
Introduction to Servlet Filter Why do We Need Servlet Filters?In certain situations where we want to manage user sessions in web applications, with some restrictions like making sure that the resources are accessible only when the user session is valid, this task is achieved using servlet session attributes. this approach is simple, but if the number of servlets and js ps, it becomes hard to maintain because of redundant code. to avoid these complications, we make use of servlet filters.
Following are the list of the task we can perform with servlet filters:
Server-side logging.
Logging request parameter to log files.
Server-side authentication and authorization.
Compression and decompression.
Encryption and decryption.
Server-side validation.
Servlet Filter InterfaceTo create a filter, the programmer needs to follow three steps:
Write a java class that implements the Filter interface and overrides the filter cycle methods.
Initialize filter parameters – If necessary.
Filter mapping.
Filter InterfaceThe filter interface is part of javax.servlet package to create filter, we must implement a Filter interface. The filter interface consists of 3 life cycle methods.
1. public void init(FilterConfig config) throws ServletException
This method is overridden for initializing filter parameters. This invokes the web container to indicate to a filter that is being placed into service. It takes one parameter, i.e. FilterConfig type or FilterConfig object.
2. Public void doFilters(ServletRequest request,ServletResponse response,FileterChain chain)throws ServletException,IOException
This method is considered the most important method in the Filter chúng tôi takes three parameters, ServletRequest object, ServletResponse object and object of FilterChain, to invoke the next filter. It performs some important tasks like.
It examines the request header.
Customizes the request objects if it feels necessary. Modify the request header or complete data.
Even it also customizes response objects if it feels chúng tôi can modify only the response header or complete data.
It invokes the next filter by using the FilterChain object passed as a signature if there is filter chaining.
It also examines the response header after invoking the next filter in the filter chaining.
It is also responsible for throwing an Exception indicating that error/Exception is processing.
The container invokes this method to indicate the filter is finished its task or the filter is taken out from service. Users can override this method to writing some finalizing codes like freeing some resources, objects, etc.
Defining Filters in ServletThe general format to defining filter in servlet.
Code:
public class HelloFilter implements Filter { public void init(ServletConfig config) { } public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException { } public void destroy() { } }Mapping filter in web.xml.
Examples of Servlet FilterAn example of a servlet filter is given below:
import java.util.*; import java.io.*; import javax.Servlet.*; import javax.Http.*; public class HelloServlet1 Extends HttpServlet { protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { PrintWriter out=response.getWriter(); out.println("Hello "); } protected void doPost(request,response)throws ServletException,IOException { } }Filter Class:
import java.util.*; import java.io.*; import javax.Servlet.*; import javax.Http.*; public class ServletFilter implements Filter { public void init()throws ServletException { } public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException { String ip=request.getRemoteHost(); System.out.println(“Remote Host:”+ip); for(int i=0;i<9999;i++) for(int j=0;j<9999;j++) ; chain.doFilter(request,response) for(int i=0;i<9999;i++) for(int j=0;j<9999;j++) ; System.out.println("Filter Finished"); } public void destroy() { } }Web.xml mapping:
Output:
Advantages of Servlet Filter
Filters examine the user request before the servlet is called.
Filter modifies the request header and data; hence, providing customized data request objects wraps up the actual request data.
Filters help to intercept servlets invocation after servlet is called.
The filter is pluggable, and one filter doesn’t have a pendency on other resources.
The filter performs encryption and decryption; this helps in data security.
The input validation task of the er helps in preventing irrelevant data processing.
Filters perform the data compression process; this reduces storage space on the er.
Since the filters perform server-side authentication and authorization, this benefits security on server-side data access or manipulation.
Filters also help in interacting with external resources.
Conclusion Recommended ArticlesThis is a guide to Servlet Filter. Here we discuss the Introduction and why we need servlet filters and different examples and their code implementation. You may also have a look at the following articles to learn more –
You're reading Examples And Advantages Of Servlet Filter
Update the detailed information about Examples And Advantages Of Servlet Filter on the Uyenanhthammy.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!