tags:

views:

170

answers:

3

How do I compile and run a servlet from the Command Prompt?

I got an error when I tried to compile using Apache Tomcat 6.0.16.

What is the exact command I should be using?

A: 

What I would suggest, is reading some tutorials. Here are a few pointers:

  • servlets require a servlet-container (Tomcat, for example) in order to execute. They are server-side components whichi handle HTTP requests.
  • in order to compile a servlet you need the servlet-api in your classpath. Tomcat has this api in its libs, but Tomcat cannot itself compile servlets - javac does.
Bozho
dANKS much Mr.Bozho..bt ma doubt is whether i hav to include path for jdk or tomcat..or else both..
Bhuvana Nagulan
you have to include the path to servlet-api.jar, and use javac to compile
Bozho
A: 

If you just want to compile it for the sake of seeing if it is syntactically correct you can compile it like any other Java source file with javac. You just need to make sure that any dependency jars are included on the classpath. For standard servlets this is typically standard.jar and jstl.jar which is distributed with tomcat. So something like:

javac -classpath C:\deps\standard.jar;C:\deps\jstl.jar MyServlet.java

You can typically find the dependency jar files at:

  • tomcat/webapps/examples/WEB-INF/lib/jstl.jar
  • tomcat/webapps/examples/WEB-INF/lib/standard.jar

You can copy these to your project directory or just add them to your classpath directly.

If you're still having problems beyond this post the specific error output you're getting as BalusC suggested.

Jeremy Raymond
danks much neosonic..
Bhuvana Nagulan
Bt ma doubt is whether i hav to include path for jdk or tomcat..or else both..
Bhuvana Nagulan
+1  A: 

How do I compile and run a servlet from the Command Prompt?

For the first part of the question, you'll need to put the servlet API on you classpath:

javac -cp $TOMCAT_HOME/lib/servlet-api.jar *.java

For the second part, what you are trying to achieve is a bit unclear. A Servlet is intended to be packaged in a WAR and deployed in a Servlet container (like Tomcat). A Servlet doesn't have a main() method, it's not intended to be run on the command line.

Actually, you should start with a good tutorial like Introduction to Developing Web Applications and get some IDE support. NetBeans is not my favorite IDE but they have very good educational material and, in your case, I think it would be a good starting point.

Pascal Thivent
okei..danks Mr.Pascal..but actually ma doubt is whether i have to mention jdk path or tomcat path or else both..
Bhuvana Nagulan