Tuesday January 30

Download Report

Transcript Tuesday January 30

MC365
Application Servers,
Servlets, and
Java Server Pages (JSP’s):
Tomcat
Today We Will Cover:
• What is an application server?
• How do servlets and jsp’s work with an
application server?
• Introduce the Tomcat application server.
What is an application server?
• It is easier to answer this question by looking at
the history of dynamic web pages and the factors
that led to the development of the application
server.
• Years ago dynamic web pages were generated
using a technology called CGI (Common Gateway
Interface).
– This was usually a program written in C, Perl or some
other similar language.
– The web server was configured to recognize certain
http requests and execute that program.
– This worked well for a while.
Disadvantages of CGI
• As the web became more and more popular, the load
placed on these web servers and CGI programs increased.
• One of the major inefficiencies of CGI programming is
that every time a request is made for that program, a new
instance is kicked off by the web server.
• For popular websites, this can quickly use up all of the
resources on that server causing delays or even crashes.
• In the late 1990s, the popularity of the Internet was
increasing at a remarkable rate. At the same time a new
language was also become more and more popular…Java.
Benefits of Java Servlets
• The creators of Java came up with an interesting
solution to the CGI problem – Java servlets.
• Servlets are a type of Java program similar to
applications and applets.
– We will go over servlets in more detail in the next class.
• They are Java’s answer to server-side
programming.
Benefits of Java Servlets
• So, what makes servlets better than CGI?
– Servlets are multi-threaded
• First and foremost, servlets take advantage of Java’s concept of
threads. This is a major advantage.
• When a request is made to the web server calling for it to
execute the java program, the Java program can just kick off a
new thread instead of instantiating a new instance of the
program. This saves a tremendous amount of server resources.
– Portable
• As with all other java programs, servlets can run on multiple
platforms. Remember Sun’s promise of write once, run
anywhere philosophy.
– Industry standard
• Java is pretty well established as the language of choice for
server-side programming for the web.
So, again what is an application server?
• Ok, getting back to the original question.
– Unlike CGI programs, Java servlets can not be called
directly by the web server. They need a container as
defined by the J2EE standard.
– This container is called an application server.
– The application server, or app server as it is often
called, works in concert with the web server. Actually,
most of today’s app servers have built-in web servers.
– This is the way it works:
How the Process Works
•
•
•
•
The user submits an http request via a web
browser (like Netscape or IE).
The http request is received by the web server,
which has been configured to send certain
requests to the application server.
The application server receives these special
requests. It knows which servlet to execute
based on the http request (the app server has its
own configuration).
The servlet is executed, does its thing, and
generates a response to the user in html format.
How do JSP’s fit in?
– The Java servlet can produce the HTML response directly
or it can call a Java Server Page (JSP) to generate the
HTML.
– Why would you want to use a JSP?
– The main reason for using JSP’s is to separate the presentation
from the business logic.
– Servlets are generally responsible for performing the business
logic.
– JSP’s are generally responsible for presentation.
– If you generate the HTML directly in the servlet, any changes to
design need a programmer.
– If you use a JSP, many design changes can be done by the UI team
directly.
– We will cover JSP’s in a lot more detail in a week.
The Tomcat Application Server
– Application servers are basically programs (just as web
servers are).
– Different companies have developed a variety of
application servers. Here are the industry leaders:
– WebLogic
– IBM’s WebSphere
– Tomcat
– WebLogic and WebSphere are marketed for large-scale
enterprises.
– They are industrial strength packages but they are very expensive.
– Together they own most of the app server market share.
The Tomcat Application Server
– Tomcat is an app server produced by the Jakarta project.
– It is free and open source.
– It is a very good app server and is a favorite among many smaller
organizations that don’t need many of the bells and whistles of the
other two and/or can’t afford them.
– It is a great tool to learn on. Once you become familiar with one
app server, it is much easier to learn the others.
– Tomcat is much easier to manage than many of the other
application servers.
So how do you set up Tomcat?
– Tomcat can run on many different platforms. In
this class we will go over how to install Tomcat on
the Windows operating system.
– You are free to install it on another operating system if
you want. Once installed, management of the app
server is relatively the same regardless of the OS.
– However, because most students here run Windows,
that is the OS we will use in class.
Installing Tomcat?
– Go to
http://mirror.telentente.com/pub/apache/dist/jakarta/tomcat-4/binaries/
Click on the tomcat-4.1.18.exe download link and save it to your
system.
Execute the executable.
Verify that your installation is
running successfully
–
–
–
–
Open a web browser.
Go to http://localhost:8080/
Click on the Servlet Examples link.
Execute the Hello World example.
– You should see Hello World!