DOC PREVIEW
Penn CIT 597 - Servlets

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

ServletsServersApachePortsPorts IICGI ScriptsSlide 7Servlets vs. CGI scriptsTomcatSlide 10What does a servlet do?Important servlet methods, IHTTP requestsImportant servlet methods, IILess important requestsA “Hello World” servlet (from the Tomcat installation documentation)The superclassThe doGet methodParameters to doGet and doPostdoGet and doPostUsing the HttpServletResponseUsing the PrintWriterInput to a servletGetting the parametersEnumeration reviewExample of input parametersJava review: Data from StringsWhat’s left?The EndJan 15, 2019Servlets2ServersA server is a computer that responds to requests from a clientTypical requests: provide a web page, upload or download a file, send emailA server is also the software that responds to these requests; a client could be the browser or other software making these requestsTypically, your little computer is the client, and someone else’s big computer is the serverHowever, any computer can be a serverIt is not unusual to have server software and client software running on the same computer3ApacheApache is a very popular server66% of the web sites on the Internet use ApacheApache is:Full-featured and extensibleEfficientRobustSecure (at least, more secure than other servers)Up to date with current standardsOpen sourceFreeWhy use anything else?4PortsA port is a connection between a server and a clientPorts are identified by positive integersA port is a software notion, not a hardware notion, so there may be very many of themA service is associated with a specific portTypical port numbers:21—FTP, File Transfer Protocol22—SSH, Secure Shell25—SMTP, Simple Mail Transfer Protocol53—DNS, Domain Name Service80—HTTP, Hypertext Transfer Protocol8080—HTTP (used for testing HTTP)7648, 7649—CU-SeeMe27960—Quake IIIThese are the ports of most interest to us5Ports IIMy UPenn Web page is:http://www.cis.upenn.edu/~matuszekBut it is also:http://www.cis.upenn.edu:80/~matuszekThe http: at the beginning signifies a particular protocol (communication language), the Hypertext Transfer ProtocolThe :80 specifies a portBy default, the Web server listens to port 80The Web server could listen to any port it choseThis could lead to problems if the port was in use by some other serverFor testing servlets, we typically have the server listen to port 8080In the second URL above, I explicitly sent my request to port 80If I had sent it to some other port, say, 99, my request would either go unheard, or would (probably) not be understood6CGI ScriptsCGI stands for “Common Gateway Interface”Client sends a request to serverServer starts a CGI scriptScript computes a result for server and quitsAnother client sends a requestclientserverclientscriptServer starts the CGI script againEtc.scriptServer returns response to clientscript7ServletsA servlet is like an applet, but on the server sideClient sends a request to serverServer starts a servletServlet computes a result for server and does not quitAnother client sends a requestclientserverclientservletServer calls the servlet againEtc.Server returns response to client8Servlets vs. CGI scriptsAdvantages:Running a servlet doesn’t require creating a separate process each timeA servlet stays in memory, so it doesn’t have to be reloaded each timeThere is only one instance handling multiple requests, not a separate instance for every requestUntrusted servlets can be run in a “sandbox”Disadvantage:Servlets must be in Java (CGI scripts can be in any language)9TomcatTomcat is the Servlet Engine than handles servlet requests for ApacheTomcat is a “helper application” for ApacheIt’s best to think of Tomcat as a “servlet container”Apache can handle many types of web servicesApache can be installed without TomcatTomcat can be installed without ApacheIt’s easier to install Tomcat standalone than as part of ApacheBy itself, Tomcat can handle web pages, servlets, and JSPApache and Tomcat are open source (and therefore free)10ServletsA servlet is any class that implements the javax.servlet.Servlet interface In practice, most servlets extend the javax.servlet.http.HttpServlet classSome servlets extend javax.servlet.GenericServlet instead Servlets, like applets, usually lack a main method, but must implement or override certain other methods11What does a servlet do?1. Read any data sent by the user2. Look up any information about the request that is embedded in the HTTP request3. Generate the results4. Format the results inside a document5. Set the appropriate HTTP parameters6. Send the document back to the clientFrom: Core Servlets and JavaServerPages, by Marty Hall12Important servlet methods, IWhen a servlet is first started up, its init(ServletConfig config) method is called init should perform any necessary initializationsinit is called only once, and does not need to be thread-safeEvery servlet request results in a call toservice(ServletRequest request, ServletResponse response)service calls another method depending on the type of service requestedUsually you would override the called methods of interest, not service itselfservice handles multiple simultaneous requests, so it and the methods it calls must be thread safeWhen the servlet is shut down, destroy() is calleddestroy is called only once, but must be thread safe (because other threads may still be running)13HTTP requestsWhen a request is submitted from a Web page, it is almost always a GET or a POST requestThe HTTP <form> tag has an attribute action, whose value can be "get" or "post"The "get" action results in the form information being put after a ? in the URLExample:http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=servletsThe & separates the various parametersOnly a limited amount of information can be sent this way"post" can send large amounts of informationThe information is in the body of the HTTP request14Important servlet methods, IIThe service method dispatches (sends to another method) the following kinds of requests: DELETE, GET, HEAD, OPTIONS, POST, PUT, and TRACEA GET request is dispatched todoGet(HttpServletRequest request, HttpServletResponse response)A POST request is dispatched todoPost(HttpServletRequest request, HttpServletResponse response)These are the two methods


View Full Document

Penn CIT 597 - Servlets

Documents in this Course
DOM

DOM

21 pages

More DOM

More DOM

11 pages

Rails

Rails

33 pages

DOM

DOM

21 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

Rake

Rake

12 pages

Ruby

Ruby

58 pages

DOM

DOM

21 pages

Tomcat

Tomcat

16 pages

DOM

DOM

21 pages

Servlets

Servlets

29 pages

Logging

Logging

17 pages

Html

Html

27 pages

DOM

DOM

22 pages

RELAX NG

RELAX NG

30 pages

Servlets

Servlets

28 pages

XHTML

XHTML

13 pages

DOM

DOM

21 pages

DOM

DOM

21 pages

Servlets

Servlets

26 pages

More CSS

More CSS

18 pages

Logging

Logging

17 pages

Load more
Download Servlets
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Servlets and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Servlets 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?