DOC PREVIEW
Penn CIT 597 - Servlets

This preview shows page 1-2-3-24-25-26 out of 26 pages.

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

Unformatted text preview:

Servlets Jan 14 2019 Servers 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 computer 2 Apache Apache is a very popular server Apache is 66 of the web sites on the Internet use Apache 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 3 Ports 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 III These are the ports of most interest to us 4 Ports 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 understood 5 CGI Scripts CGI stands for Common Gateway Interface Client sends a request to server Server starts a CGI script Script computes a result for server and quits Server returns response to client client client server script Another client sends a request Server starts the CGI script again Etc 6 Servlets A servlet is like an applet but on the server side Client sends a request to server Server starts a servlet Servlet computes a result for server and does not quit Server returns response to client client client server servlet Another client sends a request Server calls the servlet again Etc 7 Servlets 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 Less choice of languages CGI scripts can be in any language 8 Tomcat Tomcat is the Servlet Engine than handles servlet requests for Apache 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 Tomcat is a helper application for Apache It s best to think of Tomcat as a servlet container By itself Tomcat can handle web pages servlets and JSP Apache and Tomcat are open source and therefore free 9 Servlets 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 methods 10 Important servlet methods I When a servlet is first started up its init ServletConfig config method is called Every servlet request results in a call to service ServletRequest request ServletResponse response init should perform any necessary initializations init is called only once and does not need to be thread safe 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 11 HTTP 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 UTF8 oe UTF 8 q servlets The separates the various parameters Only a limited amount of information can be sent this way put can send large amounts of information 12 Important servlet methods II The service method dispatches the following kinds of requests DELETE GET HEAD OPTIONS POST PUT and TRACE A GET request is dispatched to the doGet HttpServletRequest request HttpServletResponse response method A POST request is dispatched to the doPost HttpServletRequest request HttpServletResponse response method These are the two methods you will usually override doGet and doPost typically do the same thing so usually you do the real work in one and have the other just call it public void doGet HttpServletRequest request HttpServletResponse response doPost request response 13 A Hello World servlet from the Tomcat installation documentation public class HelloServlet extends HttpServlet public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException response setContentType text html PrintWriter out response getWriter String docType DOCTYPE HTML PUBLIC W3C DTD HTML 4 0 Transitional EN n out println docType HTML n HEAD TITLE Hello TITLE HEAD n BODY BGCOLOR FDF5E6 n H1 Hello World H1 n BODY HTML Don t worry we ll take this a little at a time 14 The superclass public class HelloServlet extends HttpServlet Every class must extend GenericServlet or a subclass of GenericServlet GenericServlet is protocol independent so you could write a servlet to process any protocol In practice you almost always want to respond to an HTTP request so you extend HttpServlet A subclass of HttpServlet must override at least one method usually one doGet doPost doPut doDelete init and destroy or getServletInfo 15 The


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

More CSS

More CSS

18 pages

Servlets

Servlets

29 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 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?