tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter V. Gadjokov" <>
Subject RE: Case Sensitivity in URLs (was RE: BugRat Report #92 was clos ed(apparently by: Craig R.)
Date Tue, 12 Sep 2000 02:59:57 GMT
>The real Java goal is WORA ("write once run anywhere") -- in
>other words, you should be able to run your app UNCHANGED on any

Agreed, that is the real goal. And much as I like Java, 
we can't deny the fact that in some places, it achieves WORA by 
exhibiting a strong preference for _one_ design choice, typically 
the Unix one (How WORA are, System.exit(int foo)
and the entire java.lang.Process class?). The current Tomcat 
implementation is (not nearly as blatantly, granted) taking the
same approach - WORA means the platform I'm used to. I don't mean
to imply some  sort of personal accusation against the 
implementors - I  gratefully make use of their work on a daily
basis. Subtle and often unwitting platform bias is everywhere, 
in  standards, in APIs, in implementations.  It is also the case
that some differences simply have no really clean WORA solution
and the correct solution in such situations is to support the
specific features of the underlying platform, as an option and
hopefully in some relatively general, transparent manner. 
I'm arguing that this is such a feature. It is allowed
by the RFC, it makes developer's and user's lives easier on
the case-insensitive platforms and it does not _prevent_ the
writing of applications that behave well in either case. The fact 
is, the case-insensitive systems exist, they are common and should
be supported. I would guess that Apache running on Darwin/OSX with
HFSPlus treats URLs as case insensitive when serving static content
and there is bugger all one can do about it, should Tomcat running
in such an environment not have the option of behaving in a manner
consistent with the rest of the system?

>Going the other direction (case-sensitive to case-insensitive) -- which
>was the issue for Rhapsody -- is much less a problem because the code
>that previously worked still works unless you were using multiple
>filenames in the same directory that only differed in case.

Right, so in the default (case sensitive) case, just about all apps will
work if case sensitivity were turned off. And going the other way? It
might not work, if you relied on this behaviour you may have written
a not-very-portable app - but it is also quite possible that you 
needed the feature for consistency but your app is perfectly 
portable and behaves well either way. 

I don't want to get into a religuous argument about this but the issues
raised so far seem to be:

- This is support for a windows specific feature 
- This might allow you to write a nonportable app

The first one is not entirely accurate and the second does not seem
like a good enough reason to deny functionality that does not
neccessarily break portability to developers using some widely 
available, popular platforms. I very much understand the reluctance 
to put something like this in, pretty it is not - but it strikes me 
as practically useful to the point of being neccessary. 


View raw message