How to Configuring Tomcat 6 in Eclipse

Steps for configuring Tomcat 6 in Eclipse

  1. Download Eclipse and extract it into a folder. (I have downloaded Eclipse-Galileo [Eclipse IDE for Java EE developers] from and extracted in into D:\Eclipse )
  2. Download Tomcat 6.0( ->Core->zip) and extract it into a folder. (I have extracted it into D:\apache-tomcat-6.0.20)
  3. Download JDK 6 ( -> JDK 6 Update 16 with Java EE ) and install it into C:\Program files\java\jdk1.6
  4. Open eclispe by double clicking eclipse.exe
  5. Create a workspace
  6. In windows->Preferences->server -> run time environment
    • Click add, select the Tomcat v6, click Next
    • Set the Tomcat installation directory (for me it is D:\apache-tomcat-6.0.20)
    • Set the JRE by clicking Installed JREs -> Add -> Standard VM -> set the JRE home to JDK folder (path in step 3)
    • Click finish
    • Select the newly added JRE and click Ok
    • Select the newly added JRE from the drop down of JRE and click Finish
  7. At the top right corner of eclipse there is a button ‘Open perspective’. Select Java EE perspective.
  8. If you can’t see ‘Server’ tab at the bottom, select Windows->show view -> server
  9. In the server tab at the bottom, Right click -> New Server -> Select the Tomcat v6 and click Finish

If you want to run the tomcat manually from command prompt then set the environment variable JAVA_HOME to jdk path ie the path in step 3

Tomcat 6 + Eclipse 3.5 on Ubuntu 9.10

There are 2 ways to install Tomcat on Ubuntu: automatically from repository and manually from Apache.

1.Install from repository (tomcat6-admin and tomcat6-webapps are optional)

sudo get-apt install tomcat6 tomcat6-admin tomcat6-webapps

then start/stop/restart tomcat with following command

/etc/init.d/tomcat5.5 start
/etc/init.d/tomcat5.5 stop
/etc/init.d/tomcat5.5 restart

The problem is that you cannot configure Eclipse to work with it because conf and lib are under different directories. So for development machines, you might want to install it manually. In case you have installed it from repository, you can remove it with

sudo apt-get –purge remove tomcat6 tomcat6-admin tomcat6-webapps

2.Install Manually
download tomcat from Apache

tar -zxvf apache-tomcat-x.x.xx.tar.gz
sudo mv apache-tomcat-x.x.xx /opt/
ln -s apache-tomcat-x.x.xx tomcat
sudoedit ~/.bashrc

add this line

export CATALINA_HOME=/opt/tomcat

start/stop tomcat with


To use tomcat manager, you have to configure users.

sudoedit /opt/tomcat/conf/tomcat-users.xml


<user name=”admin” password=”admin” roles=”manager,admin” />

right before </tomcat-users>

Integrate Tomcat into Eclipse
Server->Runtime Environments->Add->
Apache Tomcat V6.0->Next->

Simple Struts 1.3.10 on Tomcat 6 Tutorial

I started working through Hightower’s tutorial available as a free pdf from and am having a few problems. I will record fixes as I encounter problems. Note that Struts version 1.3.10 has changes whereas the Hightower tutorial, Jakarta-Struts Live, is for version 1.1. I am also working with Tomcat 6 (apache-tomcat-6.0.18) , ant (apache-ant-1.7.1) and Java 6 (jdk1.6.0_04) . The fixes I am describing are what I am getting to work on the above-described configuration. I am not saying that the tutorial is wrong for Struts version 1.1.


On page 4 where he is discussing setting up on a Tomcat 5 server, note that Tomcat 6 has changed the previous directory structure $TOMCAT_HOME/common/lib/ to just $TOMCAT_HOME/lib/ … there is no longer a common directory present.

On page 17 where we are writing our first action form, note that the class ActionError is no longer available in Struts 1.3.10 and one must use ActionMessage instead. So, in the code for the UserRegistrationForm class, comment out ‘import org.apache.struts.action.ActionError;’ and add ‘import org.apache.struts.action.ActionMessage;’ … Also later on, swap out ActionError in the validate method with ActionMessage.
On page 20 where we are writing our first input view (jsp page), we ignore any of the changes to the web.xml file with regard to the additions. Also, still in #2 on that page, we do the directives in the jsp differently. Instead of
‘<%@ taglib uri=”/tags/struts-html” prefix=”html”%>’
use the following namespaces for the uri, like this:
‘<%@ taglib uri=”” prefix=”html”%>’
‘<%@ taglib uri=”” prefix=”bean”%>’
I spent a lot of time diddling around with this and from what I read in the google searches, a lot of other people have wasted time too. This is because the tld’s are packaged in the struts-taglib-1.3.10.jar file which is in the lib directory in WEB-INF in the struts-blank app. The servlet api has now made it easy to find the tlds in the jar file provided they were packaged properly (see the Struts site for instructions for a proper configuration or look at the jar file in the distribution). Note that including taglib information in web.xml will result in the application not being able to find the tlds.

Since version 1.2.8 the ‘cancellable=”true”‘ statement must be placed in the action tag path=”/userRegistration” in struts-config.xml. Otherwise, hitting the cancel button results in exception.

As an FYI Hightower notes that, although he is using an HSQL database, “You
should be able to use any database that has a suitable JDBC driver.” … which should be true but in this example, the name of the table, USER, isn’t going to work on an Oracle database because USER is a reserved word. Hence I changed the name of the table to STRUTSUSER since I was using an Oracle database.

On page 30 of the tutorial the code uses the method getDataSource which is not present on the Action class in version 1.3.10. I found a discussion at JavaRanch and will use a DAO which in turn will use JDBC to get a connection to the database. This is good for separation of concerns and is immediately valuable for unit testing the DAO independent of the rest of the application (always a good thing!). Nevetheless, this makes the datasource-relevant information, which was added to struts-config.xml, irrelevant and for me the entire Struts 1.X version somewhat dysfunctional and even more reason to use Struts 2.x version or, its evolved form (Spring… :). Having just coded the DAO and using raw JDBC for database manipulation, I am reminded of how easy Spring makes database manipulations because it saves you from TCFTC (Try-Catch-Finally-Try-Catch).

Oh, and yes, at this point forget about letting Struts handle any database connection pooling …
Now that we’re not even using Struts to manage database connections, it’s not going to see any sql exceptions either(we’re catching sql exceptions in our DAO) so we need to find another way to worry about exception handling by Struts.


This works as described in the tutorial but remember to use the uri discussed above for the bean tag.


As discussed above, the logic tags directive would look like this:
<%@ taglib uri=”” prefix=”logic”%>


Having suffered through the early versions of EJB I am reminded of one of the reasons why developers created their own lightweight frameworks, like Struts and Spring – to enable unit testing the POJOs (the domain-object model) without the container obstructing the tests. For those not familiar with the history of that era, I recommend Bruce Tate’s “Don’t Make Me Eat The Elephant Again.”
PAGE 59: Using StrutsTestCase (Mock Mode) Step-by-Step

I will be using strutstest-2.1.4.jar

How to install Tomcat 6 on Ubuntu 9.04

Apache Tomcat is a free and open source software implementation for JavaServlets, providing support for Java Server Pages (JSP). Many popular web-based applications use servlets. You may choose to run Tomcat with either Sun’s Java implementation or the OpenJDK implementation of Java.

Because Tomcat version 6 was included in Ubuntu 9.04, installing a working Tomcat server is reasonably straightforward. However, before we can start installing Tomcat itself, we must first install Java.

First Install Sun Java in ubuntu 9.04

Install tomcat 6 in ubuntu 9.04

sudo apt-get install tomcat6 tomcat6-admin tomcat6-common tomcat6-user tomcat6-docs tomcat6-examples

This command downloads and install the following packages

tomcat6 : Servlet and JSP engine

tomcat6-admin : Admin web applications

tomcat6-common : Common files

tomcat6-user : Tools to create user instances

tomcat6-docs : Example web applications

tomcat6-examples : Example web applications

To start, stop,  restart and get the server status

Start tomcat server

sudo /etc/init.d/tomcat6 start

Stop tomcat server

sudo /etc/init.d/tomcat6 stop

Restart tomcat server

sudo /etc/init.d/tomcat6 restart

Get tomcat server status

sudo /etc/init.d/tomcat6 status

After installation type http://localhost:8080  or http://serverip:8080/examples/servlets/ in your browser.Now you should see tomcat welcome page

* To enable admin web based features add the following lines to your /etc/tomcat6/tomcat-user.xml

<role rolename="manager"/>
<role rolename="admin"/>
<user name="admin" password="secret_password" roles="manager,admin"/>

* you should be able to see your manage page here http://your_ip_goes_here:8080/manager/html

* log in with the name and password you just set in /etc/tomcat6/tomcat-user.xml

* ls /var/lib/tomcat6 directory.

* you should see these directories conf, logs, webapps, work

* webapps is where your servlets will go ( or at least a xml file that points to them )

* as a test download this war file

* then use the tomcat management page and select war file to deploy ( in teh deploy section) to upload this file to your server

* optionally just wget directly to the webapps folder

* tomcat should recognize the war file and expand it with everything you need

* browse to http://serverip:8080/SimpleServlet/

Change tomcat server to run on port 80

If you want to Change tomcat server to run on port 80 follow this procedure

You need to edit the /etc/tomcat6/server.xml file

nano /etc/tomcat6/server.xml

Now replace the part that says Connector port=”8080? with Connector port=”80?

Save and exit the file

Restart tomcat server with the following command

sudo /etc/init.d/tomcat6 restart