I personally use another solution. It works with the servletrunner, I don't
know if it works with other servlet engine (feeback would be appreciated).

Servletrunner knows the concept of webbapp (a set of classes and HTML files
that compose a web application) for this to work you have to manipulate the
servletrunner default.cfg file. Here's how to do:

in the default.cfg add a the two lines:
server.webbapp.your_app_alias_name.mapping=/your_app_alias_name
server.webbapp.your_app_alias_name.docbase=dir_where_your_app_reside

The default.cfg file that commes with the JSDK 2.1 contains a example of
this. Lets examine it
server.webapp.examples.mapping=/examples
server.webapp.examples.docbase=examples

the first line indicate that whenever you type
http://your_host:8080/examples
you tell the servletrunner that you want to access the examples web
application. The second line tells the servletrunner where is the folder
containning all your application file (.class and .HTML files)

Lets buid a more complex exemple.
suppose my_compagnie have two web applications and for the simplicity of
installation you want to have these applications in a separate folder in the
servletrunner folder. Here is the hierachie:

jsdk2.1
    webpages
    examples
    my_compagnie   // the folder that contains applications for my_compagnie
        my_application1
            index.html
            WEB-INF
                servlets   // servlet classes for my_application1
                mappings.properties
                mime.properties
                servlets.properties
                webapp.properties
            images
            html
        my_application2
            WEB-INF
                servlets   // servlet classes for my_application2
                mappings.properties
                mime.properties
                servlets.properties
                webapp.properties
           images
           html


here is the default.cfg:
server.webapp.my_application1.mapping=/cool_appl
server.webapp.my_application1.docbase=my_compagnie/my_application1

server.webapp.my_application2.mapping=/big_appl
server.webapp.my_application2.docbase=my_compagnie/my_application2

Here is how to access your 1st application from a web browser:
http://your_host:8080/cool_appl
"/cool_appl" will map to the "server.webapp.my_application1.mapping=..." in
de default.cfg file. The servlet runner will then use the
"server.webapp.my_application1.docbase=..." to know where to found the file
that compose this application. Because you didn't mention any particular
file or servlet in your URL, the servlet runner will try to return a file
named "index.html" located at the root of your application folder. (This
file is called the welcomefile and its name and location can be change in
the webapp.properties file located in the WEB-INF folder inside your
application folder)

Here is how to access your 2nd application:
http://your_host:8080/big_appl/servlet/start
"/big_appl" id mapped to "server.webapp.my_application2.mapping=/big_appl"
so the folder containing your application stuff is
"jsdk2.1/my_compagnie/my_application2". The difference it that you don't
have a welcomefile ("index.html") in the "my_application2" folder so you can
not simply type "http://your_host:8080/big_appl". (In this exemple I assume
you have a servlet named start)

Of course instead of modifying default.cfg you can write your own
"my_compagnie.cfg" file and start the servlet runner with this file:
"startserver -config my_compagnie.cfg"

Last but not least: you can even pour my_compagnie.cfg inside the
my_compagnie folder and start the servlet runner with "startserver -config
my_compagnie/my_compagnie.cfg". But don't forget that the path in the
"my_compagnie.cfg" must be relative to location of the config file itself
thus the line:
    server.webapp.my_application1.mapping=/cool_appl
    server.webapp.my_application1.docbase=my_compagnie/my_application1
    server.webapp.my_application2.mapping=/big_appl
    server.webapp.my_application2.docbase=my_compagnie/my_application2
becomes:
    server.webapp.my_application1.mapping=/cool_appl
    server.webapp.my_application1.docbase=my_application1
    server.webapp.my_application2.mapping=/big_appl
    server.webapp.my_application2.docbase=my_application2


OK, that's all, hope this help.

I've learn all this the hard way! many days of trial and errors and
frustration! I would very appreciate if someone could confirm and cover the
still dark areas of the .cfg file.

ZartC++





>     One  possible solution would be to organize your servlets in packages
> like this:
>
>     package counter;
>     ...
>     public   class MyServlet .....
>
>     ...
>
>     than you should put this in a subdirectory called counter and acces it:
>
>     http://www.somewhere.com/servlet/counter/MyServlet
>     or
>      http://www.somewhere.com/servlet/counter.MyServlet
>
>
>     Hope it helps,
>
>       Best wishes,
>                                      Andras
>         -----Original Message-----
>         From: Alec Matias <[EMAIL PROTECTED]>
>         To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
>         Date: Wednesday, June 09, 1999 8:51 AM
>         Subject: virtusl directory
>
>
>         Hi!,
>
>         I'm using Java Web Server and I want to know if it is possible to
> create a subdirectory on the servlets directory of java web server so that
> I can group my servlets classes. If possible, how can I access those
> servlets on browser? what things to do or setups on java web server in
> order for me to refer to that servlets on the subdirectory of servlets?Thanks.
>
>         Alec Matias
>         Programmer/Analysts
>         Information Systems Services
>         ASPANET Resources, Inc.
>         www.aspanet.com
>

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to