Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Servlets and Java Server Pages

Similar presentations


Presentation on theme: "Java Servlets and Java Server Pages"— Presentation transcript:

1 Java Servlets and Java Server Pages
Norman White Stern School of Business

2 Java Servlets and Java Server Pages
CGI model is powerful, but is hard to integrate into an Enterprise environment. CGI applications often developed using new, unfamiliar technologies.(PERL etc.) Industry pressures to develop enterprise wide solutions, so that web development would be integrated with traditional development environments. Java Servlets and Java Server Pages proposed as a solution.

3 What are Java Servlets Java Servlets are essentially server side java applications, similar to applets. Since they run on the server, their output is sent directly to the browser, hence they generate the web page output dynamically

4 What is …??? Java? A Java Applet? A Java Application? An object?
J2SE and J2EE? Difference between Javascript and Java? An EJB?

5 Advantages over CGI Efficient Convenient Powerful Portable-
Less process startup overhead with Servlets, they stay in memory for reuse. Convenient Built-in support for HTML forms, cookies etc. Written in Java Powerful Can talk directly to web server, share data, make Data base connections, save information , track sessions etc. Portable- Write once, run anywhere. Great for a mixed environment Inexpensive Inexpensive to add servlet support, java is free..

6 Examples - import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; public class SomeServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Use "request" to read incoming HTTP headers (e.g. cookies) // and HTML form data (e.g. data the user entered and submitted) // Use "response" to specify the HTTP response line and headers // (e.g. specifying the content type, setting cookies). PrintWriter out = response.getWriter(); // Use "out" to send content to browser }

7 Hello World package hall; import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello World"); }

8 Hello WWW package hall; import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; public class HelloWWW extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n" + "<HTML>\n" + "<HEAD><TITLE>Hello WWW</TITLE></HEAD>\n" + "<BODY>\n" + "<H1>Hello WWW</H1>\n" + "</BODY></HTML>"); }

9 Package-Puts out Title
package hall; public class ServletUtilities { public static final String DOCTYPE = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; public static String headWithTitle(String title) { return(DOCTYPE + "\n" + "<HTML>\n" + "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n"); } // Other utilities will be shown later...

10 Using the Package package hall; import java.io.*;
import javax.servlet.*; import javax.servlet.http.*; public class HelloWWW2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(ServletUtilities.headWithTitle("Hello WWW") + "<BODY>\n" + "<H1>Hello WWW</H1>\n" + "</BODY></HTML>"); }

11 OK, I think I get it Java servlets allow me to write CGI like programs in Java, but without the overhead of CGI, and with more power. But what good is this? Is it that much better than ASP, PhP etc.?

12 Answer Servlets can generate any output type, so they can stream multimedia, generate images, etc. Especially nice if they are sending something to a Java applet running on the browser.

13 Servlets are not just Java Applets
Servlets are part of a complete development environment that can run anywhere. Java Version 2 Enterprise Edition (J2EE) includes Servlets (and Java Server Pages) as part of the environment They are quickly becoming part of a standard cross platform development environment supported by many Manufacturers

14 What is new here? Write once, run anywhere development
Ability to easily redistribute applications across multiple servers of any type High level standards support of many new technologies Component based development environment In short, an architecture for enterprise application development

15 J2EE Architecture elements
Distributed Communications Network, web, RMI, CORBA, DCOM Enterprise Data Enabling JDBC Common Services Naming Services Directory and Trading services, Activation Services, messaging Services, Transaction Services Enterprise Systems Assurance Built-in Security supporting Java, CORBA Enterprise Web Enabling XML, Java Servlets, Java Server Pages Enterprise Applications Enabling Enterprise Application Platforms, Application servers and Enterprise Java Beans (EJBs).Modeling with EJBs

16 EJBs – Enterprise Java Beans
These are business logic components which depend on services provided by the EJB container. Applications are built by creating new types of session beans and entity beans for handling transactions. Since they extend the session or entity Bean class, Beans inherit services including security, transaction management and data base integration.

17 Management Takeaway Java Servlets and Java Server Pages are part of a much larger environment that can provide an integrated, cross-platform, scalable, secure, robust set of “industry standard” systems.

18 But what about more mundane uses
Next “BIG” thing is Java Server Pages (JSP) These are HTML files with embedded Java code (Scriptlets) The first time the file is referenced, the complete JSP file is turned into a Java Servlet and compiled. The resulting servlet can be developed much faster and more reliably without sacrificing performance.

19 Advantages Easy to maintain, user doesn’t really need to know much if any Java Runs faster, since everything is compiled Opens WEB development up to full Java toolkit including Enterprise Java Beans

20 Conclusion Java Servlets and Java Beans are being used for most high-end web sites Extends web model to include tightly integrated Java Applets and Java servlets Basis of most new peer to peer applications Learn Java!! Great area for projects


Download ppt "Java Servlets and Java Server Pages"

Similar presentations


Ads by Google