Win a copy of Pragmatic AI this week in the Artificial Intelligence forum!

Tim Holloway

+ Follow
since Jun 25, 2001
Tim likes ...
Android Eclipse IDE Linux
Forum Moderator
Long-time moderator for the Tomcat and JavaServer Faces forums. Designer and manager for the enterprise server farm, which runs VMs, a private cloud and a whole raft of Docker containers.
These days, doing a lot of IoT stuff with Arduinos and Raspberry Pi's.
Jacksonville, Florida USA
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Tim Holloway

Welcome to the Ranch, Ruben!

I'm not a big fan of client-side web authorization. If the client machine gets stolen, then the thief gets the keys to your account as a free bonus. If the client machine gets broken, any replacement machine isn't going to come with the required client cert.

Still, there's a use for almost everything.

And there's absolutely no reason I can think of why Tomcat's security system should be caring whether Tomcat is containerized or not. Certainly it never made a difference for me.

About the best guess I can make is that you might be losing any changes made to your Tomcat container if you do a cold restart of the container. Since unless you create and save and then start a new image, a cold start loses all changes made from the last container run.
11 hours ago
I don't think there's a limit in Java, but if there is you should find it in the autodocs for, which is the class that manipulates filenames and paths and therefore would be most affected.

Limits on filename sizes and file paths are generally not only OS-dependent, but often dependent on the filesystem itself. In fact, the Joliet filesystem standard for CD-ROM media limits the total file path to 64 Unicode characters, although the Rock Ridge extensions extend that to about 256 bytes. Note that Unicode takes 2 bytes, but ASCII only takes 1 byte. This is true for both Windows and Linux, since the standard is OS-independent.

I personally recommend using forward ('real" slash) delimiters in file paths in Java even when you "know" that the app will never run on a Mac, Linux, or other platform. It's not only more portable, it also saves you the risk of getting zapped when you forget to double-up on backslashes.

But whether your slashes are real or Microsoft, whatever path length limitations you have are likely to be the same.
15 hours ago
Hypertext Markup Language (HTML) is defined by the Internet Engineering Task Force (IETF) by a set of IETF Request For Comment (RFC) documents. For example, HTML 2.0 is defined by RFC1866. There are superceding RFCs such as those for HTML4 and HTML5, and I'll let your search engine be your guide on them.

JSP tags are defined as part of the J2EE and later JEE standard specifications. Originally by Sun, later by Oracle, and now, I suppose by Apache Jakarta.

Struts tags are define as part of the Struts documentation. Struts, unlike HTML and JSP does not have a major industry group behind it (unlike JavaServer Faces, which is also part of the JEE standard specs). However, it does have a robust defining community of its own.

Functionally, HTML is primarily designed to provide presentation and layout of a document with (optionally) GUI controls on it. HTML was originally pretty sloppy, with no standard quoting character (either single or double quotes allowed), case-insensitive tags, and no rigour in whether a given element was properly terminated. A variant of HTML is xhtml, which is defined as requiring XML constraints: case-sensitive, uses double-quotes as its attribute delimiters and requires that all elements be either self-terminated (<X/>) or terminated by a matching close tag (<X></X>).

JSP tags provide directives to the Java web application container and allow access to JEE objects such as the HttpServletRequest and session-scope objects. They act essentially as an extension to the HTML tags, since HTML knows nothing about J2EE/JEE. JSP tags require strict (XML-style) syntax, I believe. There are also other JSP markups like scriptlets (which should be avoided) and meta-information like tag library definitions that use a special syntax such as "<%". <br />
JSP tags are likewise extendable. In addition to the built-in tags, there are standard functional tagsets, such as the Java Standard Template Language (JSTL), which allows defining "looping" and conditional constructs, in addition to other, (sometimes questionable) abilities.

You can also define your own custom JSP tag libaries.

In fact, Struts is built on a set of Struts custom JSP tag libraries in conjunction with a controller servlet and various utility base classes and interfaces. The Struts tags allow more of an automated Model/View/Controller operation (technically, they call it Model 2) and define smarter GUI controls.

JavaServer Faces (JSF) took that one step further and made it into full MVC with POJOs for model objects and validators for input data. JSF was designed in part by some of the people who created Struts and wanted to remedy some of the more annoying aspects of Struts. JSF originally also was built using custom taglibs, but JSF version 2 changed the View Models from JSPs to templates (data) and the templates are compiled to create JSF control structures instead of servlets. To the GUI designer it wasn't that much of a change, but internally it was radically different. JSF was also designed with the idea that other target formats besides HTML should be possible, but this hasn't been exploited much so far.

All of the JSP and Struts (and JSF) tags are abstractions. Only HTML tags are understood by web clients (browsers). So the JSP and Struts rendering mechanisms are responsible for converting the JSP, custom, and Struts tags to standard HTML (or xhtml).
15 hours ago

Paul Clapham wrote:I'm not even familiar with the word "fuddle" myself. To me it only brings to mind the phrase "fuddle duddle", which... well, you can read about it here: Fuddle duddle.

More often an archaic term for "confused", especially by strong drink. In fact, generally seen as "befuddled".

I have heard "fuddy duddy" instead of "fuddle duddle", but in either case, it would be often applied in conjunction with the word "old", meaning someone who's begun to lose their mental faculties with a side order of not keeping up with the times.

English has a LOT of limited-use expressions, which are more or less just idioms, although often coming from a former broader usage. You can look very fluent IF you know how to use them correctly, and very funny if you don't. It's not the only language by far that's like that, but it's what we have to work with.

I think 1000-2000 words is the generally-accepted number needed to know to communicate well in most languages with 5000-10000 making you fluent. In any event, the more colourful usages are generally discouraged in professional writing as they can make the work harder to read and/or clich├ęd.
19 hours ago

Campbell Ritchie wrote:

Jan de Boer wrote:. . . (*) Should I use 'that' or 'who' here by the way?

In Britain, for a person, always who. This is one of those points where the grammar differs depending on which side of the Pond you are.

I would disagree on that. I suppose that "that" would pass in careless speech, but for a person rather than a thing, "who" would be proper even in the barbarous colonies.
19 hours ago

kulunu Chamath wrote:Did you add "mysql-connector-java-5.1.23-bin" jar library file?

I think we can take that as a "Yes". The error was "Unable to establish connection", and without a driver, there's no way to know where to connect to. If at all.
2 days ago
Welcome to the Ranch, Chicquie!

It sounds like you already have a copy of WebLogic running on that machine.

I'm not sure what "VIP" is supposed to mean, but I guess it's "Virtual IP" and that doesn't make sense in terms of a physical machine. If a physical machine has multiple IP addresses (not counting localhost), they are known as "alias IPs".

In any event, you don't get a separate set of ports for each IP address. The same ports are used by all IP addresses on a host. Even if you have an application that only listens to those ports on a single IP address.
2 days ago
There are actual servlet test frameworks. Or you can launch a webapp server with debugging enabled and attach a Java debugger to it.

The best way to test a servlet, however, is to move as much of the code as possible into POJOs and test the POJOs. Stuff that requires actual access to HttpSession, Servlet Request and Response objects, JNDI, and other JEE facilities can't be tested that way, but at least you can test your business logic without the slow cumbersome business of launching a servlet framework.

And servlets should not be obtaining JDBC drivers in any case. Connection pools are more efficient and more portable.
2 days ago
"Lampoon" isn't common, perhaps a bit old-fashioned, but in addition to its usage as a stronger, less gentle alternative to the verb "satirize", there are 2 famous groups: The Harvard Lampoon (I have their "Bored of the Rings"), which used to have a radio program, and the National Lampoon, which brought you Chevy Chase's Christmas Vacation.

"Visage" is mostly poetical. Or when you've run out of alternatives for saying "face".

"Smite" is also mostly poetical, which is why it hasn't adopted more modern conjugations. In addition to poetry, of course, it's used when describing archaic forms of combat.

Seamy works well with politicians. I'd rate it as a tad less oily than "sleazy". Sadly, outright sleaze is more popular in the modern USA.
2 days ago

Stephan van Hulst wrote:In Dutch the words are 'wijdte' and 'breedte'. They are interchangeable, but I think 'breedte' is used more often.

And since Dutch and English have common ancestry, it appears that the rot goes back even further!
3 days ago
1. Do you have MySQL server running on the same machine?
2. Is it configured to accept TCP/IP connections or just the default (local pipes?)
3. If both of the above are true, do you have any firewall rules defined that would interfere with a localhost tcp connection to port 3306?
3 days ago
Breadth is a fine old English word from back before the Normans polluted the language with a lot of French. It has the same roots as German "breit". A related word is "broad", as in the "broad side of a barn", which in turn has served as the basis for a name of a unit in atomic physics.

Breadth and width are basically 2 words meaning the same thing, but width has become more associated with scientific and mathematical uses, and breadth is more colloquial. Also while "width" is often applied to things that are taller than they are wide, breadth generally implies something that's much wider than it is tall. But there's no precision to this - a hallway could have a breadth of 6 feet and a height of 10 feet. And you'd probably say it's "6 feet wide" if asked about only the horizontal extent. 

A lot of the insanity of the English language can be explained by its tendency to mug other languages and steal their words. But both breadth and width are originally English. Then again, consider how different word usages can be between English and American.
3 days ago
You attach a javascript onclick function to the cell. The onclick function uses AJAX to pull the data value from the appserver and enter it into the cell display.
Up until about the middle of the Tomcat 8 releases, copying a WAR into TOMCAT_HOME/webapps when a webapp of the same name was already deployed via exploding would cause the new WAR to be ignored and the existing webapp in the webapps subdirectory with the same name as the WAR to continue to be used. After that point, supposedly things changed and now you're (theoretically) able to deploy a new version of a webapp just by copying a WAR.

In any event, hot-deploy on Tomcat has been dicey for a very long time, so the safest approach is to terminate Tomcat, delete all the files/subdirectories in the Tomcat work, temp, logs, and webapps directories that are related to that webapp, copy in the WAR to the webapps directory and restart Tomcat.

This is all based on the default cases. If you have a deployment descriptor in TOMCAT_HOME/conf/Catalina/localhost pointing to some other location for the webapp code, if you have auto-explosion turned off, or certain other non-default options set, your results may vary.
4 days ago

Pete Letkeman wrote:Interestingly enough Oktoberfest ( which about 90 minutes from me bills itself as the one of the largest if Canada, possibly even North America.
However this could be marketing speak and there are various other Oktoberfest celebrations held in North America and around the world.

I think "Zinzinatti" would dispute that.

Cincinatti, Ohio was settled in large part by Germans who found that particular bend of the Ohio River to be reminiscent of the Rhine, so my Kentucky relatives told me. The seasonal changes are different, so their festival is supposed to be a week or so off from the German one. This year, it's from Sept 21-23d.

I've never been to it, but the zoo serves brat- and mettwurst. And had, to my surprise, a "bug" house.

The local fest down here isn't large - hardly a German restaurant in town at the best of times, and the 90-degree heat helps kill the authenticity. And since I don't care for beer, I've only been once. I loaded up on wurst and German potato salad and ended up on too many sales call lists.

4 days ago