You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Matthias Kerkhoff <ma...@BESToffers.de> on 2001/02/09 05:55:06 UTC

More fixes for WLS 5.1 SP8

Hi all,

attached are some fixes for bugs still left in Weblogic 5.1 SP8.
Each of these bugs has been reported two or more months ago
together with a proposed fix/solution/workaround. I really don't
know why these fixes have not been included in SP8, but maybe
BEA has some good reasons for leaving them out. Use them at your
own risk - i decline any responsibilities.

Anyway, the fixes work fine for me and should do so for all
interested developers too.

They solve ...
... "sess undefined exception"
    (first mentioned in a msg from John Raley at 11/16)
    The problem was caused from the fact, that weblogic
    did not recognize properties/beans that have been
    created from a custom tag (via a TEI).
    
    
... "ApplicationResources.properties not found"
    (probably first noticed from Jeff Klein at 11/29)
    The Weblogic war-classloader only finds (and unpacks)
    *.class files from war archives. With the fix, any
    files stored under WEB-INF/classes are unpacked - et
    voilá, the MessageTag problem, that nearly everyone
    who's trying struts on WLS has noticed, goes away.
    No more need to unpack properties or other resources
    from the war.

I've also posted some slightly changed JSPs from struts-test.war
(to Struts-Dev), which will no longer throw exceptions if executed
w/o cookie-based sessions.

Together with the fixes attached to this mail, there should be
only one or probably two unsolved problems left.

The one that's definitly open is the <bean:include> tag, which
does not work on WLS w/ URLRewriting. The problem is caused from
the fact, the WLS encodes the session id as query-param and not
(as explicitly stated in the J2EE-spec) as path-param.
However, I have a solution for this, but the solution requires
some changes in the bean:include implementation. Comments?

The other, probably open issue is the so-called "dreaded class
cast exception", which may or may not be fixed. (Anyone still
getting it?). The problem, which I've last seen in SP6, was
caused from the fact that servlets and JSPs use (under some
circumstances) different classloaders.
If, for example, a servlet creates a Foo-instance, stores this
object in the shared scope (request, session or application) and
forwards to the JSP, _and_ the JSP retrieves the object and casts
it back to the Foo class (or checks instanceof) things will
completly go wrong (typically a ClassCastException will be thrown,
but I've also seen other "effects", like silently droppped
ActionErrors, which are more difficult to find)
However, I'm not sure if this bug still exists with SP8. The only
indication that this may be the case was the message on 1/19 from
Magnus Petersson. Are there others having the some problem ?
(BTW: Does anybody know, if turning on JSP-precompilation in web.xml
      solves the problem even if the class files are up-to-date ?)

-- 
Matthias                          mailto:make@BESToffers.de

Re: More fixes for WLS 5.1 SP8 - installation instructions

Posted by Matthias Kerkhoff <ma...@BESToffers.de>.
It was (is) late, so please forgive me not having mentioned
how the jar attached in my previous mail must be installed.

Installation:

a) Use the Jar ONLY with Weblogic 5.1 & service pack 8. It will not
   work with earlier versions and may not work with future service
   packs.

b) Add wlssp8-struts.jar to the weblogic.class.path BEFORE any
   other weblogic jar (especially before weblogic510sp8.jar).
   Do not add it to the system class path.

c) Stop the server.

d) Delete any left-over temporary files (look for _tmp_war_WebAppName
   directories).

e) Start the server again.

Matthias                        (mailto:make@BESToffers.de)



Re: More fixes for WLS 5.1 SP8 - installation instructions

Posted by Matthias Kerkhoff <ma...@BESToffers.de>.
It was (is) late, so please forgive me not having mentioned
how the jar attached in my previous mail must be installed.

Installation:

a) Use the Jar ONLY with Weblogic 5.1 & service pack 8. It will not
   work with earlier versions and may not work with future service
   packs.

b) Add wlssp8-struts.jar to the weblogic.class.path BEFORE any
   other weblogic jar (especially before weblogic510sp8.jar).
   Do not add it to the system class path.

c) Stop the server.

d) Delete any left-over temporary files (look for _tmp_war_WebAppName
   directories).

e) Start the server again.

Matthias                        (mailto:make@BESToffers.de)