We present an approach for statically reasoning about the behavior of Web applications that are developed using Java Servlets
and JSP. Specifically, we attack the problems of guaranteeing that all output is well-formed and valid XML and ensuring consistency
of XHTML form fields and session state. Our approach builds on a collection of program analysis techniques developed earlier
in the JWIG and Xact projects, combined with work on balanced context-free grammars. Together, this provides the necessary foundation concerning
reasoning about output streams and application control flow.