Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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