[Webinar] Streamline your web hosting managementRegister Today

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 362
  • Last Modified:

How to compile a Java file to Servlet?


Currently need to developer my java code to a Servlet. (.java => .class). So, what is the exact method of doing this? I'm using Tomcat 4.0 & JDK 1.3.

and what is the advantages of using Servlet?
  • 4
  • 3
  • 3
1 Solution
You compile a servlet in exactly the same way you compile any Java file. You'll need to have j2ee installed, or alternatively you can just include servlet.jar from tomcat in your compile classpath.
A servlet needs to implement the javax.servlet.Servlet interface, and generally you'll extends HttpServlet.

> and what is the advantages of using Servlet?

Advantage over what?
Generally faster than CGI at it doesn't need to load for each request.
What i know is that you have your servlet in the servlets folder like WEB-INF/CLASSES  and then you call the servlet like this


the .java file will automatically compile if you have the servlet.jar in your classpath
[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

ikanAuthor Commented:

I already put the servlet.jar in the WEB-INF/CLASSES folder but still nothing working. I tried using the javac.exe from {JDK} folder to compile it but get error:

Here are some of the output in DOS screen:

 Volume in drive C has no label.
 Volume Serial Number is 2141-16E6

 Directory of C:\jdk1.3.1_02\bin

[.]                      [..]                     HtmlConverter.bat
appletviewer.exe         dt_shmem.dll             dt_socket.dll
extcheck.exe             idlj.exe                 jar.exe
jarsigner.exe            java.exe                 javac.exe
javadoc.exe              javah.exe                javap.exe
javaw.exe                jdb.exe                  jdwp.dll
keytool.exe              native2ascii.exe         oldjava.exe
oldjavac.exe             oldjavaw.exe             oldjdb.exe
policytool.exe           rmic.exe                 rmid.exe
rmiregistry.exe          serialver.exe            tnameserv.exe
unregbean.exe            HelloWorldExample.java
              30 File(s)        655,771 bytes
               2 Dir(s)   5,353,418,752 bytes free

C:\jdk1.3.1_02\bin>javac HelloWorldExample.java
HelloWorldExample.java:8: package javax.servlet does not exist
import javax.servlet.*;
HelloWorldExample.java:9: package javax.servlet.http does not exist
import javax.servlet.http.*;
HelloWorldExample.java:17: cannot resolve symbol
symbol  : class HttpServlet
location: class HelloWorldExample
public class HelloWorldExample extends HttpServlet {
HelloWorldExample.java:20: cannot resolve symbol
symbol  : class HttpServletRequest
location: class HelloWorldExample
    public void doGet(HttpServletRequest request,
HelloWorldExample.java:21: cannot resolve symbol
symbol  : class HttpServletResponse
location: class HelloWorldExample
                      HttpServletResponse response)
HelloWorldExample.java:22: cannot resolve symbol
symbol  : class ServletException
location: class HelloWorldExample
        throws IOException, ServletException
6 errors


So, how to solve this problem exactly? Any references?
> I already put the servlet.jar in the WEB-INF/CLASSES
>  folder but still nothing working.

Don't believe that necessary.
It's already available in your Tomcat distribution.

> I tried using the javac.exe from {JDK} folder to compile
> it but get error:

You need to make servlet.jar available to javac.
You can do this by adding it yto your classpath, or simply copying it to the 'ext' folder of your JDK.

ok let us say that your servlet.jar is in c:/JAR
you go to CMD if you are using Windows and then type

that should work.

and also have a look at this site
ikanAuthor Commented:
Hi guys,

Sorry for the late reply, I was able to compile a java file by using this:

C:\jdk1.3.1_02\bin\javac.exe -classpath C:\jakarta-tomcat-4.0.3\common\lib\servlet.jar C:\jakarta-tomcat-4.0.3\webapps\test\WEB-INF\classes\HelloWorld.java

Can this be simplify?

and i'm very confuse on the difference between Servlet and Java Bean, can Servlet return some value? How can i call a servlet in jsp, then display the return value from servlet in HTML?

Lot of question here but hope someone can explain them to me, thanks.
windows 2000 or what?
ikanAuthor Commented:
Windows 2000 Advanced Server, but i don't think it's related with OS.
Sometimes wonder why I bother :-(

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now