Java : Servlet Tutorials
Java Servlets it Java technology for creating the dynamic web applications. Java Servlets are server side components in Java that runs on Servlet enabled web server such as Tomcat, Jetty, Websphere etc.. Java Servlet is much faster then CGI and Perl since it runs in the same JVM. In case of CGI and Perl separate memory space is allocated for execution of the program which reduces it's performance.
For running the Java Servlet you can download the latest version of Tomcat server and install on your computer. It's much easier to use Tomcat for learning Java Servlet. These step-by-step tutorials will teach you Java Servlet and impart the knowledge necessary for developing and testing Java Servlet. After learning these tutorials you will be able to start using Java Servlet in your web projects.
In this section you will find several tutorials of Java Servlet.
First let's understand about web and web applications.
- History of Web
Earlier in client- server computing, each application had its own client program and it worked as a user interface and need to be installed on each user's personal computer.
to Web Server
Web Server is a computer on the World Wide Web that stores Html documents that can be retrieved via a Web browser. It is a computer that delivers web pages.
is a Container
Container are nothing but a Java application which controls servlets. Tomcat is one of the example of a container. It is the container which calls the servlet's methods like doPost() and doGet().
After understanding the basics of web and web application development we will learn about the Servlet technology of Java. The Servlet technology helps the developer to write dynamic web applications. JSP is also compiled into Servlet before it is executed on the container.
Let's get started with the Servlet technology. You can learn Java Servlet here with help of example programs given below:
- Overview of Servlets
What is servlet?
Methods of Servlet
Life Cycle of Servlet
Features of Servlet 2.4
Features of Servlet 2.5
Features of Servlet 3.0
Advantages of Java Servlets
Advantages of Servlets over CGI
Servlet 3.0 Complete Tutorial
- Quick get to Servlet
Introduction to Server Side programming
Introduction to Java Servlets
Installing Configuring and Running Servlets
- How to run a
Install the tomcat server in a directory in which you want to install and set the classpath.for the variable JAVA_HOME in the environment variable.
- Writing Hello World
We should start understanding the servlets from the beginning. Lets start by making one program which will just print the "Hello World" on the browser. Each time the user visits this page it will display "Hello World" to the user.
Date in Servlet
In this example we are going to show how we can display a current date and time on our browser. It is very easy to display it on our browser by using the Date class of the java.util package.
- Simple Counter In Servlet
In this example we are going to know how we can make a program on counter which will keep track how many times the servlet has been accessed.
Holistic counter in Servlet
In this program we are going to make a such a servlet which will count the number it has been accessed and the number of threads created by the server.
- Counter in
In this program we are going to make a such a servlet which will count and displays the number of times it has been accessed and by reading the init parameter to know from where the counting will begin.
To display the name of the server you are using use the method getServerName() of the ServletRequest interface. To display the server port number use the method getServerPort().
- Snooping Headers
In this program we are going to going to make a servlet which will retrieve all the Http request header.
- Dice Roller
We are going to make one program on the dice roller in which the number in the dice will be selected randomly.
- Getting Init Parameter Names
Whenever the container makes a servlet it always reads it deployment descriptor file i.e. web.xml. Container creates name/value pairs for the ServletConfig object. Once the parameters are in ServletConfig they will never be read again by the Container.
Parameter Using Html Form
This is a very simple example in which we are going to display the name on the browser which we have entered from the Html page.
values for a single parameter
In our program it may be that we may have multiples values for a single parameter like in checkboxes.
- Time Updater in Servlet
In this program we are going to make one program on servlet which will keep on updating the time in every second and the result will be displayed to you.
- Send Redirect in Servlet
In this example we are going to make one html in which we will submit the user name and his password. The controller will check if the password entered by the user is correct or not.
- Session Tracking
As we know that the Http is a stateless protocol, means that it can't persist the information. It always treats each request as a new request. In Http client makes a connection to the server, sends the request., gets the response, and closes the connection.
- To Determine whether the Session is New or Old
In this program we are going to make one servlet on session in which we will check whether the session is new or old.
- Pre- Existing Session
In this example we are going to find out whether the session is pre- existing or not.
- Session Last Accessed Time Example
This example illustrates to find current access time of session and last access time of session. Sessions are used to maintain state and user identity across multiple page requests.
- Get Session Id
In this example we are going to make a program in which we will find the session id which was generated by the container.
- Display session value Using Servlet
Sometime while developing web application it is necessary to interact with the different values of the Session object. In this example we will explore the different values of the Session object and then learn how to use it in our programming code.
- Hit Counter Servlet Example
This example illustrates about counting how many times the servlet is accessed. When first time servlet (CounterServlet) runs then session is created and value of the counter will be zero and after again accessing of servlet the counter value will be increased by one.
Connection with the Database
Data In Database table using Statement
In this program we are going to insert the data in the database from our java program in the table stored in the database.
- Retrieving Data from the table using Statement
In this program we are going to fetch the data from the database in the table from our java program.
- Inserting data from the HTML page to the database
In this program we are going to make program in which we are going to insert the values in the database table from the html form.
- Retrieving Data from the table using PreparedStatement
In this program we are going to fetch the data from the database in the table from our java program using PreparedStatement.
- Getting Columns Names using Servlets
Consider a situation where there is a need to know about the name of the columns without touching our database. As we are the programmers so why we need to worry about the database.
- Getting Number of Columns
Consider a situation where there is a need to know about the number of columns in the table without touching our database. As we are the programmers so why we should worry about the database.
- Getting Number of Rows
Consider a situation where we want to know about the number of rows in the particular database table without touching our database.
We want to find out the number of rows without going touching our back- end.
- Deleting Rows From Table
Consider a situation where we have entered some wrong data and in later situation it starts giving problem to the organization.
All Rows From the database Table
Consider a situation where we have entered some wrong data and in later situation it starts giving problem to an organization or may become useless after sometime . Rather than go through with that data its better to delete that data.
- How to add a column in a table
Consider a situation where the requirement of the client gets changed and you have asked to modify the structure of the table. In reality it is the work of the database administrator but as a Java programmer you should know how you can modify the structure of the table.
- How to delete a table in mysql
Consider a situation where we need to delete a table from a database.
- changing column name
consider a scenario where we have a table and it consists some data and a situation arises where there is a need to change the name of the column.
- insert into statement in sql
In this tutorial we are going to learn how we can insert a value from a html form in the table stored in the database.
- join tables
mysql using servlets
In this program we are going to join the two table by using the servlets and the result will be displayed in the browser.
Left Join using servlets
In this program we are going to join the two table by using the servlets and the result will be displayed in the browser. This join will be natural left join.
Right Join using servlets
In this program we are going to join the two table by using the servlets and the result will be displayed in the browser. This join will be natural right join.
between Servlet 2.4 and Servlet 2.5
In this tutorial you will know the difference between Servlet 2.4 and Servlet 2.5
And Post Method of Http
The Get is one the simplest Http method. Its main job is to ask the server for the resource. The Post method is more powerful request. By using Post we can request as well as send some data to the server.
- Servlets Links
Servlets are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platform-independent.
- Select Color
In this program we are going to selected the various color and on the basis of the selection the output will be displayed to the user.
In send Redirect whenever the client makes any request it goes to the container, there the container decides whether the concerned servlet can handle the request or not.
- Send Redirect in Servlet
When we want that someone else should handle the response of our servlet, then there we should use sendRedirect() method.
In this program we are going to make such a servlet which will be responsible to select a site randomly from the list of sites you have entered. Note that the selection of the site will be randomly.
ServletContext is a interface which helps us to communicate with the servlet container. There is only one ServletContext for the entire web application and the components of the web application can share it.
ServContextListener is a interface which contains two methods: public void contextInitialized(ServletContextEvent event) and
public void contextDestroyed(ServletContextEvent event).
ServletContextListener is notified when the context is initialized. It will be notified when the context is destroyed. It closes the database connection.
The listener ServletContextAttributeListener is an interface and extends the java.util.EventListener class. This listener come into existence when this interface receives notifications of changes to the attribute list on the servlet context of a web application.
HttpSessionListener is an interface which extends java.util.EventListener class. The main purpose of this listener is to notify whenever there is a change in the list of active sessions in a web application..
Before going into the details of the SessionListener we should firstly know about the sessions. Whenever a client makes a request for any resources to the server, the server receives the request and processes the request and sends back the response.
The listener HttpSessionAttributeListener is an interface and extends the java.util.EventListener class. This listener will be called by the container whenever there there will be change to the attribute list on the servlet session of a web application.
This listener is used when we want to know when a attribute has been added in a session, when a attribute has been removed and when it is replaced by another attribute.
HttpSessionBindingListener is a interface which extends java.util.EventListener interface. The purpose of the this interface is to notify an object when it is bound to or unbound from a session.
This interface has two methods: valueBound(HttpSessionBindingEvent event) and valueUnBound(HttpSessionBindingEvent event).
This listener is used when we want to know when a attribute has been added in a request, when a attribute has been removed and when it is replaced by another attribute.
- Inserting Image in a database Table
Consider a case where we want that along with the name of the person and its information, his image should also come with all these things.
- Insert Image into Database Using Servlet
This example illustrate the process of inserting image into database table using Servlet. This type of program is useful in social networking or HR application where it is necessary to save the uploaded photograph of the user.
- Retrieve image from database using Servlet
In this example we will show you how to develop a Servlet that connects to the MySQL database and retrieves the image from the table. After completing this tutorial you will be able to develop program for your java based applications that retrieves the image from database.
- say hello in spanish
In this program we are going to display "hello" in spanish along with the date.
- Accessing Date In Servlet
In this example, we are going to show how we can display a creation date of the session and last accessed date or time and id on our browser. It is very easy to display it on our browser by using the Date class of the java.util package.
- Post Message In servlet
In this example, we are going to implement posting massage to servlet. In the following program, you will learn how to post massage.
- Show Parameter In Servlet
In this section, you will learn how to send and put all parameter names into the table. The following program uses two methods, which is described below.
- Get Parameter Name From Servlet Request
This example illustrates about how to get parameter from jsp page in your servlet. In the jsp (parameter.jsp) page we have taken three input fields having name as firstname, lastname and middle name..
- How to connect to MySql Database from
In this example we will show you how to connect to MySQL database and perform select operation. You will learn the JDBC steps necessary to connect to the MySQL Database and execute the query.
- Servlet Error Message based on user input
In this example user is presented with a screen to enter the name. If the entered name exists in the database its displays the sucess message otherwise it displays the error message. So, you can use Servlet to check the user input against database and display the message to the user.
- Quintessential Servlet
Quintessential servlet is not any special kind of servlet. It is just a proper and appropriate way to write a servlet. This quintessential servlet means that servlet is having accurate way of code written for an organizations servlet.
- Logging Filter Servlet Example
This example illustrates how one can write Logging Filter servlet to provide control over log file. You can have additional controls over these log files and these all are available to use by implementing "Filter" class.
- Context Log Example Using Servlet
This example illustrates about how to use of Context Log in servlet. Context Log is used to write specified message to server log file when servlet is called. In the following JSP page (message.jsp) we have simply taken a text area where user give his/her message and post the form.
- Response Filter Servlet Example
This Example shows how to use of response filter in Java Servlet. Filter reads own initial parameters and adds its value to the response. Use the init-param child element of the filter element to declare the initialization parameter and its value.
- IP Filter Example
The filter provides a basic security mechanism for a firewall to determining what traffic passes through the firewall based on IP address details. This protects the secure network from outsiders.
- Working with Tomcat Server
Apache Tomcat is a famous Servlet container developed at Apache Software Foundation. This software is released under under the Apache Software License.
- Use of Cookie in Servlet
The cookie class provides an easy way for servlet to read, create, and manipulate HTTP-style cookies, which allows servlets to store small amount of data.
- Send a Response Status in servlet
All Response status is defined in HttpServletResponse Class. You can then use constants (
response.SC_OK,response.SC_NOT_FOUND etc..)values to return process status to the browser.
- Read Cookies from
The Cookie Class provides an easy way to read Cookies. You can use getCookies() method to retrieve all the cookies in your servlet program.
- Send Cookies in Servlets
This section illustrates you how to send cookie in servlets. Cookies are small bits of information that a Web server sends to a browser and that the browser returns unchanged after visiting the same page.
- How to read text file in Servlets
In this example we will use the input stream to read the text from the disk file. The InputStreamReader class is used to read the file in servlets program.
- Check if parameter exists in servlets
In this example we will see how to check is parameter exists in servlets request. In this example given below we have used method getParamaterNames() of the ServletRequest interface to find all the parameters name in the clients request.
- Accept Language and Accept Charset in Servlets
Accept Language and Accept Char set provides a servlets to determine the language in which it will speak to the clients. A browser sends the user's language to the server using the Accept .
- Multiple Drop Down Menu Using
In this Example we can Add and Update the Details of Employee using Servlet. We create four file employee.jsp, viewdata.jsp, EmployeeAdd.java and viewdata.java.
- Refresh a Web Page Using In Servlet
In this simplified example we develop an application to Refresh a web Page using Servlet. We create two file timer.html and timer.java.
- How to get client's address in a servlet
This is detailed java code to get client's address in a servlet. In this example we have used method getremoteAddr() of the ServletRequest interface which returns IP address of the client in the string format.
- Search from Database In Servlet
In this section, we have developed an Employee Search application. We created three file search.jsp, viewSearch.jsp and Search.java.
- Header Information available from the client in Servlet
When a HTTP client sends a request, generally GET or POST method is specified. It can send a number of headers.
- ServletContextListener with Timer
In this section, you will learn how to use timer with ServletContextListener to run code snippet after every 1 minute immediate after the application run. In the below eaxmple, we are using ServletContextListener with timer to run code after every 1 min. ServletContextListener immediately starts after code execution. And the Timer class of java.util.Timer is used inside contextInitialized() function, which runs the code after every 1 minute.