Link to home
Start Free TrialLog in
Avatar of ikan
ikan

asked on

How to compile a Java file to Servlet?

Hello,

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?
Avatar of Mick Barry
Mick Barry
Flag of Australia image

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.
Avatar of raid999
raid999

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

http://www.sitename.com/serlvet/nameofservlet

the .java file will automatically compile if you have the servlet.jar in your classpath
Avatar of ikan

ASKER

Hi,

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:
_____________________________________

C:\jdk1.3.1_02\bin>dir/w
 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

C:\jdk1.3.1_02\bin>

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.


ASKER CERTIFIED SOLUTION
Avatar of raid999
raid999

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ikan

ASKER

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?
Avatar of ikan

ASKER

Windows 2000 Advanced Server, but i don't think it's related with OS.
Sometimes wonder why I bother :-(