Compiling Servlets: javax.servlet package unknown

Hello everybody,
I'm new to J2EE technology and would like to start with creating servlets, but the javac compiler can not compile my java class succesfully, cos' it seems, it does not know the javax.servlet package.
In each documentation is just a sentence: run javac ... But it does not work.
Do I have to have some special configuration? I also downloaded the J2EE SDK, but the problem resisted.
Help me, please!
Thanx, Peter

Hi peter,
If you have installed the J2EE SDK 1.4, you would find $INSTALL_ROOT/lib/j2ee.jar (INSTALL_ROOT means the installation directory of J2EE SDK). PLease keep this j2ee.jar in the classpath and compile, things would be fine.
regards
sankar

Similar Messages

  • Compiling servlets - package javax.servlet not found

    I can't seem to get the previous questions on this topic - get a page error. I've recently installed j2ee1.4 and j2sdk1.4.1_01 on Win98. I think I've set the CLASSPATH and PATH correctly (and JAVA_HOME). What have I missed?

    servlet.jar in your classpath...

  • Can't find the servlets package when compiling

    Hi,
    My problem is that when I compiling my servlets so can't the compiler find the two packages javax.servlet and javax.servlet.http.
    Why?
    Please can someone help me with this problem!
    HelloServlet.java:2: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    HelloServlet.java:3: package javax.servlet.http does not exist
    import javax.servlet.http.*;

    OK,
    It seems like it will work with your proposal to. But now I have a new problem that you maybe can solve for me. That is when I try to test the following (from the book More Servlets and JavaServer Pages):
    Test 3: A Servlet That Uses Packages and Utilities
    The final servlet you should test to verify the configuration of your server and development environment is one that uses both packages and utility classes. HelloServlet3.java is a servlet in the moreservlets package that uses the ServletUtilities class to simplify the generation of the DOCTYPE (specifies the HTML version--useful when using HTML validators) and HEAD (specifies the title) portions of the HTML page. Those two parts of the page are useful (technically required, in fact), but are tedious to generate with servlet println statements.
    Since both the servlet and the utility class are in the moreservlets package, they should go in the moreservlets directory. If you get compilation errors, go back and check your CLASSPATH settings--you most likely forgot to include the top-level development directory. I've said it before, but I'll say it again: your CLASSPATH must include the top-level directory of your package hierarchy before you can compile a packaged class that makes use of another class from the same package. This requirement is not particular to servlets; it is the way packages work on the Java platform in general. Nevertheless, many servlet developers are unaware of this fact, and it is one of the (perhaps the) most common errors beginning developers encounter.
    Once you compile HelloServlet3.java (which will automatically cause ServletUtilities.java to be compiled), put HelloServlet3.class and ServletUtilities.class in install_dir/webapps/ROOT/WEB-INF/classes/moreservlets. Then, access the servlet with the URL http://localhost/servlet/moreservlets.HelloServlet3. You should get a simple HTML page that says "Hello (3)".
    This works not for me! I will get this message when I try to compile HelloServlet3.java:
    C:\Apache-Tomcat-4.1.27\ServletsDevel>javac HelloServlet3.java
    HelloServlet3.java:23: cannot resolve symbol
    symbol : variable ServletUtilities
    location: class moreservlets.HelloServlet3
    out.println(ServletUtilities.headWithTitle(title) +
    ^
    1 error
    Do you know what the problem is?

  • Cannot find javax.servlet package

    I have just downloaded and installed the latest JEE SDK having installed Tomcat on a Linux box so that I can start getting to know JSP.
    I am following an example in a book I have for this Servlet...
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.IOException;
    public class BasicServlet extends HttpServlet {
         public void doGet (HttpServletRequest req, HttpServletResponse res)
              throws IOException {
              ServletOutputStream out = res.getOutputStream();
              res.setContentType("text/html");
              out.println("<html><head><title>Basic Servlet</title></head>");
              out.println("<body>Hello World</body></html>");
    I am using Textpad to write and compile my java and when I try to compile I get errors basically saying that it cannot find the first 2 packages I am trying to import (it manages to find the IOException fine)
    Any ideas why? I suspect that the servlet package is not in the classpath but I do no know where the package is in order to add it to my class path.
    many thanks

    I have just downloaded and installed the latest JEE
    SDK having installed Tomcat on a Linux box so that I
    can start getting to know JSP.
    I am following an example in a book I have for this
    Servlet...
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.IOException;
    public class BasicServlet extends HttpServlet {
    public void doGet (HttpServletRequest req,
    , HttpServletResponse res)
              throws IOException {
              ServletOutputStream out = res.getOutputStream();
              res.setContentType("text/html");
    out.println("<html><head><title>Basic
    ic Servlet</title></head>");
              out.println("<body>Hello World</body></html>");
    I am using Textpad to write and compile my java and
    when I try to compile I get errors basically saying
    that it cannot find the first 2 packages I am trying
    to import (it manages to find the IOException fine)
    Any ideas why? I suspect that the servlet package is
    not in the classpath but I do no know where the
    package is in order to add it to my class path.
    many thanksHave u included your servletapi.jar into classpath
    If u havnt . set classpath to point to servletapi.jar
    if it helps .. release dukes.
    sudhir nimavat
    http://www.jyog.com

  • Getting javac to find javax.servlet package

    Hey all. I'm trying to get Servlets to run on my computer. I'm using jdk1.4, it didn't have the javax.servlet package to start off with. I downloaded jsdk2.0, which includes the javax.servlet package. I can't get the javac compiler to find these classes no matter what I do, I copied the entire javax/servlet folder into the jdk1.4/src.zip file that seemed to have all the other import files, I copied the jsdk.jar file into jdk1.4/lib/ folder, that didn't work either. In my batch file that sets the path for jdk, I added set classpath = c:\jsdk2.0\lib\jsdk.jar and that didn't work. I really can't seem to get javac to find these classes. Any help is greatly appreciated!

    The above advice is incorrect and can lead you to many problems.
    You should have nothing in your CLASSPATH environment variable immediately after installing J2SDK 1.4.1.
    You then have to install the Servlet API by pointing your CLASSPATH env. var. to it. To do this depends on the version of the Servlet spec. that you have as some of the olders ones were distributed as jar files, and the latest I believe is a set of classes to be extracted.
    At the end of the day, you must point your CLASSPATH to the Servlet API. Read up on how to set the CLASSPATH. Also, don't forget to include the current working directory (.) in your CLASSPATH after manually setting it.
    Good luck !!
    Tony Morris
    Software Engineer, IBM
    Gold Coast, Australia

  • Javax.servlet.ServletException: Unknown SMTP host

    Hi
    I am using tomcat and trying to send emails. I keep getting a javax.servlet.ServletException: Unknown SMTP host error.
    I initially thought the problem was with the line: props.put("mail.smtp.host", "makethegrade.co.za"); But i checked the smtp info with the guys i'm hosing with and they said its right
    I am currently setting the fields manually, so it can't be a problem with passing data around in the webpage
    In my WEB-INF/lib i have jaf-1.0.2 and javamail-1.4.1 (i.e. mail.jar and activation.jar)
    The code for my mailer bean is:
    package mailer;
    import java.io.*;
    import java.util.*;
    import javax.mail.*;
    import javax.mail.event.*;
    import javax.mail.internet.*;
    public final class MailerBean extends Object implements Serializable {
         /* Bean Properties */
         private String to = null;
         private String from = null;
         private String subject = null;
         private String message = null;
         public static Properties props = null;
         public static Session session = null;
         static {
              /*     Setting Properties for STMP host */
              props = System.getProperties();
              props.put("mail.smtp.host", "makethegrade.co.za");
              session = Session.getDefaultInstance(props, null);
         /* Setter Methods */
         public void setTo(String to) {
              this.to = to;
         public void setFrom(String from) {
              this.from = from;
         public void setSubject(String subject) {
              this.subject = subject;
         public void setMessage(String message) {
              this.message = message;
         /* Sends Email */
         public void sendMail() throws Exception {
              if(!this.everythingIsSet())
                   throw new Exception("Could not send email.");
              try {
                   MimeMessage message = new MimeMessage(session);
                   message.setRecipient(Message.RecipientType.TO,
                        new InternetAddress(this.to));
                   message.setFrom(new InternetAddress(this.from));
                   message.setSubject(this.subject);
                   message.setText(this.message);
                   Transport.send(message);
              } catch (MessagingException e) {
                   throw new Exception("Caught in sendMail" + e.getMessage());
         /* Checks whether all properties have been set or not */
         private boolean everythingIsSet() {
              if((this.to == null) || (this.from == null) ||
                 (this.subject == null) || (this.message == null))
                   return false;
              if((this.to.indexOf("@") == -1) ||
                   (this.to.indexOf(".") == -1))
                   return false;
              if((this.from.indexOf("@") == -1) ||
                   (this.from.indexOf(".") == -1))
                   return false;
              return true;
    }and the error i get is:
    org.apache.jasper.JasperException: Exception in JSP: /processingPages/mailer.jsp:17
    14:           mailer.setFrom("[email protected]");
    15:           mailer.setSubject("mailer test");
    16:           mailer.setMessage("TEst test test");
    17:           mailer.sendMail();
    18:           
    19:      %>
    20: </jsp:useBean>
    Stacktrace:
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause
    javax.servlet.ServletException: Unknown SMTP host: mail.yourisp.com
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
         org.apache.jsp.processingPages.mailer_jsp._jspService(mailer_jsp.java:89)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause
    java.lang.Exception: Unknown SMTP host: mail.yourisp.com
         mailer.MailerBean.sendMail(MailerBean.java:54)
         org.apache.jsp.processingPages.mailer_jsp._jspService(mailer_jsp.java:67)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    Tomcat logs give:
    Jul 15, 2009 10:50:35 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    java.lang.Exception: Unknown SMTP host: mail.yourisp.com
         at mailer.MailerBean.sendMail(MailerBean.java:54)
         at org.apache.jsp.processingPages.mailer_jsp._jspService(mailer_jsp.java:67)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
         at java.lang.Thread.run(Thread.java:619)
    If anyone needs any other details feel free to ask.
    Any help or any pointers to a place to find a solution would be deeply appreciated
    Thanks

    All I can see is that you are running this in a web application. In most web application containers there's a place where you configure your mail providers and mail sessions. You seem to be ignoring that (you aren't using JNDI to get a session for example) but you are getting the default instance, so perhaps that uses that configuration anyway.

  • How to get javax.servlet package

    Hi guys
    Does anybody know how to get javax.servlet package?
    Thanks in advance.
    Regards,
    Mark.

    I just moved the servlet jar into java_home/jre/lib/ext and I made some progress. Instead I recieved this error
    ---------- Javac ----------
    Note: C:\jdk1.3.1_04\bin\java\lang\ThreadGroup.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    Normal Termination
    Output completed (17 sec consumed).
    DOes anyone have an idaea of what would cause this when it had compiled normally before?
    THanks Bruce

  • Using Javax.Servlet package for the first time

    Hello everyone.
    I have (to some) the dumbest question, however I am new to this side of Java.
    I'm trying to create my first Servlet page, and I have Java 2 Standard edition (JDK1.3). I also have JBuilder (JDK1.3.1).
    My class seems to be unable to find the javax.Servlet.* packges.
    It seems I don't have the package available to my compiler, so I cannot compile my application.
    Someone please point me in the right direction.
    Thanks
    Rich

    you would also need to have a servlet runner. you could use tomcat jakarta.apache.org (it's the standard implementation for servlets). With Tomcat also comes the servlet package.

  • Javax.servlet package

    hi i am using netbeans but i want to deploy some servlets in my mobile application but i am getting problem in accessing javax.servlet package. can anyone tell me where can i get this one. my application is stuck now ......plz reply me fast...... i search a lot i got the specs of it but not the api.

    I wonder what you're trying to do.
    In my case, I have installed Tomcat 5.0. This installation included a jar file containing the different servlet classes I need to develop servlets. This jar file is in the folder C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib.
    I did not need to move the jar files from Tomcat to the folder of my J2SDK.
    But I had to add en environment variable under Windows XP, namely CATALINA_HOME to let the computer know where the folder of Tomcat was. With this variable, the jar file containing the classes for servlet programming can be found.

  • How do I get the javax.servlet package?

    I have a simple question. I downloaded the JAVA platform Standard Edition SDK 1.6.0 and find that it doesn't have the javax.servlet package? From where can I get it and how to install and configure?

    hi,
    you don't have servlet in J2SE... you can get it
    from J2EE ... download the latest J2EE .. the
    package is available in j2ee.jar file..
    ou can download it from:
    http://java.sun.com/javaee/downloads/index.jsp
    -- Abdel Raoof Olakara
    http://olakara.googlepages.com
    You are quite wrong my friend... Servlets don't depend on any J2EE container, the only thing you need is a J2SE edition... check this:
    http://en.wikipedia.org/wiki/Java_Servlet
    MeTitus

  • Development kit which includes the javax.servlet package

    Which java development kit(s) contain the javax.servlet package.v I can't seem to find one. Thanks

    You might want to ask this on the Java forum - but if you want to run a servlet you need a Java EE server - something like Glassfish or WebLogic or Tomcat.
    The Java forums are here:
    https://forums.oracle.com/forums/category.jspa?categoryID=285
    Right now you are in the JDeveloper forum - and by the way, if you download JDeveloper you'll get everything you need to develop and test run your servlet.

  • Unable to compile servlet files in javac

    i am unable to compile servlet *.java files in javac.as far as i can see my path is correct.
    Kindly provide a solution as soon as possible.
    My jdk1.3 is in my c drive and my tomcat in my d drive.
    if you are able to compile kindly let me know your path.
    it says symbol not resolved.i think that it is unable to import from javax

    Assuming that your jdk is in c drive as c:\jdk1.3 set the path and the classpath like as shown below. Remember that you have to set the classpath for the classes in the javax.servlet and javax.servlet.http packages. I know how to do it for JavaWebServer. JavaWebServer has a jar called servlet.jar that contains all these classes. What you need to do is to put this jar file in your classpath. There will be a similar jar file for Tomcat server also. You need to refer the Tomcat server documentation for that.
    The path and the classpath have to be set like this...
    d:\>path=%path%;.;c:\jdk1.3\bin;
    d:\>set classpath=%classpath%;.;c:\jdk1.3\lib;c:\JavaWebServer2.0\lib\servlet.jar;
    assuming tht JWS is installed in c:\JavaWebServer2.0
    Also note that there should be no spaces in between while setting the classpath. In your case you have to change the last part of the classpath to customize your requirement.
    Hope that will help.
    Regards
    Jaydeep

  • How do you set up your system to compile servlets?

    I can't compile my servlets. I need the javax.servlet packages. I went to java.sun.com/products/servlet but couldn't find the servlet SDK. Is it now all wrapped up in the J2EE SDK?
    So I downloaded the J2EE beast and put j2ee.jar in my C:\JDK1.3\jre\lib\ext. Now I can compile my servlets fine from the command line. But now Tomcat doesn't work at all. Even when I try to run the servlets that are supplied in the examples with Tomcat, I get the following errors:
    Internal Servlet Error:
    javax.servlet.ServletException: sun/tools/javac/Main
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:415)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
         at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
         at java.lang.Thread.run(Thread.java:484)
    These errors disappear if I remove j2ee.jar
    So, how shoudl I configure my system so taht I can run Tomcat and also compile my servlets from the command line ? Also, do I really have to keep restarting Tomcat each time I want to reload a servlet ?

    To set up Tomcat, here's what I'd do.
    1) Remove j2ee.jar from C:\JDK1.3\jre\lib\ext
    That will cause more headaches than you can imagine.
    2) Add servlet.jar to your classpath. Servlet.jar is located in lib under your tomcat directory. ( so, something like C:\jakarta-tomcat\lib\servlet.jar )
    3) Make sure that you have your JAVA_HOME environment variable set to C:\JDK1.3. If this is not set up correctly then you will get the error: sun/tools/javac/Main not found...
    Hope that helps.
    Anne

  • Problem in compiling servlets

    Hi
    I have j2sdk1.4.0 and i am using J2ee application server.My problem is while compiling i get error as "javax.servlet" package not found.Can anybody suggest me how to give the classpath for successful compilation.
    regrds
    Vaijayanthi

    hi vaiju
    basically it gets struck while finding as well loading the appropriate library files when there is a request for servlet.. tats where it gave the error of javax.servlet is missing..
    all servlet and jsp related files (class files) reside in this javax.servlet package.. its there javax.servlet jar or simply servlet.jar or even you can use the j2ee.jar which the superset of all of these..
    you can any one of the following 2 things:
    (1) you can either set the classpath of your pc to point to or include the location where it contains any of these .jar files
    (2) you can put the reqd lib files in the container's (web/app server's) location which it internally maintains for searching while loading/running the applications...
    here you have two options
    (a) either you can include the jar files with the individual applications (your applications WEB-INF/lib folder, which you can find inside the <TOMCAT_HOME>/webapps/ YOUR_APP_ROOT/WEB-INF/lib folder)
    (b) you can put the jar files in the common place of the container in case of being required by several applications (in case of tomcat, you can put in <TOMCAT_HOME>/common/lib folder).
    Dont forget to mention this in the build.xml file in case if you use ANT tool to build your application. you can set the <property> for the classpath.
    Hope this helps...
    Good luck to your journey in Servlets....

  • Problem Installing Java Servlets Package

    I downloaded a sample servlet program which imports classes from the Java Servlets Package. I have the JDK 1.2 which does not come with the servlet classes (javax.servlet and javax.servlet.http). So I then downloaded them from java.sun.com. They come as a set of class files in .zip format. I thought packages were supposed to be in .jar format? At any rate, my compiler still fails to see these classes even after I have extracted these files into the same directory as the original .zip file and added this directory to my classpath. Am I going about this the wrong way? Any ideas on how I can make my compiler see these classes? --Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I down loaded j2sdk 1.4 . and also down loade servlet package. I installed in bin directory.
    i took the sample program and compiled. there is error message " java servlet package not found.
    please help. email me at [email protected]
    Thanks
    sri

Maybe you are looking for

  • Mac mail/creating new format style

    Hi all, I sometimes send emails with a good amount of copy ( I have my compose preference set to RTF). I notice that the default format style for macmail is Left aligned, Spacing 1.0x. (no leading or 'set solid'). I'd like to create a new 'favorite s

  • TS2755 I have to keep restarting my phone in order to send messages.  I didn't have to do this before the latest update:(

    I have to keep restarting my phone to be able to send messages ever since new update

  • Problem with sqlj connection

    error in java compilation "java.io.IOException: create process:javac-J-Djavac.pipe.output=true TestInstall.java error=0" What is the problem please? Phil

  • Locking a fillable form after input?

    I have created a form in Acrobat that contain digital signatures and other fields.  I have enabled the Extended features as well.  I would like to be able to have the end user lock the file after inputting the requested data and digital signatures ar

  • Loupe view thumbnail size

    Somehow I accidentally made the thumbnails in the loupe view (the small row of images along the bottom of the screen) get larger.  I can't make them smaller like they used to be and cannot find anything in help to make them small again.  It's very an