I am new to GWT and learning it via the the Google documents. How do I setup GWT with Tomcat? I am required to intergrate it with Tomcat for work purposes.
You can use IntelliJ, NetBeans or any Java IDE you prefer. If you use a Java IDE other than Eclipse, the screenshots and some of the specific instructions in the tutorial will be different, but the basic GWT concepts will be the same.
1.1. The Google Web Toolkit (GWT) is a toolkit to develop Ajax web application with Java. The programmer writes Java code and this code is translated into HTML and Javascript via the GWT compiler. It seems that Google does not actively develop this framework anymore.
A more convenient method to run GWT in Development mode on external tomcat server is as follows. It involves two parts
I will be using following paths and names in this example
First step is to point tomcat to war dir of GWT project. One method to run GWT on external server is to copy static, image files and gwt dir to tomcat/webapps dir. On any changes in server side classes (like rcp etc) or static files we have to copy them again. This will be cumbersome during develpment cycle. Instead we can point tomcat to project's war directory so that tomcat runs the app directly from eclipse workspace. On any changes in project tomcat will do a reload.
To do this, add <appname>.xml (Fins.xml in this example) to $CATALINA_HOME/conf/Catalina/localhost with following content
<Context path="/Fins" docBase="/home/m/workspace/fins/war" reloadable="true"> </Context>
This is actually context.xml file found in META-INF of tomcat application but named as <appname>.xml. In case project use any JNDI datasources, they have to be added to this file.
Now start tomcat. Check that application runs properly. Make some change in eclipse and app will be reload by tomcat. Cross verify the same in tomcat logs.
Now to second part. We can use GWT code sever feature as detailed in GWT Debug
To do this go to "Run As" option in project context menu and select "Web Application (Running on external server)". Enter external server root as Fins and give html page as Fins.html. This will run the GWT app in development mode without running embedded Jetty server.
But it will still point to http://localhost:8888/Fins/Fins.html
. We have to edit Run configuration to change Jetty port 8888 to tomcat's 8080.
Go to run configurations and select Fin.html (external). Change browser field in GWT tab to http://localhost:8080/Fins/Fins.html
Run and access the app at
http://localhost:8080/Fins/Fins.html?gwt.codesvr=127.0.0.1:9997
Now you will be able to use GWT development mode fully.
There is nothing special to do. You just have to compile your gwt project, and export the war folder to the Tomcats webapps folder.
What IDE are you using? If you are using eclipse or similar, and a newer version of tomcat, just export the contents of the war folder as a regular zip archive. Then change the extension from .zip to .war, and copy it to the webapps folder. Restart tomcat, and it will automatically unzip the archive and create the appropriate folder. I.E. the contents of the .war archive might look something like the following:
project_name.war
- css
- images
- WEB-INF
- gwt compiled_javascript folder
- index.html
I use GWT-SDK webAppCreator command (from terminal) and it generates all the files required to run on an external server like Tomcat.
I will provide the steps i followed in order to help others begin with simple GWT-TOMCAT development
TOMCAT
GWT
Congratulations!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With