session-02. servlet api the javax.servlet and javax.servlet.http packages represent interfaces and...

28
Session-02

Upload: alexis-barker

Post on 23-Dec-2015

253 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Session-02

Page 2: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Servlet API

• The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api.

javax.servlet

javax.servlet.http

Page 3: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Servlet Jar File

Page 4: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

javax.servlet

Page 5: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Interfaces in javax.servlet package

1. Servlet2. ServletRequest3. ServletResponse4. RequestDispatcher5. ServletConfig6. ServletContext7. SingleThreadModel8. Filter9. FilterConfig10. FilterChain11. ServletRequestListener12. ServletRequestAttributeListener13. ServletContextListener14. ServletContextAttributeListener

Page 6: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Classes in javax.servlet package

1. GenericServlet2. ServletInputStream3. ServletOutputStream4. ServletRequestWrapper5. ServletResponseWrapper6. ServletRequestEvent7. ServletContextEvent8. ServletRequestAttributeEvent9. ServletContextAttributeEvent10. ServletException11. UnavailableException

Page 7: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 8: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

javax.servlet. http

Page 9: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Interfaces in javax.servlet.http package

1. HttpServletRequest2. HttpServletResponse3. HttpSession4. HttpSessionListener5. HttpSessionAttributeListener6. HttpSessionBindingListener7. HttpSessionActivationListener8. HttpSessionContext

(deprecated now)

Page 10: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Classes in javax.servlet.http package

1. HttpServlet2. Cookie3. HttpServletRequestWrapper4. HttpServletResponseWrapper5. HttpSessionEvent6. HttpSessionBindingEvent7. HttpUtils (deprecated now)

Page 11: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 12: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

How to use servlet api classes?

Page 13: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Difference between javax.servlet & javax.servlet.http

All classes & interfaces inside javax.servlet package are protocol Independent.

All classes & interfaces inside javax.servlet.http package are Protocol dependent(HTTP).

Page 14: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Servlet Interface

• Servlet interface provides common behaviour to all the servlets.

• Servlet interface needs to be implemented for creating any servlet (either directly or indirectly).

• Defines methods that all servlets must implement. • A servlet is a small Java program that runs within a Web server. • To implement this interface, you can write a generic servlet that

extends javax.servlet.GenericServlet • OR an HTTP servlet that extends javax.servlet.http.HttpServlet.

Page 15: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 16: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 17: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Method Detail

Init• Called by the servlet container to indicate to a servlet that the

servlet is being placed into service. • The servlet container calls the init method exactly once after

instantiating the servlet. • The init method must complete successfully before the servlet

can receive any requests. The servlet container cannot place the servlet into service if the init method

1. Throws a ServletException 2. Does not return within a time period defined by the Web server

Page 18: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Method Detail

getServletConfig• Returns a ServletConfig object, which contains initialization

and startup parameters for this servlet.

• Implementations of this interface are responsible for storing

the ServletConfig object so that this method can return it.

Returns: the ServletConfig object that initializes this servlet

Page 19: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Method Detail

service• Called by the servlet container to allow the servlet to respond to

a request.

• This method is only called after the servlet's init() method has

completed successfully.

• Servlets typically run inside multithreaded servlet containers

that can handle multiple requests concurrently.

Page 20: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Method Detail

getServletInfo• Returns information about the servlet, such as author, version,

and copyright.

• The string that this method returns should be plain text and not

markup of any kind (such as HTML, XML, etc.).

Returns: a String containing servlet information

Page 21: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Method Detail

destroy• Called by the servlet container to indicate to a servlet that the

servlet is being taken out of service.

• This method is only called once all threads within the servlet's

service method have exited or after a timeout period has passed.

• After the servlet container calls this method, it will not call the

service method again on this servlet.

Page 22: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Life Cycle of a Servlet (Servlet Life Cycle)

The web container maintains the life cycle of a servlet instance. Let's see the life cycle of the servlet:

1. Servlet class is loaded.

2. Servlet instance is created.

3. init method is invoked.

4. service method is invoked.

5. destroy method is invoked.

Page 23: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

1. The servlet is constructed, then initialized with the init method.

2. Any calls from clients to the service method are handled.

3. The servlet is taken out of service, then destroyed with the

destroy method, then garbage collected and finalized.

Page 24: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 25: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 26: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Continue...

Page 27: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Life Cycle of a Servlet (Servlet Life Cycle) with HTTP

Page 28: Session-02. Servlet API The javax.servlet and javax.servlet.http packages represent interfaces and classes for servlet api. javax.servlet javax.servlet.http

Servlet Example by implementing Servlet interface

First.txt