You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ka...@shp-online.de on 2000/12/22 17:43:30 UTC

Karsten Knecht/SHP ist außer Haus.

Ich werde ab  22.12.2000 nicht im Büro sein. Ich kehre zurück am
03.01.2001.

Ich werde Ihre Nachrichten nach meiner Rückkehr beantworten.
In dringenden Fällen wenden Sie sich bitte an einen meiner Kollegen.
Vielen Dank.

Diese Nachricht dient nur zu Ihrer Information und wurde automatisch
erstellt.


Re: Tomcat 3.2.1 servlet load on startup problem

Posted by "Craig R. McClanahan" <Cr...@eng.sun.com>.
"Sunny L.S.Chan" wrote:

> Hi, I have been following the instructions in the tomcat faq to start a
> servlet whenever tomcat starts, but with no luck, can someone give me a
> light?
> When-ever I start tomcat, the console should beam out a message which says
> "Servlet Loaded" and set a "appServerPath" variable, however, its just
> simply not load.
> I can run the servlet manually with no problem, the console will beam out
> the message, and set that variable
>
> here is the context path in the server.xml of tomcat:
> <Context path="/myDir"
>                  docBase="C:\myDir"
>                  crossContext="true"
>                  debug="0"
>                  reloadable="true"
>                  trusted="false" >
> </Context>
>
> Here is the web.xml in the C:\myDir\WEB-INF\:
> which dezscribes the servlet to load:
> <servlet>
>   <servlet-name>servletInit_newsgroup</servlet-name>
>   <servlet-class>com.myservlet.servletInit_newsgroup</servlet-class>
>         <load-on-startup>1</load-on-startup>
> </servlet>
>
> the servlet is located in C:\myDir\WEB-INF\classes\com\myservlet\
>
> am I missing something?
>

You've got all the configuration stuff right ... the problem is in your servlet.

Your initialization message is generated in the doGet() method, which is only called
when a request actually comes in.  If you want to do things when the servlet is first
loaded, place that code in the init() method instead.

Note that init() does not receive a request object (because it is not called as the
result of a request).  Therefore, you will need to use some other technique to
initialize your "appServerPath" context attribute.  A common technique would be to use
a servlet initialization parameter that is read in the init method:

    <servlet>
        <servlet-name>servletInit_newsgroup</servlet-name>
        <servlet-class>com.myservlet.servletInit_newsgroup</servlet-class>
        <init-param>
            <param-name>serverPath</param-name>
            <param-value>http://www.mycompany.com:8080</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

and then in your servlet:

    public void init() throws ServletException() {

        String path = getServletConfig().getInitParameter("serverPath");
        getServletContext().setAttribute("appServerPath", path);
        System.out.println("Servlet loaded");

    }

>
> Thanks!
>

Craig McClanahan



Tomcat 3.2.1 servlet load on startup problem

Posted by "Sunny L.S.Chan" <su...@delirium.com.hk>.
Hi, I have been following the instructions in the tomcat faq to start a
servlet whenever tomcat starts, but with no luck, can someone give me a
light?
When-ever I start tomcat, the console should beam out a message which says
"Servlet Loaded" and set a "appServerPath" variable, however, its just
simply not load.
I can run the servlet manually with no problem, the console will beam out
the message, and set that variable

here is the context path in the server.xml of tomcat:
<Context path="/myDir"
                 docBase="C:\myDir"
                 crossContext="true"
                 debug="0"
                 reloadable="true"
                 trusted="false" >
</Context>

Here is the web.xml in the C:\myDir\WEB-INF\:
which dezscribes the servlet to load:
<servlet>
  <servlet-name>servletInit_newsgroup</servlet-name>
  <servlet-class>com.myservlet.servletInit_newsgroup</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>

the servlet is located in C:\myDir\WEB-INF\classes\com\myservlet\

am I missing something?

Thanks!