Just when someone asked you if Java really delivers what it promises, especially about compile once run anywhere. I just deployed a webapp developed using Struts 2, Spring, Hibernate in Websphere 6.1. And as expected, the deployment failed. After a few googling around and friend's advice, it turns out that I have to configure some properties for the server.
Here are the properties:
The new properties added are the last two, and here is a bit explanation on the property:
- com.ibm.ws.webcontainer.invokefilterscompatibility = true
Quoted from ibm docs (see here)
With
this custom property, the Web container calls custom servlet filters
before looking for welcome files. Also, if the Web container cannot
find a resource, it calls the custom servlet filters before creating
a FileNotFoundException exception. This change enables the Web container
to verify whether the custom servlet filters modify the path to a
resource.
In short, this property enables custom servlet filter to process http request and Struts 2 utilizes Servlet Filter.
- com.ibm.ws.webcontainer.assumefiltersuccessonsecurityerror = true
Quoted from ibm docs (see here)
When a request is received for a static file which does not exist, the
web container calls defined servlet filters. If the filters do no
successfully complete, a 404 error code is set. In a situation where
application security is enabled, a security check is performed as part
of filter invocation. Typically if the security check fails the web
container considers the filters to have failed and still sets a 404
error code instead of the 401 error code that indicates the failure of a
security check. The 404 error code enables the requester to access the
static file without logging on.
In short, just to be more secure this property is set to true. Anyway, this property doesn't have any thing to do with Struts 2.
To make sure everything works, don't forget to restart the server.
Tuesday, August 14, 2012
Friday, April 27, 2012
VirtualBox misc
A note for myself on my dealings with VirtualBox, refer to this link for complete command:
Unrecommended workaround is:
Guest Windows: go to Services, find VirtualBox Guest Additions service and stop it. You will find that time synch is no longer working, but I'm not sure whether other functionalities regarding virtual box - host integration are affected or no.
Guest Linux: /etc/init.d/vboxadd-timesync stop
Disclaimer! Never tried the linux version, found it during googling.
- Changing the virtual harddisk UUID (.vdi)
VBoxManage internalcommands sethduuid /VirtualMachine/virtualmachine.vdi
- Resizing the virtual harddisk
VBoxManage modifyhd virtualmachine.vdi --resize SIZE_MB
- Disable time synchronization
VBoxManage setextradata LHBU "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
Unrecommended workaround is:
Guest Windows: go to Services, find VirtualBox Guest Additions service and stop it. You will find that time synch is no longer working, but I'm not sure whether other functionalities regarding virtual box - host integration are affected or no.
Guest Linux: /etc/init.d/vboxadd-timesync stop
Disclaimer! Never tried the linux version, found it during googling.
Subscribe to:
Posts (Atom)