1 / 23

Java Servlets

Java Servlets. Dynamic Web Pages (Program Files) Servlets versus Java Server Pages Implementing Servlets Example: F15 Warranty Registration Tomcat Configuration for Servlet Processing Starting and Stopping Tomcat Service. 1. 1. Dynamic Web Pages.

Download Presentation

Java Servlets

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. Java Servlets • Dynamic Web Pages (Program Files) • Servlets versus Java Server Pages • Implementing Servlets • Example: F15 Warranty Registration • Tomcat Configuration for Servlet Processing • Starting and Stopping Tomcat Service 1 1

  2. Dynamic Web Pages • The URL points to an “executable program” file instead of to a “static” HTML document file • The program generates response based on input request parameters and data stored on the server • It writes response in HTML format to stdout • These programs can be scripts PERL, PHP, etc or compiled C CGI programs • They can also be Java Programs, e.g. Servlets • Servlets can be auto-generated from JSP pages 2 2

  3. Servlets versus Java Server Pages • A servlet is a .java source file with code that reads user submitted parameters and writes HTML formatted text back to the user • It can also access or update files on the server • Much like any Java program: • It is compiled to a .class file • Data is displayed to user based on java statements 3

  4. Servlets versus Java Server Pages • A Java Server Page is a “markup document” with snippets of Java code included to control processing/generation of response to the user • It can also access or update files on the server • Much like any HTML page: • It is not compiled by the developer (a servlet is generated and compiled behind the scenes) • Data is displayed to user based on markup text 4

  5. Servlets versus Java Server Pages • There are advantages and disadvantages for using a servlet or a Java Server Page (JSP) • Primarily consider the ratio of code to markup: • The more code the greater the case for a servlet • The more markup the greater the case for a JSP • The code sections of a JSP may become difficult to debug because the compiler works on the generated ".java" source file - not directly on the JSP • For a page with simple server-side functions, such as altering output based on a few request parameters, a JSP can be much simpler to build than a servlet 5

  6. Java Servlets • Import javax.servlet.* and javax.servlet.http.* • Class extends httpServlet (An abstract class) • No need to implement a constructor method • Use methods init and destroy – like Applets • Implement methods doPost and/or doGet • Compile your servlet source code as usual • Save class file in myapp/WEB-INF/classes 6 6

  7. Java Servlets • GET method • If your form has METHOD="Get" in its FORM tag, implement the doGet method • POST method • If your form has METHOD="Post" in its FORM tag, implement the doPost method • For flexibility, implement both methods • Have one method call the other passing the received arguments so you don’t need to write the code twice 7 7

  8. Java Servlets Example • F15.html sends either Get or Post request • To localhost/myapp/F15 (a Servlet) • Tomcat servlet container invokes either the doGet method or doPost method depending on the type of request received • doGet/doPost obtains the input data via calls to the request object’s getParameter method • Generates HTML response via response object’s methods and PrintWriter object obtained from response.getWriter method 8 8

  9. F15 Class import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class F15 extends HttpServlet { 9

  10. F15 doGet Method public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } 10

  11. F15 doPost Method public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // get the input data from the form String name = request.getParameter("Name"); String title = request.getParameter("Title"); String model = request.getParameter("Model"); . . . 11

  12. F15 doPost Method // start the usual stuff for the response response.setContentType("text/html"); PrintWriter out = response.getWriter(); // PrintWriter is the same class as System.out String docType = “<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0” + “Transitional//EN\”>\n”; out.println(docType + “<HTML>\n” + “<HEAD><TITLE>F15 Response</TITLE></HEAD>” + “ \n<BODY>”); 12

  13. F15 doPost Method // now compose our response based on the form input data out.println("To: " + name + "<br><br>" + title); out.println("<p>We at MakDonut-Duglass wish you the ” + “best of luck using your F15 " + model + " model to " + . . . // and end with the usual stuff for the response out.println("</BODY></HTML>"); } } 13

  14. Tomcat File Directory Structure • Path to Tomcat in Program Files C:\Program Files\Apache Software Foundation\Tomcat 6.0 • Top Level Subdirectories of Interest \conf – contains configuration files in xml format \webapps – contains ROOT and “myapp” sub-directories for the top level pages of web applications \work – contains source code and class files for servlets generated from JSP pages (many levels below) \logs – contains log files with error messages or output from any debug write statements you use in your code

  15. Tomcat Configuration • Tomcat has overall configuration files in: • Tomcat 6.0\conf folder • server.xml • tomcat-users.xml • context.xml • web.xml • Tomcat has configuration files for individual web applications in: • Tomcat 6.0\webapps\myapp\WEB-INF • web.xml

  16. Tomcat Configuration (server.xml) • Contains configuration for port number on which the service will be offered <Connector port=“80” protocol=“HTTP/1.1” connectionTimeout=“20000” redirectPort=“8443” /> • Default file came set up with port 8080

  17. Tomcat Configuration (tomcat-users.xml) • User account names, passwords and privileges <tomcat-users>  <role rolename=“manager”/>  <role rolename=“admin”/>  <user username=“admin” password=“********” roles=“admin,manager”/> </tomcat-users>

  18. Tomcat Configuration (context.xml) • Context Useful for Development Activity <Context reloadable="true" privileged="true"> • Reloadable = Enables monitoring of servlet class files for reloading without server restart • Privileged = Allows Use of Invoker Servlet • Allows access to servlets without a definition and a mapping in the web.xml configuration file(s) • Both normally set to false for production

  19. Tomcat Configuration (web.xml) • In folder conf/web.xml • Invoker Servlet Definition / Initialization   <servlet>    <servlet-name>jsp</servlet-name>    <servlet-class>org.apache.jasper.servlet.JspServlet </servlet-class>    <init-param>       <param-name>fork</param-name>       <param-value>false</param-value>    </init-param>    <init-param>       <param-name>xpoweredBy</param-name>       <param-value>false</param-value>    </init-param>    <load-on-startup>3</load-on-startup> </servlet>

  20. Tomcat Configuration (web.xml) • In folder conf/web.xml • Invoker Servlet Mapping to URL <servlet-mapping>    <servlet-name>invoker</servlet-name>    <url-pattern>/servlet/*</url-pattern> </servlet-mapping>

  21. Tomcat Configuration (web.xml) • In folder myapp/WEB-INF/web.xml • F15 Servlet Definition / Initialization <servlet> <servlet-name>F15</servlet-name> <servlet-class>F15</servlet-class> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> </servlet>

  22. Tomcat Configuration (web.xml) • In folder myapp/WEB-INF/web.xml • F15 Servlet Mapping to URL <servlet-mapping <servlet-name>F15</servlet-name> <url-pattern>/F15</url-pattern> </servlet-mapping>

  23. Configure Tomcat Service Can use buttons to start and stop the Tomcat Service

More Related