Are Java Filter Singleton
jakarta-ee, java, servlet-filters
Solution
First, let's review the definition of Singleton Pattern (emphasis mine):
In software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object.
When you declare a class that implements the `Filter` interface, it needs a `public` constructor (usually the default constructor) so the application server could instantiate it. Thus, by doing this, the `Filter` is not a singleton.
Note that the application server will maintain a single instance per application context e.g. per a deployed web application, but this is not the same as having a singleton. Why? Because you or another programmer can carelessly create an instance of this class (even if it doesn't make use of the instance).
Problem
I am implementing a Java enterprise application and declared a Filter for every request, so how does the server tracks this request, do it create a new filter object for every request, or their is only one filter handling all request, in other words are java web filter singletone?