How do i publish my Java code to localhost using Tomcat 6? - java

I'm very new to programming and i'm too lost.
I wrote a simple Java code on Eclipse (2 Classes) without any GUI and i want to access this simple Java App from any device in my LAN using a browser.
According to what i found on Google and Stack Overflow, Tomcat might help me.
Tomcat 7 didn't work on my Eclipse, so i'm using version 6 of it.
How can i make a GUI for my app?
And what do I need to be able to publish it using Tomcat?
Any help will be appreciated.
Thanks Everyone in Advance.

Tomcat is an application server. It means that you can write an application and then deploy it to a server (for example Tomcat). Then this application will be accessible on the server by some URL (for example http://localhost:8080/AwesomeApplication).
It only makes sense for web applications that handle some requests. You can't deploy an application with GUI, or simple console application to Tomcat or any other app server.
In language of final file representing your app - it must be a WAR file.

Related

Do I need a Java Server (Tomcat, Jetty etc) for an electron-webapp with Java background?

I wanted to create a Java web app with electronJS front-end. Electron would technically communicate with the Java server for loading data. The Server would be responsible for managing users and sending data stored on a database to electron.
I read about web apps that are made with java and the many servers (glasfish, tomcat, etc.) I do not really know if it's needed for my project.
My idea was to create the back-end in Java and host it on a machine that is 24h online. I don't really understand the point of Tomcat etc.
Thank you for your help (:

Transferring java application to server

I have created a java application in intellij ide. The application is working well. Now that my application is ready I want to transfer my java application from my machine to server and make it live. I have one server, domain and all the basic rights in the server. Can any one help me figuring out?
I am very new in this part. I dont know anything about hosting my own website and application.
The answer depends on what technology you use. If you use application that needs to be deploy into servlet container you can deploy it onto e.g. Tomcat.
Whatever technology you use you definiately should build your application - it also depends on what building system you use.
E.g.fFor gradle, you can use gradlew build.
For maven: mvn compile.
Tell us more details about technology you use to allow us to help you.
You have a java application (Dropwizard) and first need a server to run it on, which means that it must be a server with java installed or where you can install it yourself.
Then you need to transfer the application "fat" jar (typically you find this in the target directory, depending on how you built it) to this server and start it with java -jar my-application.jar.
Then you need to make sure that the port that the application runs on is available externally. This usually means that you need to have a web server installed (commonly nginx or httpd) which redirects from port 80 or 443 to the port of your application.
Only then is you app "live".

Can I write a GWT application together with my normal Java application?

I already have an Java application running on client site.
This application currently does not have any UI. What it does is just transforming data for the client behind the scene.
We need to regularly upgrade the application.
Now we would like to add a UI using GWT.
My question is
Can I include GWT directly into my current application, as a whole?
I mean, my current Java application start from main(). On client side, we just execute java Application (simply say). After we have our GWT part, we really want everything still the same. On client side, we don't need to let client or we ourselves install many new things.
So ideally, after we finish our GWT part, for client, still, our application is one application and the way to launch is only java Application
We don't want to tell client that we need a TomCat server to be seperately installed.
We don't want client feel troublesome and it seems now we need to maintain multiple packages, etc.
You need a web-server to serve you GWT application, orelse it can not communicate with local Java app. As you run GWT-compiled Javascript in a browser, it can't access to your local machine resources.
It can be a Tomcat running on localHost or you could use Google App Engine. You can't run a GWT app like a Java Swing application.
But relax... Tomcat is not that troublesome and does not require more package that what is already in it.

Java Application running as web service communicating with Java EE app on Glassfish

I have a stand alone Java application that needs to get information (string data) from a Java EE application, running on a Glassfish 3.1 Application server. I have created a web service for my Java app, but I'm wondering how I could achieve communication with the Java EE glass fish app (using servlet?).
I hope to have a method on my app that can be called from, for example, a client running on glassfish (and vice-versa). This method would have something like a String array as parameter, so that I would be able to pass the data between the apps.
Note: I am unable to deploy my app on Glassfish, since we are trying to achieve separation till we are sure the application I am developing will not cause Glassfish to crash ( we currently have other critical apps running on Glassfish). Also note that this is all taking place on the same machine.
You should develop a web service and deploy it on Glassfish within your existing application. You can do this via a Servlet based web service, or a Session Bean web service, whichever is more appropriate for you.
You will then create a web service client against that web service for your Java app, and integrate it appropriately with calls to the servers via the web service.
Of course, this should all be done against development servers, not your production servers. Glassfish can be deployed pretty much anywhere: your machine, another machine, a VM, in "the cloud". Not having a development server available for, well, development is unacceptable. There is no way you can determine if your app will "crash Glassfish" unless you can test it.
To quote the esteemed Donald Knuth: "I have only proved it correct, not tried it."
Get a test server, develop against it. Move forward.
Have you looked at the URL class.
try this url Java URL example
This may help

Run Tomcat from Java Web Start

Is it possible to distribute Tomcat by Java Web Start and run it from there?
My application shall run within its own Tomcat server on the machine it is deployed on. Can I package Tomcat and the client application into one Java Web Start archive and run the Tomcat server and the client once the user has
downloaded the Java Web Start archive?
You cannot run a full blown Tomcat as it expects a certain layout in the filesystem and scripts and more.
You can however run an embedded web server in an application where you control it completely. I have done that with Jetty. You might find Howto embed Tomcat 6? interesting.
This might be possible if you signed all the jars correctly. But, it seems like this is quite a heavyweight solution. Have you considered doing this with Jetty?

Categories