HTTP Basic and Servlet Basic
Upcoming SlideShare
Loading in...5
×
 

HTTP Basic and Servlet Basic

on

  • 1,145 views

This slides shows basic of HTTP. How it works in terms of request and response. IT also shows how to use tomcat.

This slides shows basic of HTTP. How it works in terms of request and response. IT also shows how to use tomcat.

Statistics

Views

Total Views
1,145
Views on SlideShare
1,063
Embed Views
82

Actions

Likes
0
Downloads
44
Comments
0

2 Embeds 82

http://asbspace.in 48
http://www.asbspace.in 34

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

HTTP Basic and Servlet Basic HTTP Basic and Servlet Basic Presentation Transcript

  • Prepared usingUnit 2 HTTP Basics Servlet BasicsPresentation byAshishSingh T BhatiaLecturer, CTIast.bhatia@gmail.com
  • Assignment 1 1. Explain Internet and WWW. 2. Explain the basic structure of HTML document with brief history. 3. What is JavaScript? Describe its evolution. 4. Explain different type of datatypes available and use in JS. 5. Write shortnote on DOM. 6. List and explain different browsers objects. 7. Explain all form elements. 8. List and explain JavaScript Event handlers. 9. Explain in detail Form Object and its use. 10. Explain inbuilt objects in JavaScript. [ String and Date]I Ashish Bhatia
  • Assignment 111. Explain the functions and its use in JavaScript.12. Explain following with examples 1. typeof 2. instanceof 3. prototype 4. constructor 5. caller 6. toString 7. valueOf13. Desribe the object creation in JavaScript with example.II Ashish Bhatia View slide
  • HTTP● HTTP stands for Hyper Text Transfer Protocol HTTP/0.9 HTTP/1.0 HTTP/1.1 RFC ? RFC 1945 RFC 2616● HTTP is ● Aplication Level Protocol for distributed, collaborative, hypermedia information systems. ● Generic stateless protocol which can be used for many tasks beyond its use for hypertext . ● Use by WWW since 1990. ● Use reliable TCP / IP connection.1 Ashish Bhatia View slide
  • URL , URI , URN● URL : Uniform Resource Locator● URI : Uniform Resource Identifier● URN : Uniform Resource Name2 Ashish Bhatia
  • URL , URI , URN● Web Identifiers● Classical View ● [ URI ] Identifier might specify ● location of resource ==> URL ● http:// ● identifies a resource via a representation of its primary access mechanism (e.g., its network "location"), ● Its name independent of location ==> URN ● urn:isbn :n-nn-nnnnnn-n3 Ashish Bhatia
  • Move Back to History4 Ashish Bhatia
  • Move Back to History5 Ashish Bhatia
  • Understanding a Bit here● Take place of CGI scripts● Run inside a JVM [ Making it safe and portable ]● Operate solely in domain of server unlike applet they do not require support for Java on web Browser.● Efficient and Scalable : Threads are used for request.● Support for servlet ● Standalone Servlet Engines ● Sun Java web Server, JigSaw Server by W3C, Netscape Eneterprise Server, Lotus Domino Go Server6 Ashish Bhatia
  • Understanding a Bit here● Add – on servlet Engines ● Jserv [ Apache ] ● JRun [ Live Software ] ● WebSphere [ IBM ] ● ServletExec [ Atlantas ]● Embeddable Servlet Engines7 Ashish Bhatia
  • Coming back to HTTP● Always client initiates a transaction by establishing a connection and sending HTTP request.● Server has no way to callback or connect client.● HTTP transaction begins with : ● Request from the client browser. ● Ends with Response from the server.● Request Header consist of three parts ● Method – URI – Protocol Version ● Request Headers ● Entity Body8 Ashish Bhatia
  • Coming back to HTTP9 Ashish Bhatia
  • Coming back to HTTP10 Ashish Bhatia
  • Coming back to HTTP11 Ashish Bhatia
  • Coming back to HTTP12 Ashish Bhatia
  • Coming back to HTTP● Server process the request and send the response to the client.● HTTP/1.0 200 OK13 Ashish Bhatia
  • Coming back to HTTP● 1xx: Informational - Request received, continuing process● 2xx: Success - The action was successfully received, understood, and accepted● 3xx: Redirection - Further action must be taken in order to complete the request● 4xx: Client Error - The request contains bad syntax or cannot be fulfilled● 5xx: Server Error - The server failed to fulfill an apparently valid request14 Ashish Bhatia
  • Coming back to HTTP● GET ● Retrieve information identified by Request-URI● HEAD ● Similar to GET except that server will not return a message body● POST ●15 Ashish Bhatia
  • Coming back to HTTP● PUT ● Enclosed entity be stored under the supplied Requested-URI ● If entity exists it will be treated as modified version ● 201 – Created ● 200 – OK ● 204 – No Content ● Error Code ● 501 – Not Implemented16 Ashish Bhatia
  • Coming back to HTTP● DELETE ● Delete the resource identified by the Request-URI ● 200 – OK ● 202 – accepted ● 204 – No content● TRACE ● Used to invoke a remote, application-layer loop-back of the request message. The final recipient of the request SHOULD reflect the message received back to the client as the entity-body of a 200 (OK) response.17 Ashish Bhatia
  • Coming back to HTTP● CONNECT ● Reserves for use with proxy that can dynamically switch to being a tunnel.18 Ashish Bhatia
  • Prepared usingAre You Attentive ?How many methods we studied ?How request header looks ?How response header looks ? Lets move to Servlet Basics19 Ashish Bhatia
  • Servlet Application Architecture● A servlet is a Java class that can be loaded dynamically into and run by a special web server.● Servlet Container / Servlet Engine : Servlet aware web server20 Ashish Bhatia
  • Servlet Application Architecture● Problem and Solution21 Ashish Bhatia
  • How Servlet Works● Servlet is loaded in Servlet Container first.● Servlet then is forwared the user request, process it, and returns the response to the servlet container which in turns send response back to server.● Servlet stays in memory waiting for other requests● Unloaded ??? Shortage of mem22 Ashish Bhatia
  • Tomcat as Servlet Container● Designed by Sun Microsystem● Handed the code the Apache – 1999 ● Included as Jakarta Project ● Its one of recognised Servlet Container and used world wide ● OpenSource● Current version 7.023 Ashish Bhatia
  • Getting up with Tomcat● Genreally two options available for tomcat installation ● Liked by many .exe ● Zip folder● Where to get Tomcat ? ● http://tomcat.apache.org/ ● http://tomcat.apache.org/download-70.cgi●24 Ashish Bhatia
  • Getting up with Tomcat25 Ashish Bhatia
  • Setting up using zip / tar.gz version● Setting up on any platform ● Extract the zip / tar.gz to desired place ● Assumption ● Extracted folder D:tomcat ● JDK : C:Program FilesJavajdk ● Set two environment variables ● CATALINA_HOME=D:tomcat ● JAVA_HOME=C:Program FilesJavajdk● If exe : ● Double click ==> Get installed as window service26 Ashish Bhatia
  • Moving ahead to directory27 Ashish Bhatia
  • Directory details● bin ● Contains files for starting / stopping tomcat server● conf ● Contains xml files● lib ● Contains jar files● logs● temp● webapps ● Working directory mapped to localhost [ see later ]● work28 Ashish Bhatia
  • Program Structure Project JSP pages,WEB-INF static html pages, applet classes classes lib tags web.xml .class files Library archives . tag files29 Ashish Bhatia
  • Directory details● Http://localhost:8080/Add ● This will call up index page [Default Page] ● When called the servlet object is created from Add.class30 Ashish Bhatia
  • Understanding the javax.servlet31 Ashish Bhatia
  • Understanding the javax.servlet : interfaces● 14 interfaces : 7 implemented provided by container ● ServletConfig ● ServletContext ● ServletRequest ● ServletResponse ● RequestDispatcher ● FilterChain ● FilterConfig32 Ashish Bhatia
  • Understanding the javax.servlet : interfaces● 14 interfaces : 7 left for developer ● Servlet ● ServletRequestListener ● ServletRequestAttributeListener ● ServletContextListener ● ServletContextAttributeListener ● SingleThreadModel ● Filter33 Ashish Bhatia
  • ServletContext● ServletConfig interface ● getServletContext() that returns ServletContext● Communicates with the container when you want to perform actions such as writing log files or dispatching request● One ServletContext object per web application. ● Intialized when application starts ● Destroyed when application shut downs● Persistence mechanism ● Attributes available through out.34 Ashish Bhatia
  • Other interfaces brief introduction● ServletRequest and ServletResponse ● Provide the client request information and object used to send the reponse to the client.● RequestDispatcher ● Object that manages client request by directing them to appropriate resources to the server.● Filter, FilterChain, FilterConfig ● Use for filtering35 Ashish Bhatia
  • Understanding the javax.servlet : classes● Nine classes + 2 exception classes ● Generic Servlet ● ServletContextEvent ● ServletContextAttributeEvent ● ServletRequestEvent ● ServpetRequestAttributeEvent ● ServletInputStream ● ServletOutputStream ● ServletRequestWrapper ● ServletResponseWrapper ● ServletException ● UnavailableException36 Ashish Bhatia
  • Understanding the javax.servlet : classes37 Ashish Bhatia
  • Understanding the javax.servlet : classes38 Ashish Bhatia
  • Serlvet Interface : LifeCycle● Servlet must implement the Servlet interface OR Extend from a class that has already implemented Servlet Interface.● public void init(ServletConfig c) throws ServletException● public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException● public void destroy()● public ServletConfig getServletConfig()● public String getServletInfo() throws ServletException, IOException39 Ashish Bhatia
  • GenericServlet Class● Abstract class implmenting Servlet Interface. ● public void init(ServletConfig config) ● public void init() ● public abstract void service(ServletRequest req, ServletResponse res) ● public void destroy() ● public ServletContext getServletContext() ● public java.util.Enumeration getInitParameterNames() ● public String getInitParameter(String name) ● public String getServletName() ● public void log(String msg) ● public void log(String message, java.lang.Throwable t)40 Ashish Bhatia
  • HttpServlet Cass● Overrides service method of GenericServlet class. ● public void init(ServletConfig config) ● public void init() ● public void service(ServletRequest req, ServletResponse res) ● public void service(HttpServletRequest req, HttpServletResponse res)public void destroy()41 Ashish Bhatia
  • HttpServlet Cass● protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException● protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException● protected void doHead(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException● protected void doPut(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException42 Ashish Bhatia
  • HttpServlet Cass● protected void doOption(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException● protected void doTrace(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException● protected long getLastModified(HttpServlet req) throws ServletException,IOException43 Ashish Bhatia
  • Understanding GenericServlet and HttpServlet44 Ashish Bhatia
  • Program Structure HelloWorld index.htmlWEB-INF classes lib web.xml HelloWorld.class29 Ashish Bhatia
  • Prepared usingEnd of Session for today