[ Team LiB ] Previous Section Next Section

Why Debugging Is Tough

Web applications tend to be difficult to debug because they are often made up of cooperating elements that run on different hosts. To add to the diversity, a single component may be an aggregation of programming languages or technologies. For example, you have already constructed applications made up of HTML and scriptlets that run on a server and interact with Web browsers. Problems might appear at the server or browser or as a result of errors in the HTML or Java.

In the case of JSPs, you've seen that there's a considerable amount of behind-the-scenes work done by the underlying container in translating the JSP source to a servlet. Problems arise, particularly when using scriptlets, when the JSP developer does not understand the supporting objects and execution environment. In addition, debugging JSPs usually means working with the implementing servlets.

Server-side programs tend to have more threading problems and more database-locking problems because they usually perform multiple services simultaneously. One person running an application is unlikely to try to edit the same record in two different windows, but two people might try to use the same server to edit the same record.

Finally, Web applications are dependent upon other software to provide a workable environment and for resource management. Problems can arise because of configuration errors or because containers or application servers cache executables.

    [ Team LiB ] Previous Section Next Section