Use Of Tomcat Server

    57 - Comments

Born out of the Apache Jakarta Project, Tomcat is an application server designed to execute Java servlets and render web pages that use Java Server page coding. Accessible as either a binary or a source code version, Tomcat’s been used to power a wide range of applications and websites across the Internet. Apache Tomcat is one of the most widely-used servers in the realm of Java applications. Apache Tomcat is an open-sourced server that is often used for important web applications for enterprise users. However, as with all virtual technology, using Apache Tomcat comes with a responsibility to monitor it properly.

Tomcat is serving an HTML file from the file system, which is an instance of Tomcat's Coyote engine acting as a web server. You are free to explore the examples presented-they give you a good. Apache Tomcat is an open-source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements several Java EE specifications including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, and provides a “pure Java” HTTP web server environment for Java code to run in. Tomcat’s Architecture. The Apache Tomcat Maven Plugin provides goals to manipulate WAR projects within the Apache Tomcat servlet container. The binaries are available from Maven repositories. You should specify the version in your project's plugin configuration.

Update for 2020! We’ll Cover a Total of 9 Reasons to Use Tomcat in This Post.

Use of tomcat server

Born out of the Apache Jakarta Project, Tomcat is an application server designed to execute Java servlets and render web pages that use Java Server page coding. Accessible as either a binary or a source code version, Tomcat’s been used to power a wide range of applications and websites across the Internet. At the time of writing, it’s definitely one of the more popular servlet containers available.

Don’t take my word for it, though – why not give it a try yourself?

Here are five of our favorite uses for Apache Tomcat server to run your website’s Java applications – and a few reasons it’s a great choice for you.

It’s Incredibly Lightweight

Apache server vs tomcat server

Even with JavaEE certification, Tomcat is an incredibly lightweight application. If offers only the most basic functionality necessary to run a server, meaning it provides relatively quick load and redeploy times compared to many of its peers, which are bogged down with far too many bells and whistles. This lightweight nature also allows it to enjoy a significantly faster development cycle.

Of course, if you’re looking for a feature-rich application server, then Tomcat might not be the best choice for you. If you just want a quick-and-easy means to run your applications, though? Go with Tomcat – you won’t regret your choice.


It’s Open-Source

For me, open-source always counts as a win. Tomcat’s free, and the source code for the server is readily available to anyone who’d care to download it. What this means is that – assuming you’re willing to tinker with the moving parts of your server – you’ve got an incredible degree of freedom insofar as what you want to do with a Tomcat installation.

It’s Highly Flexible

Thanks to its lightweight nature and a suite of extensive, built-in customization options, Tomcat is quite flexible. You can run it in virtually any fashion you choose, and it’ll still work as intended. The fact that it’s open-source helps as well, since you can tweak it to fit your needs, provided you’ve the knowledge to do so.

Your Server Will Be More Stable

Tomcat is an extremely stable platform to build on – and using it to run your applications will contribute to your server’s stability, as well. This is because Tomcat runs independently of your Apache installation – even if a significant failure in Tomcat caused it to stop working, the rest of your server would run just fine.

It Offers An Extra Level Of Security

Many organizations choose to position their Tomcat installation behind an extra firewall, accessible only from the Apache installation. In short, depending on how you implement your Tomcat installation, it can add an extra layer of security to your server – which is never a bad thing.

It’s mature

Tomcat has existed for nearly 20 years, allowing it to mature over time. As open-source software maintained by the open source community, new releases and updates come out regularly. Tomcat’s maturity has turned it into one of the most stable application servers for software development and deploying Java applications. It is a stable option that has grown with great community support.

It’s well-documented

Tomcat has a variety of good documentation available, including a wide range of online tutorials that can be viewed or downloaded. This makes it a popular choice to fill the role of an application server in almost all Java web applications. Whether you are looking for startup settings, hardening and security guides, installation instructions, or server configuration notes, Tomcat has you covered.

It’s the most widely used Java application server

Tomcat is estimated to hold over 60 percent of the market share of all Java application server deployments, making it the most popular application server used with Java web applications. Technically, it does not implement all the features required of a Java EE application server, but it does enable you to run Java EE applications. Tomcat acts as a “webserver” or “servlet container,” However, that’s more of a terminology stipulation than anything else.

It’s geared towards Java-based content

In contrast to Apache HTTPS Server, Tomcat was developed to offer the JSP functionality not available through Apache HTTPS Server. The latter is better suited for handling both static and dynamic (and usually PHP-based) web content but does not have the ability to manage Java Servlets and JSP.

The best part is that both can be run side by side for projects involving both Java and PHP-based content. In that case, Apache can handle static and dynamic content and Tomcat can handle the JSP. For sites entirely built on JSP, Tomcat is the best bet.

As a Java Servlet container that provides extended functionality to interact with Java Servlets, Tomcat is a powerful option to execute Java servlets and render web pages that use Java Server page coding. Tomcat enables a pure Java web server environment, bringing together Java-based technologies to run applications built on Java programming language. While its flexibility and interoperability enable Apache Tomcat to behave as a web application server under certain conditions, its true identity is primarily as a Java servlet container.

As a lightweight, highly flexible option, Tomcat enables quick load and redeploy times without sacrificing built-in customization options. In addition to providing stability, it also offers extra security for organizations that choose to position their Tomcat installation behind an extra firewall. Developers looking to run applications that operate seamlessly and fast should consider Tomcat as an option.

Matthew Davis

Matthew Davis is a technical writer and Linux geek for Future Hosting.

This topic describes how to set up and use a Tomcat server with the Workshop family of products. The topics discussed here are:

This topic assumes that you already have a server installed locally on your development machine, or on a server available for development. For information on installing, setting up and managing the server, consult the Tomcat documentation.

Defining the Server Inside the IDE

To define a server:

  1. Before you run an application for the first time, the Run > Debug command allows you to define your server.
  2. To define a new server, right click on J2EE Server and choose New.
  3. On the next screen, first specify a name for the server in the Name field. This name is for internal use in the IDE only.
  4. Next, click New to specify the server type.
  5. Choose the server by expanding Apache and choosing the appropriate server. Click Next to continue.

  6. In the next dialog, you must specify the Tomcat settings.

    Note that you must specify the full JDK (not just the JRE that is the default).

  7. Fill in the appropriate values and click Finish to continue.

  8. You will be returned to the Debug dialog. Click (beside the Deployed Projects box) to specify which projects will be deployed to this server.
  9. After you click Finish, the projects will be listed in the Deployed Projects box.

    Note that the first project is automatically selected in the Select Project to Debug field. You can use the pull-down to specify which project will be debugged.

    Only one project at a time can be debugged on the server. The project that is currently allowed to run in debug mode is the project displayed in the Select Project to Debug field. You are not required to run this project in debug mode, but if you wish to debug another project on the server, you must change this setting before debugging the application.

  10. Note the Connection Type default setting is for local servers that are managed within the IDE. Click Apply and the server definition is complete. A new server entry appears in Servers view.
  11. If you wish to debug your application at this point, click Debug to run the selected application in debug mode. Otherwise, click Close.

Updating the Server Definition

To update the definition for a server:

How To Start Tomcat Server

  1. Double click on the server name in the Servers view to see the Server Overview.

    From Server Overview you can view and set deployment and runtime properties.

    Note the Run module directly from the workspace option. This is a WTP feature that normally allows you to run your application in 'exploded' mode where the application runs directly from your workspace. For Tomcat, WTP never creates a WAR file for deployment. Checking Run modules directly from the workspace means that Workshop will keep a copy of the Tomcat config in the workspace, while un-checking this option means that Workshop will modify the 'master' config in the Tomcat installation.

    Click here for information on manual deployment.

    If you select Enable security the Tomcat server will run as an HTTPS server (not the default HTTP), but only if you have un-commented the <connector> element (<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->) in the server.xml file.

    The Enable Tomcat debug mode checkbox is ignored by Workshop.

Hot Deployment

Workshop supports hot deployment of JSPs and other artifacts like Struts actions.

If you update a JSP, changes are automatically published to the server and you can simply click the Refresh button to see them running live on the server. Other changes are automatically deployed and the application is restarted as necessary.

Accessing Artifacts Outside the Project

For Tomcat servers, Workshop integrates Sysdeo DevLoader which allows web project to use libraries/classes either from dependent projects or from external location (i.e. outside of project's WEB-INF/classes or WEB-INF/lib folder). Workshop detects the external references and does the following:

  • Installs the DevLoader into the Tomcatserverclasses folder.
  • Creates the .#webclasspath file within the project's /WebAppRoot containing a list of all external references.

How To Stop Tomcat Server

Note that Sysdeo DevLoader works in both exploded (the Run modules directly from the workspace option on the Server Overview) and WAR deployment.

Deploying Applications Manually

Manual deployment is not supported on Tomcat servers.

Using Remote Debugging

To debug on a remote server (or on a local server which is started and managed OUTSIDE of the IDE), you must configure the server for remote debugging, deploy the application manually and then define the remote server's address.

Step 1: Configuring the Server to Allow Remote Debugging

Configuring the server for remote debugging is a feature of the server. This information is provided for your convenience. For definitive documentation, consult your server documentation.

Tomcat 4.x -5.0

For Tomcat 4.1.x, the IDE uses standard JPDA and self-generated line maps.

For Tomcat 5.x, the IDE uses standard JPDA and self-generated line maps. The JSR-45 debug information has to be disabled by placing the following servlet in the application web.xml file:

Open Tomcat 5.0bincatalina.bat (or Tomcat 4.xbincatalina.bat) on Windows or the equivalent shell script on Unix and define environment variable at the start of the BAT file:

Start the Tomcat server using following command:

The Tomcat Server console should display this message:

Tomcat 5.5

Tomcat 5.5 no longer ships catalina.bat on Windows platform. You can reuse the batch files from the Tomcat 5.0 release by copying over catalina.bat, setclasspath.bat . A Windows application called tomcat5w.exe shipped in Tomcat 5.5 is supposed to provide users a GUI to customize the Tomcat Server startup parameters. But in our test, adding the following in the tab Java > Java Options

to enable remote debug did not seem to work.

Step 2: Preparing the Application for Remote Debugging

Before attempting to debug an application on a remote server, you must:

  1. Build the application (not required if Build Automatically is set).
  2. Deploy the application manually. You can deploy as an exploded application or use a WAR or EAR file to deploy.
  3. Clear, the work/temp directory to remove files without debug information.
  4. Make sure the deployed application version matches with the one in IDE.

Step 3: (Optional) Enabling JSP Servlet Source Debugging on Separate Server

When remote debugging an application on a physically separate machine, the debugger will hit JSP breakpoints but the IDE will not show the correct source line in JSP, becasue Workshop is trying to locate JSP servlet source for line mapping but the files are not available to the IDE.

To enable source debugging of servlets on a separate server, map the following directory (on the remote server) to a local directory, and use the Source Lookup Path dialog, or the Source tab in the Launch Configuration dialog (the Run > Run command), to add the mapped directory to Source Lookup Path.

For Tomcat, all versions, map the directory
C:Tomcat 5.0workCatalinalocalhost_

Step 4: Defining the Remote Server and Debugging the Application

Application Tomcat Server

To define a remote server:

Tomcat Server Download

  1. Define the server.
  2. Click Run > Debug to modify the server definition for remote operation. Click on the name of your server under J2EE Server.

    Change the Connection Type to Standard (Socket Attach) and specify the Host and Port.

  3. The Allow termination of remote VM checkbox is not recommended because it allows the IDE to do a hard stop of the server, even if the server is in mid-transaction.
  4. Click Apply to save your changes. (The screen shot below demonstrates a 'remote' server that is actually installed locally but managed outside the IDE.)
  5. Click Debug to run the application in debug mode.

Tomcat Application Server

Note that when debugging an application on a remote server, you must not disable the Run module directly from the workspace option when you update server settings.


Use Of Tomcat Server In Eclipse

Breakpoints Not Hit on Tomcat 5.5 (Linux Only)

When debugging with Tomcat 5.5 on Linux operating systems you may receive the error message:

This message occurs when JSR45 is not disabled in the first run before the JSP servlet is compiled.

To resolve the problem for subsequent runs, touch a JSP in the application in order to force a recompile.

Recent Pages