1 / 26

Servlets and a little bit of Web Services

Servlets and a little bit of Web Services. Russell Beale. Overview. In general Provide remote access to applications Servlets What are servlets How can we use them Web Services What are web services…. Objectives.

bheller
Download Presentation

Servlets and a little bit of Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Servletsand a little bit ofWeb Services Russell Beale

  2. Overview • In general • Provide remote access to applications • Servlets • What are servlets • How can we use them • Web Services • What are web services…

  3. Objectives • Learn about using servlets as one way of providing web based interfaces to databases and other applications. • Learn how to create and deploy servlets using the NetBeans IDE and Tomcat server • Learn about Web Services and their advantages in relation to providing web based interfaces to databases and other applications • See how to create and deploy Web Services using Java, Apache Tomcat, and Apache Axis • Be aware of other tools for developing, deploying, and consuming web services

  4. Providing remote access RMI CORBA Application Web/HTTP DCOM

  5. WebApplication WebApplication Web Server HTTP HTTP Web Service Client WebBrowser Web Pages Application Interface Access over the Web

  6. Servlets and Web Services • Servlets • providing generic access to an application, using a web interface • we need to build both client and server • Web Services • providing generic access with a defined API • allows custom interface at the client • we can just build the server

  7. A user (1) requests some information by filling out a form containing a link to a servlet and clicking the Submit button (2). The server (3) locates the requested servlet (4). The servlet then gathers the information needed to satisfy the user's request and constructs a Web page (5) containing the information. That Web page is then displayed on the user's browser (6). (bit like CGI scripts, bit like applets) (from Sun) Using servlets

  8. Servlets • Servlets are server-side resources • Servlets are Java objects that act as compact web servers • Can support all protocols, but are not as flexible/powerful as full servers • Need to run inside a web server that supports servlets • Take in requests re-directed from the web-server, write HTML back to the client

  9. Advantages of servlets • Based on Java: convenient & powerful, can talk directly to the server • Efficient – lightweight Java processes, servlet code loads only once • Free/very cheap

  10. Typical uses • Processing and/or storing data submitted by an HTML form. • Providing dynamic content from, for example, a database query • Managing state information on top of HTTP (which is stateless) • e.g. an online shopping cart which manages baskets for many concurrent customers and maps every request to the right customer.

  11. Servlets • Servlets are part of J2EE • All servlets implement interface javax.servlet.Servlet • We will be using javax.servlet.http.HttpServlet

  12. HTTP protocol • 8 request methods: • GET – retrieve content • POST – send data, retrieve content • HEAD – retrieve headers only • PUT – upload content • DELETE – remove content • TRACE – echos the request, showing servers etc • OPTIONS – returns list of supported methods • CONNECT – used with SSL proxy tunnels

  13. Lifecycle • init() • set up the servlet • service() • respond to requests, after init() • destroy() • shutdown the servlet

  14. Using HttpServlet • By extending HttpServlet, we only have to over-ride the methods we need to • E.g., doGet(), doPost()

  15. HelloWorld servlet • Using NetBeans, we can easily create servlets under Tomcat • Tomcat is a Java server that supports servlets • Tomcat is bundled with NetBeans IDE • HelloWorld servlet

  16. POST and GET • GET and POST allow information to be sent back to the webserver from a browser (or other HTTP client for that matter) • Imagine that you have a form on a HTML page and clicking the "submit" button sends the data in the form back to the server, as "name=value" pairs.

  17. HTML forms <form action= "PostExample" method=POST> <input type=text size=20 name=firstname> <br> <input type=text size=20 name=lastname> <br> <input type=submit> </form>

  18. GET… • Choosing GET as the "method" will append all of the data to the URL and it will show up in the URL bar of your browser. • The amount of information you can send back using a GET is restricted as URLs can only be 1024 characters.

  19. POST… • A POST will send the information through a socket back to the webserver and it won't show up in the URL bar. • It is stored on the request object • You can send much more information to the server this way • not restricted to textual data - you can send files and even binary data such as serialized Java objects

  20. Handling GET requests • GET requests call the doGet() method on your servlet • Put code in that method to handle GET, or call another method to do it • GET can pass in data through URL encoding

  21. Handling POST requests • POST requests call the doPost() method • Put code in this method, or call another one • Post data is stored on the request object • PostExample.htm

  22. Storing Data • We often want to store some data about the user and their requests • We can do this in 2 ways: • Client-side - cookies • Server-side – session data, database etc

  23. What are cookies? • HTTP protocol is stateless • Browser contacts server ata URL, requests a page, provides its capabilities • Server sends info to client • Connection closed • So to mark one visitor to track visit to site, need to store a piece of information on the client side • This is the cookie • HTTP header that contains text string

  24. Two sorts • Session • Temporary, erased when you close browser • Often used by e-commerce sites for shopping carts • Persistent • Written to hard drive • Remain until erased or expire • Used to store user preferences

  25. Sessions • Live on the server • Actually built on top of cookies or URL rewritin, but you don’t have to bother with this • HttpSession object • Stores all the information for a session • Saves you having to access the cookies yourself

  26. Servlets and JSP • Putting large amounts of HTML into servlets is a bit cumbersome • JSP pages let you use Java code directly in a HTML document • The Java code is then executed as a servlet at runtime

More Related