Re: Access Error in Servlet

Benoit,

Thanks for the response. I did try re-compiling and this changed
nothing.

A bit more info though:

1. When I first tried this, only the servlet's class file
(TestServlet.class) was placed under the www/servlet directory of
jigsaw. I left the supporting classes (PoolObject.class and 
ResultCodes.class) elsewhere (but still on the classpath specified to
java when running the server). This resulted in the access error I
originally mentioned.

2. So I tried moving all of the files (servlet as well as support class
files) into their respective directories all located under the
www/servlet directory. When I do this, the access error is NOT
encountered. I find this odd.

3. I am not sure if the following is a result of my browsing the servlet
directory using jigadmin but I believe so. I do see the following
messages displayed on jigsaw's console:

	Create Servlet : PoolObject.class
	Create Servlet : ResultCodes.class

These files are support classes rather than servlet classes. In
jigadmin, I see no servlet wrappers created for these despite the
messages on the console. Perhaps this is just an attempt by the servlet
indexer to create servlet wrappers which ultimately fails (because they
are not servlets)?

Cheers,

David

Benoit Mahe wrote:
> 
> Well, strange, did you try to recompile your servlet?
> 
> Regards, Benoit.
> 
> "David P. White" wrote:
> 
> > Hello,
> >
> > I have placed a servlet's class file in the www/servlet directory to be
> > executed by jigsaw. I then start jigsaw and try to access the servlet by
> > pointing my browser to
> > http://localhost:8001/servlet/LicenseManagerServlet. My browser displays
> > a dialog saying that the document has no data. I also get the following
> > shown on jigsaw's console:
> >
> > -------------------------------
> >
> > c:\jigsaw>java.exe -cp
> > .;E:\jdk1-2-1\jre\lib\rt.jar;E:\jacl1-1-1\jacl.jar;E:\jacl1-1-1\tcljava.jar;C:\ORANT\jdbc\Oracle-JDBC-Classes111.zip;E:\jsdk2-1\servlet.jar;D:\hms\java;c:\jigsaw\classes\jigsaw.zip
> > org.w3c.jigsaw.Main -root C:\Jigsaw\Jigsaw
> >
> > loading properties from: C:\Jigsaw\Jigsaw\config\server.props
> > Jigsaw[2.0.2]: serving at http://notacow:8001/
> > *** Warning : no logger specified, not logging.
> > JigAdmin[2.0.2]: serving at http://notacow:8009/
> > Create Servlet : LicenseManagerServlet.class
> >
> > java.lang.IllegalAccessError: try to access class
> > hmssoftware/licensing/LicenseManager from class
> > hmssoftware/licensing/LicenseManagerServlet
> >         at
> > hmssoftware.licensing.LicenseManagerServlet.init(LicenseManagerServle
> > t.java:15)
> >         at
> > org.w3c.jigsaw.servlet.ServletWrapper.launchServlet(ServletWrapper.ja
> > va:367)
> >
> > (large stack trace continues...)
> >
> > -------------------------------
> >
> > The class LicenseManagerServlet is public. It instantiates an instance
> > of the LicenseManager class which has package scope. Both classes are in
> > the same package. The LicenseManager class is on the classpath. So why
> > is this not working? I have done exactly this sort of thing with other
> > servlet runners and it works just fine. Any ideas?
> >
> > Thanks,
> >
> > David
> 
> --
> - Benoît Mahé -------------------------------------------------------
>                       World Wide Web Consortium   (W3C)
>                     Architecture domain - Jigsaw Engineer
> 
>                 http://www.w3.org/People/Mahe  - bmahe@w3.org
> ---------------------------------------------------------------------

Received on Friday, 11 June 1999 12:24:21 UTC