a) How do you get the count of how many times the Servlet was accessed?
Ans: Use Filters and in the doFilter() method, mantain a counter which gets stored in the servletContext.
b) How do you get the no. of users who accessed your application?
Ans: Use HttpSessionListener and increment/decrement the userCount variable which gets stored in the servletContext on the sessionCreated() and sessionDestroyed() method.
c) What is the life cycle of ServletContextListener?
Ans: contextInitialized() and contextDestroyed()
d) What is the life cycle of Filter?
Ans: init, doFilter, destroy
e) What is the difference between Page and PageContext?(Courtesy:Suman)
Ans: page and pageContext are implicit variables.
page : page is of class java.lang.Object,and it refers to instance of generated servlet.It is declared as
// this refers to the instance of this servlet page cannot be used to directly call the servlet methods.
Usages of Page:
1) Error bcoz page is Object type
2) <%=((servlet)page).getServletInfo()%> <—-OK:typecast
3) <%=this.getServletInfo()%> <——-OK
pageContext is of type javax.servlet.jsp.PageContext.
pageContext class is an abstract class.
Usages of PageContext:
1) provide convenience methods to get and set attributes in diff scopes.
2) provide convenience methods for transfering requests to other resources in the web application
void include(String relativeURL) & void forward(String relativeURL)
3)store the references to implicit objects
e) How do you ensure that a user session is closed , when actually the user has closed the browser window without logging out explicity?
Ans: In HttpSession, you have a method by the name getLastAccessedTime() which can be used to identify the in-active period and invalidate the session by calling session.inValidate()
f) What are the attributes of a ConnectionPool?
Ans: Click here
g) How do you download a file from a Servlet?
Ans: Click here