Yes , of course you can use the constructor instead of init(). Thereâ€™s nothing to stop you. But you shouldnâ€™t. The original reason for init() was that ancient versions of Java couldnâ€™t dynamically invoke constructors with arguments, so there was no way to give the constructur a ServletConfig. That no longer applies, but servlet containers still will only call your no-arg constructor. So you wonâ€™t have access to a ServletConfig or ServletContext.