Tomcat servlet class not refreshing

I just started to work with Tomcat.
My problem is that once I have compiled and put a servlet in myApps\WEB-INF\Classes directory even after I recompile it the browser displays old version. Only stopping and starting Tomcat shows the new version
My browser is IE v 6.
I have done everything as instructed in the book Java for the Web with Servlets... by Kurniawan.
My web.xml looks like so
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<servlet>
          <servlet-name>Testing</servlet-name>
          <servlet-class>TestingServlet</servlet-class>
</servlet>
</web-app>      
My CLASSPATH variable looks like so
c:\j2sdk1.4.2_01\lib;.;c:\1ourfolder\Java Stuff;c:\jakarta-tomcat-4.1.27\common\lib\servlet.jar;C:\IBM\SQLLIB\java\db2java.zip;C:\IBM\SQLLIB\java\db2jcc.jar;C:\IBM\SQLLIB\java\sqlj.zip;C:\IBM\SQLLIB\bin;C:\IBM\SQLLIB\java\common.jar
Is there something I need to add in the web.xml file? On the comp.lang.java.help forum there was reference to the WEB-INF\classes directory being in classpath and removing that made it work but I don't have that situation AFAIK.
Thanks

This must have been answered many times but with the software evolving as it does there must be different ways of doing this. This is what I did
On your browser go to the manager page.
http://localhost:8080/manager/html
You may be prompted for a userid and password
If you haven't done so already edit the conf\tomcat-users.xml file in the tomcat directory and add a line to set you up as a manager. This is going to be something like this
<user username="manager" password="tomcat" roles="manager"/>
Login as manager/tomcat.
On the resultant webpage you should see a list of applications, myApps will be in that list. Stop it and start it (follow the grid to the right)
Now your servlet class will be refreshed.
I looked at other responses in this forum and found this answer
http://forum.java.sun.com/thread.jsp?forum=33&thread=404559
"...If it is tomcat 4.1 then you can use its adminitrator jsp page to make your context(webapp) reloadable. This in turn will make chages to your your server file and will add the context back to tomcat without stopping it..."
At this time I haven't figured out how to do this ;-)
Oh, and could you use code tags the next time?

Similar Messages

  • Tomcat: MBean class not trusted for registration

    Hi all.
    I have to deploy a web-app on a environemnt made by:
    - Tomcat 5.0.29
    - JDK 1.4
    ... but when I start Tomcat I have the following error:
    java.security.AccessControlException: Access denied (mx4j.server.MBeanTrustPermission register): MBean class org.apache.commons.modeler.BaseModelMBean is not trusted for registration
    The class "org.apache.commons.modeler.BaseModelMBean" is included in the jar "commons-modeler.jar", whereas the class "mx4j.server.MBeanTrustPermission" is included in the jar "catalina.jar".
    Both of these JARs are in the {catalina_home}/server/lib directory, so all their classes should be given all the permissions, since in the "conf/catalina.policy" I find:
    grant codeBase "file:${catalina.home}/server/-"
       permission java.security.AllPermission;
    }So, I can't understand what's happening and what ishould do to make the class "trusted".
    Has anyone been involved in the same?
    Any idea?
    Thanks in advance for any help!

    This must have been answered many times but with the software evolving as it does there must be different ways of doing this. This is what I did
    On your browser go to the manager page.
    http://localhost:8080/manager/html
    You may be prompted for a userid and password
    If you haven't done so already edit the conf\tomcat-users.xml file in the tomcat directory and add a line to set you up as a manager. This is going to be something like this
    <user username="manager" password="tomcat" roles="manager"/>
    Login as manager/tomcat.
    On the resultant webpage you should see a list of applications, myApps will be in that list. Stop it and start it (follow the grid to the right)
    Now your servlet class will be refreshed.
    I looked at other responses in this forum and found this answer
    http://forum.java.sun.com/thread.jsp?forum=33&thread=404559
    "...If it is tomcat 4.1 then you can use its adminitrator jsp page to make your context(webapp) reloadable. This in turn will make chages to your your server file and will add the context back to tomcat without stopping it..."
    At this time I haven't figured out how to do this ;-)
    Oh, and could you use code tags the next time?

  • Servlet does not refresh in browser

    Hi,
    If I change a Servlet code, re-compile it and Refresh the browser (Firefox), it does not refresh. I can only get it to refresh if I re-start Tomcat (v 5.5.4).
    Is there a workaround for this please?
    I put the lines:
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("max-age", 0);
    response.setDateHeader("Expires", 0);
    at the top of my doGet method and this does not work.
    Thanks,
    Hal.

    Hi,
    For classes, you can set the reloadable parameter in your application configuration file (in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory)
    Set it to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. That's why the default setting for this attribute is false. You can use the Manager web application, however, to trigger reloads of deployed applications on demand.
    http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/context.html
    For JSPs, you can configure Jasper (in $CATALINA_BASE/conf/web.xml file) and use the reloading parameter.
    http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jasper-howto.html

  • Deploying web application to OC4J  - servlet class not found

    Hi,
    Im trying to deploy war file with web application,
    that I run before on Tomcat.
    During deployment procces everything seems to be OK.
    But when I try to log on web, I get 500 error...
    log file:
    07/07/12 15:10:14.562 webapp1: Servlet error
    javax.servlet.ServletException: Error instantiating servlet 'org.apache.jsp.index_jsp'. Servlet class org.apache.jsp.index_jsp not found in web-application webapp1
    where org.apache.jsp.index_jsp is path from web.xml and servlet index_jsp.class is in
    Web-Inf/classes/org/apache/jsp/ dir.
    Any Idea?
    Thanks a lot.
    H.

    Hi Steve,
    thanks for your answer, because my question is quite stupid, I know.
    But I'm not so much interested in pre-translated jsp files dependences on java container.
    Yes, my application use some parts of catalina lib, but I would like to just get index.jsp
    and this compiled class (org.apache.jsp.index_jsp.class) is "catalina lib free" I think?
    Or should I change my build.xml?
    Thanks.
    H.

  • Servlet class not found error deploying a WAR on Web Logic Server 8.1

    I'm re-deploying an updated web application to a web logic server, but when I navigate to the login page of the web application to test it, I get a class not found error for my login servlet. I have both the web.xml and the weblogic.xml descriptors in my WEB-INF directory, and all of my compiled classes are in the WEB-INF/classes directory, is there something else I'm missing? Any help would be much appreciated.

    Thanks for the response. Here's the web.xml file:
    <?xml version="1.0" ?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
         <display-name>Web Forms</display-name>
    <servlet>
    <servlet-name>LoginServlet</servlet-name>
    <display-name>LoginServlet</display-name>
    <servlet-class>LoginServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>ChangePasswordServlet</servlet-name>
    <display-name>ChangePasswordServlet</display-name>
    <servlet-class>ChangePasswordServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>LogoutServlet</servlet-name>
    <display-name>LogoutServlet</display-name>
    <servlet-class>LogoutServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>PageServlet</servlet-name>
    <display-name>PageServlet</display-name>
    <servlet-class>PageServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>UploadServlet</servlet-name>
    <display-name>UploadServlet</display-name>
    <servlet-class>UploadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>ChangePasswordServlet</servlet-name>
    <url-pattern>/ChangePasswordServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>LogoutServlet</servlet-name>
    <url-pattern>/LogoutServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/UploadServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>PageServlet</servlet-name>
    <url-pattern>/PageServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>Login.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    None of the classes are in a package (I know it's not the best idea, but I didn't write these, I'm just doing some updates). So the file structure is pretty much just WEB-INF/classes/
    At the moment I've got a fix by just putting the entire project (not in any sort of archive) on the server itself instead of deploying it as a WAR, any thoughts on why the WAR isn't working would be much appreciated though.

  • OC4j is  not identifying  my  Servlet class

    Hi ,
    I have one servlet class deployed in the Oc4j server . after adding the servlet class to the jar ,restarted the server .
    But i am getting error like below . But I placed class file first in web-inf/lib/jar and after that i placed the class file again in web-inf/classes directory .But it is not working .
    what is orion-web.xml specified classpath or global server classpath.
    500 Internal Server Error
    Servlet error: Error instantiating servlet 'test' (servlet class not found, make sure it exists at /u01/app/oracle/infra/j2ee/OC4J_SECURITY/applications/sso/web/WEB-INF/classes/com/handleman/portals/testServ.class, in a jar in /u01/app/oracle/infra/j2ee/OC4J_SECURITY/applications/sso/web/WEB-INF/lib/, in an orion-web.xml specified classpath or global server classpath)
    Thanks in advance .
    Prasanna .

    Prasanna,
    Please provide more information.
    * Are you using OC4J stand-alone or Oracle Application Server (OAS)?
    * What version of OC4J (or OAS) are you using?
    * Are you using JDeveloper?
    * What java version are you using?
    * What platform are you on?
    * Are you trying to create a J2EE application that consists of a single servlet?
    Good Luck,
    Avi.

  • Tomcat Servlet - TCP Port Already in Use?

    My problem is that tomcat/servlet is not releasing its TCP port after my servlet closes the port. Next time a servlet tries to use the port it gets an error "Port already in use". Using netstat I can see the port is still in use. If I stop tomcat and restart it, the port is released. I have not had this sort of problem writing C programs that use sockets.
    My setup is Fedora Core 6 with JDK1.5_14 and Tomcat 5.5.26. I know it's not the latest, but sockets and streams have been around for a long time.
    Actual implementation uses a trivial javaserver page to instantiate a class to create/accept connection from a client (JApplet). After connection, it starts a thread to receive data. I am using ServerSocket(), InputStreamReader(), and OutputStreamWriter(). On ServerSocket I set ReuseAddress to true.
    I have try/catch on all my I/O and use tomcat context log for error and OK messages. Data transfer is perfect. Detect close by client works. In the context log I see close of streams and ServerSocket occur with no exceptions. Then, I manually close the jsp window. No indication of any problems. If I use different port 2nd time (e.g. 50001) it all works perfect. If I use my default (50000) again, servlet gets an error during bind, "Port already in use".
    2.5 years with Java. 5 years with Linux and C.
    Please advise or refer

    rwengr wrote:
    My problem is that tomcat/servlet is not releasing its TCP port after my servlet closes the port. Next time a servlet tries to use the port it gets an error "Port already in use". Using netstat I can see the port is still in use. If I stop tomcat and restart it, the port is released. I have not had this sort of problem writing C programs that use sockets.Nice.... Not sure that matters though.
    >
    My setup is Fedora Core 6 with JDK1.5_14 and Tomcat 5.5.26. I know it's not the latest, but sockets and streams have been around for a long time.
    Actual implementation uses a trivial javaserver page to instantiate a class to create/accept connection from a client (JApplet). Bleah! Don't use a JSP for that. Use a servlet at worst. At best use a Servlet to start some other socket manager class which you can/have tested outside the Servlet Container environment.
    After connection, it starts a thread to receive data. I am using ServerSocket(), InputStreamReader(), and OutputStreamWriter(). On ServerSocket I set ReuseAddress to true.
    I have try/catch on all my I/O and use tomcat context log for error and OK messages. Data transfer is perfect. Detect close by client works. In the context log I see close of streams and ServerSocket occur with no exceptions. Then, I manually close the jsp window. Closing the browser window has no affect on the server.
    No indication of any problems. If I use different port 2nd time (e.g. 50001) it all works perfect. If I use my default (50000) again, servlet gets an error during bind, "Port already in use".
    2.5 years with Java. 5 years with Linux and C.
    Please advise or referShow some code. If you just want some generic advice it would be to close the port, as soon as you don't need it anymore. But you know that. Without any further code I think that is about all that can be said.
    P.S. Make the code as small as possible, compilable, but still demonstrating the problem. Also see: [this tutorial as an example...|http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html?page=1]

  • Problem in compiling servlet class - using Tomcat

    Hi,
    I have a servlet pgm that I'm trying to compile.I using Tomcat application server.I have my servlet class in D:\servlet_wrk\project1\src
    and my deployment descriptor in D:\servlet_wrk\project1\etc
    my CLASSPATH var is set to C:\Sun\AppServer\jdk\bin
    and
    my PATH var is set to C:\Sun\AppServer\bin.
    When I compile my servlet class Ch1Servlet.java in the command line from the directory
    D:\servlet_wrk\project1 using the command
    javac -classpath D:\applications\tomcat-5.5.12\common\lib\servlet-api.jar -d classes src/Ch1Servlet.java,
    it says error:cannot read: src/Ch1Servlet.java
    Can somebody help me to solve this problem and help me to compile my servlet class.
    Thanks.

    Thanks...as u said I tried putting dir & found that
    my file was saved as Ch1Servlet.java.txt instead for
    Ch1Servlet.java......So that was a problem.Now I'm
    able to compile.Oh, yeah. Notepad will do that to you. I think when you save in Notepad if you put quotes around the name "Whatever.java" then it won't add the .txt.
    But on compiling I'm getting the following error
    package java.servlet.* does not exist
    package java.servlet.http.* does not exist
    package java.io.* does not exist
    Do u the reason for this??? The servlet stuff is java[b]x.servlet. For the io stuff, I don't know, I'd have to see your code. Either you have a typo or a corrupt installation.

  • [TOMCAT] [SERVLET] : The requested resource () is not available.

    Hi!! I'm looking for an answer to my problem, and I'm going to explain what I mean.
    I've created a .jar named yuhuuTunnel.jar that has the following structure:
    yuhuuTunnel.jar:
    --> web (contains the servlets)
          --> *.class
          --> HelloWorldServlet.class
    --> META-INF
          --> MANIFEST.MF
    --> SimpleClient.classThe code of HelloWorldServlet.java is this:
        package web;
        import java.io.IOException;
        import java.io.PrintWriter;
        import javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletResponse;
        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.ServletException;
        import javax.servlet.ServletConfig;
        public class HelloWorldServlet extends HttpServlet {
            public void init(ServletConfig config) throws ServletException {
                super.init(config);
            public void doGet( HttpServletRequest request, HttpServletResponse response )
                    throws ServletException, IOException {
                doPost(request, response);
            public void doPost( HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                out.println("<html>");
                out.println("<body>");
                out.println("<body bgcolor=\"white\">");
                out.println("<h1>Yuhuu Servlet!</h1>");
                out.println("</body>");
                out.println("</html>");
        }then, using a .war file (created with ANT), I've created into /../tomcat/webapps/ a directory call yuhuuTunnel that has this structure:
        /webapps/
              --> yuhuuTunnel
                    --> WEB-INF
                            --> web.xml
                            --> lib
                                 --> yuhuuTunnel.jar
                    --> META-INF
                            --> MANIFEST.MF
                                 --> yuhuuTunnel.jar
                    --> index.htmlThe content of web.xml is the following:
        <?xml version="1.0" encoding="ISO-8859-1"?>
        <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
        <web-app>
            <!-- Action Servlet Configuration -->
            <servlet>
                 <servlet-name>HelloWorld</servlet-name>
                 <servlet-class>web.HelloWorldServlet</servlet-class>
                 <load-on-startup>0</load-on-startup>
            </servlet>
            <servlet-mapping>
                 <servlet-name>HelloWorld</servlet-name>
                 <url-pattern>HelloWorld</url-pattern>
            </servlet-mapping>
        </web-app>Tomcat works correctly ( http://localhost:8080 return me the page of tomcat ) but when I try to use the HelloWoldServlet typing http://localhost:8080/yuhuuTunnel/HelloWorld into a browser, this one returns me the HTTP Status 404 - The requested resource () is not available.
    What is wrong? The address that I type into the browser or there's an error into web.xml?
    Something interesting: If I type
    http://localhost:8080/yuhuuTunnel/HelloWorld
    the message given back is: "The requested resource () is not available."
    but if I type
    http://localhost:8080/HelloWorld the message is different:
    "The requested resource (/HelloWorld) is not available."

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <!-- Action Servlet Configuration -->
    <servlet>
             <servlet-name>HelloWorld</servlet-name>
             <servlet-class>web.HelloWorldServlet</servlet-class>
             <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
             <servlet-name>HelloWorld</servlet-name>
             <url-pattern>HelloWorld</url-pattern>
    </servlet-mapping>
    </web-app>Please change the servlet url pattern from
    <url-pattern>HelloWorld</url-pattern>to
    <url-pattern>/HelloWorld</url-pattern>in servlet mappings
    REGARDS,
    RaHuL

  • Class not found problem in Tomcat Web app

    Hi,
    I created a Web Service using JWSDP. I want to invoke a Web service method from my servlet. It works fine on Win NT Workstation, but on Windows 2000 it gives class not found error because it fails to pick up the jars that come with the pack in common\lib directory. I copied the jars to all possible lib paths as below, but looks like there's something wrong with the class loader. This problem comes in all our win2k machines. Does anyone have any clue about this.
    /WEB-INF/lib/*.jar of your web application
    $CATALINA_HOME/common/endorsed/*.jar
    $CATALINA_HOME/common/lib/*.jar
    $CATALINA_HOME/shared/lib/*.jar
    Thanks in advance,
    Sriram.

    If it can't find servlet.jar in the Tomcat dir, you should do what I did. I copied servlet.jar to C:\j2sdk1.4.0_01\jre\lib\ext\servlet.jar
    Then I added that to my CLASSPATH, and it finally found servlet.jar (it never found it in the Tomcat folder where it was).

  • Tomcat session expires after compiling servlet/ class

    Hi,
    Does anybody know why tomcat(4.1) session expires if you modify a serlvet or class and compile it.
    After compiling I refresh the page and I get session invalidated page. And every time I compile I have to relogin.
    Any ideas ? Is there a work around ?

    In serverl.xml, if you have set the reloadable="true" attribute in your <Context/> tag for your web application then each time one of the servlet classes is modified, tomcat will reload the web application. Set reloadable="false" and this will stop.
    tobes

  • War file not loading - Offending class: javax/servlet/Servlet.class

    Hello;
    I've got a war file for an app that I've been building for the past several weeks. I created a new version and uploaded it to the server and received a 404 error when trying to call a servlet in the war. The catalina.out file had the following message:
    WebappClassLoader: validateJarFile(/usr/local/apache/tomcat/webapps/optintelligence/WEB-INF/lib/j2ee.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
    I've not changed my libraries at all and I don't see any conflict with another appliacation. The war file works on my local windows machine but has this error on a RedHat server. Both are running tomcat 4.x
    I would appreciate any information on this problem.
    Thanks;
    Marshall

    You might still get the warning when you start Tomcat:
    WebappClassLoader: validateJarFile(/usr/local/apache/tomcat/webapps/optintelligence/WEB-INF/lib/j2ee.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
    That's because you have the j2ee.jar as part of the web application. The servlet specficiation forbids a web application trying to override core java, j2ee classes. Thererfore Tomcat prints the warning message that the particular jar could not be loaded as it is trying to override a core java-j2ee class.
    If you remove the j2ee.jar from the web app WEB-INF/lib folder, the warning will disappear.

  • Compiled Tomcat Servlet Example & got JAR, not WAR?

    Is there a basic reference on how to create a simple servlet with NetBeans 4.1 and deploy it to Tomcat?
    When I created the project I chose Samples->Web->Tomcat Servlet Example, and yet it does not create a WAR file on compilation.
    And of course once I'm past that I have to figure out how to edit the XML file, I gather.
    I need a reference that will hold me by the hand and walk me through it once to kick start me.
    After that I think I can make it without having to ask such newbie questions.

    Hi,
    not sure to what extent you are clear in build.xml file (done thru ant).
    what i can tell you is, ant creates any archive file (be it .jar, .war, .ear) with the tasks named "jar" (<jar jarfile="yourfilename.jar"..>), "war" and "ear". But both war and ear are the extensions of the jar only.
    You can achieve creation of any archive file with the jar task itself.
    you need to take care of the following...
    (1) you can /should edit the extension of the files at every stage.. first .jar and then .war and then .ear (if necessary) => basic flow
    (2) at every step, you have to have a file inclusion inside the corresponding archive file..
    say for example, for a .jar file you should include all the compiled .class files, and ejb-jar.xml (incase you use ejbs) and other built-in jar files....
    In case of .war files (web archive) you should include the web.xml file, any static files (html, jsp etc), any tld files - it goes with your application's nature and requirement.....
    fyi, i m including a sample build.xml file which i use for a webapplication, so it deals with war...
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="ServletsReqDispFwd" default="deploy">
         <property name="top" value="."/>
         <property name="webinf" value="${top}/WEB-INF"/>
         <property name="lib" value="${webinf}/lib"></property>
         <property name="classes" value="WEB-INF/classes"/>
         <property name="jboss.dir" value="D:\jboss-3.2.2RC3\server\default\deploy"></property>
         <property name="tomcat.dir" value="D:\jakarta-tomcat-4.1.27\webapps"></property>
         <property name="warfile" value="ServletsReqDispFwd.war"></property>
         <property name="src" value="${top}/src"/>
         <property name="web.xml" value="WEB-INF/web.xml"/>
         <target name="package">
              <javac srcdir="${src}" destdir="${classes}"
                     listfiles="true" debug="true"  verbose="true"
                          classpath="${lib}/*.jar"/>
              <war warfile="${warfile}" webxml="${web.xml}">
                   <webinf dir="${top}">
                        <include name="**/*web*.xml"/>
                        <include name="**/*application*.xml"/>
                        <exclude name="src/**/*.xml"/>
                   </webinf>
                   <lib dir="${lib}">
                        <include name="*.jar"/>
                   </lib>
                   <fileset dir="." includes="**/*.html"/>                    
                   <classes dir="${classes}" includes="**/*.class"></classes>                         
              </war>
         </target>
         <target name="deploy" depends="clean,package">
              <copy file="${warfile}" todir="${tomcat.dir}" overwrite="true"></copy>
         </target>
         <target name="clean">
                <delete dir="${classes}">
                     <filename name="*.class"/>
              </delete>
              <delete>
                   <fileset dir="${top}" includes="${warfile}"/>
              </delete>
              <delete>
                   <fileset dir="${tomcat.dir}" includes="${warfile}"/>
              </delete>
         </target>
    </project>hope this contribues to a certain extent to help you edit the buildfile (xml file as you go) to meet your requirement.....

  • Please Help ?? Tomcat 6 and JDK 6 Class Not Found Exception when deploying

    Hi,
    I am deploying this application in Tomcat 6, but I am getting ClassNotFoundException when I try to the application. I am a novice at this.
    SEVERE: Error loading WebappClassLoader
      delegate: false
      repositories:
    ----------> Parent Classloader:
    org.apache.catalina.loader.StandardClassLoader@146c1d4
    com.jbe.test.HelloWorldServlet
    java.lang.ClassNotFoundException: com.jbe.test.HelloWorldServlet
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         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:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:619)
    Oct 15, 2007 12:57:31 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Allocate exception for servlet asterisk
    java.lang.ClassNotFoundException: com.jbe.test.HelloWorldServlet
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         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:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:619)My web xml configuration
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
         <display-name>Hello, World Application</display-name>
        <description>
         Simple Test with a servlet.
        </description>
        <servlet>
             <servlet-name>helloworld</servlet-name>
             <servlet-class>com.jbe.test.HelloWorldServlet</servlet-class>
        </servlet>
        <servlet-mapping>
             <servlet-name>helloworld</servlet-name>
             <url-pattern>/hello.htm</url-pattern>
        </servlet-mapping>
    </web-app>My JSP: <html>
         <head><title>Test Hello World</title>
         </head>
         <body>
         <form>
         <a href = "hello.htm">Hello World</a>
         </form>
         </body>
    </html>
    Please Help !!!

    Are you sure your HelloWorldServlet has doGet method?
    package com.jbe.test;
    // Import servlet packages
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class HelloWorldServlet extends HttpServlet {
         public HelloWorldServlet() {}
         public void init() throws ServletException     {}
         public void doGet(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException           {
              response.setContentType("text/html");
            // then get the writer and write the response data
            PrintWriter out = response.getWriter();
            out.println("<HEAD><TITLE> SimpleServlet Output</TITLE></HEAD><BODY>");
            out.println("<h1> SimpleServlet Output </h1>");
            out.println("<P>This is output is from SimpleServlet.");
         out.println("</BODY>");
         out.close();
         public void destroy()     {}
    }

  • Class not found for Startup servlet

    I have deployed a war file under weblogic 7. The application has some startup servlets,
    which are failing to load during startup. It returns the following error messages
    for each servlet
    ####<Jan 8, 2003 2:00:25 PM CST> <Error> <HTTP> <abc-web1> <abcAppServer> <Thread-8>
    <kernel identity> <> <101249> <[ServletContext(id=3959381,name=abcApps,context-path=/abcApps)]:
    Servlet class com.abc.servlets.startup.StartupTSContentDaemonServlet for servlet
    StartupTSContentDaemonServlet could not be loaded because the requested class
    was not found in the classpath D:\bea\user_projects\abcdomain\abcAppServer\stage\abcApps\abcApps.war;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\servlet2373.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jbcl2374.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jaxp2375.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\xerces2376.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\AS4002377.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\decrypt2378.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\cls2372.jar.
    java.lang.UnsupportedClassVersionError: com/abc/servlets/startup/StartupTSContentDaemonServlet
    (Unsupported major.minor version 48.0)>
    ####<Jan 8, 2003 2:00:25 PM CST> <Error> <HTTP> <abc-web1> <abcAppServer> <Thread-8>
    <kernel identity> <> <101216> <Servlet: "StartupTSContentDaemonServlet" failed
    to preload on startup in webapp: "abcApps">
    javax.servlet.ServletException: [ServletContext(id=3959381,name=abcApps,context-path=/abcApps)]:
    Servlet class com.abc.servlets.startup.StartupTSContentDaemonServlet for servlet
    StartupTSContentDaemonServlet could not be loaded because the requested class
    was not found in the classpath D:\bea\user_projects\abcdomain\abcAppServer\stage\abcApps\abcApps.war;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\servlet2373.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jbcl2374.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jaxp2375.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\xerces2376.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\AS4002377.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\decrypt2378.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\cls2372.jar.
    java.lang.UnsupportedClassVersionError: com/abc/servlets/startup/StartupTSContentDaemonServlet
    (Unsupported major.minor version 48.0)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:785)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2763)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2708)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:2681)
         at weblogic.servlet.internal.HttpServer.preloadResources(HttpServer.java:552)
         at weblogic.servlet.internal.WebService.preloadResources(WebService.java:476)
         at weblogic.t3.srvr.ServletInitRunner$1.run(ServletInitRunner.java:50)
         at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:744)
         at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:46)
         at java.lang.Thread.run(Thread.java:479)
    When i look into the directories weblogic created after deployment, there is a
    cls2372.jar at 1 level above the web-inf folder and it has all the servlets in
    the correct package structure i.e. com/abc/servlets/startup
    Any idea on why this is happening or what i am doing wrong?

    also posting to servlet newsgroup.
    "Ram" <[email protected]> wrote in message
    news:[email protected]...
    >
    I have deployed a war file under weblogic 7. The application has somestartup servlets,
    which are failing to load during startup. It returns the following errormessages
    for each servlet
    ####<Jan 8, 2003 2:00:25 PM CST> <Error> <HTTP> <abc-web1> <abcAppServer><Thread-8>
    <kernel identity> <> <101249><[ServletContext(id=3959381,name=abcApps,context-path=/abcApps)]:
    Servlet class com.abc.servlets.startup.StartupTSContentDaemonServlet forservlet
    StartupTSContentDaemonServlet could not be loaded because the requestedclass
    was not found in the classpathD:\bea\user_projects\abcdomain\abcAppServer\stage\abcApps\abcApps.war;D:\bea
    \user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381
    \jarfiles\WEB-INF\lib\servlet2373.jar;D:\bea\user_projects\abcdomain\.\abcAp
    pServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jbcl2374.j
    ar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApp
    s_3959381\jarfiles\WEB-INF\lib\jaxp2375.jar;D:\bea\user_projects\abcdomain\.
    \abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\xerc
    es2376.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApp
    s_abcApps_3959381\jarfiles\WEB-INF\lib\AS4002377.jar;D:\bea\user_projects\ab
    cdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF
    \lib\decrypt2378.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdel
    ete\abcApps_abcApps_3959381\jarfiles\cls2372.jar.
    java.lang.UnsupportedClassVersionError:com/abc/servlets/startup/StartupTSContentDaemonServlet
    (Unsupported major.minor version 48.0)>
    ####<Jan 8, 2003 2:00:25 PM CST> <Error> <HTTP> <abc-web1> <abcAppServer><Thread-8>
    <kernel identity> <> <101216> <Servlet: "StartupTSContentDaemonServlet"failed
    to preload on startup in webapp: "abcApps">
    javax.servlet.ServletException:[ServletContext(id=3959381,name=abcApps,context-path=/abcApps)]:
    Servlet class com.abc.servlets.startup.StartupTSContentDaemonServlet forservlet
    StartupTSContentDaemonServlet could not be loaded because the requestedclass
    was not found in the classpathD:\bea\user_projects\abcdomain\abcAppServer\stage\abcApps\abcApps.war;D:\bea
    \user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381
    \jarfiles\WEB-INF\lib\servlet2373.jar;D:\bea\user_projects\abcdomain\.\abcAp
    pServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\jbcl2374.j
    ar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApp
    s_3959381\jarfiles\WEB-INF\lib\jaxp2375.jar;D:\bea\user_projects\abcdomain\.
    \abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF\lib\xerc
    es2376.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdelete\abcApp
    s_abcApps_3959381\jarfiles\WEB-INF\lib\AS4002377.jar;D:\bea\user_projects\ab
    cdomain\.\abcAppServer\.wlnotdelete\abcApps_abcApps_3959381\jarfiles\WEB-INF
    \lib\decrypt2378.jar;D:\bea\user_projects\abcdomain\.\abcAppServer\.wlnotdel
    ete\abcApps_abcApps_3959381\jarfiles\cls2372.jar.
    java.lang.UnsupportedClassVersionError:com/abc/servlets/startup/StartupTSContentDaemonServlet
    (Unsupported major.minor version 48.0)
    atweblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
    a:785)
    atweblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC
    ontext.java:2763)
    atweblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet
    Context.java:2708)
    atweblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServle
    tContext.java:2681)
    atweblogic.servlet.internal.HttpServer.preloadResources(HttpServer.java:552)
    atweblogic.servlet.internal.WebService.preloadResources(WebService.java:476)
    at weblogic.t3.srvr.ServletInitRunner$1.run(ServletInitRunner.java:50)
    atweblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
    r.java:744)
    at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:46)
    at java.lang.Thread.run(Thread.java:479)
    When i look into the directories weblogic created after deployment, thereis a
    cls2372.jar at 1 level above the web-inf folder and it has all theservlets in
    the correct package structure i.e. com/abc/servlets/startup
    Any idea on why this is happening or what i am doing wrong?

Maybe you are looking for