init()
is only called upon creation of the servlet. This may happen multiple times during the life of the server. You use it to initialize any variables or logic required for regular use of the servlet.
Edit:
After re-reading your post, it is not technically called with each request because the server is creating a new instance of the servlet for each request. Check your server settings as to whether it will get a new servlet of keep a single servlet for the life of the server.