Download Java Servlets and Java Server Pages

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java Servlets and Java
Server Pages
Norman White
Stern School of
Business
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.
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

What is …???
Java?
 A Java Applet?
 A Java Application?
 An object?
 J2SE and J2EE?
 Difference between Javascript and
Java?
 An EJB?

Advantages over CGI

Efficient


Convenient


Can talk directly to web server, share data, make Data
base connections, save information , track sessions etc.
Portable

Built-in support for HTML forms, cookies etc. Written in
Java
Powerful


Less process startup overhead with Servlets, they stay
in memory for reuse.
Write once, run anywhere. Great for a mixed
environment
Inexpensive

Inexpensive to add servlet support, java is free..
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


}


}
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");
}
}
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>");
}
}
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...


}
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>");
}
}
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.?

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.

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
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
J2EE Architecture elements

Distributed Communications


Enterprise Data Enabling


Built-in Security supporting Java, CORBA
Enterprise Web Enabling


Naming Services Directory and Trading services, Activation
Services, messaging Services, Transaction Services
Enterprise Systems Assurance


JDBC
Common Services


Network, web, RMI, CORBA, DCOM
XML, Java Servlets, Java Server Pages
Enterprise Applications Enabling

Enterprise Application Platforms, Application servers and
Enterprise Java Beans (EJBs).Modeling with EJBs
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.
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.
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.
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

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