JavaServer Pages Technology - Frequently Asked Questions

Open all Close all

    General FAQ

  • What is JavaServer Pages technology?

    JavaServer Pages (JSP) technology provides a simplified, fast way to create web pages that display dynamically-generated content. The JSP specification, developed through an industry-wide initiative led by Sun Microsystems, defines the interaction between the server and the JSP page, and describes the format and syntax of the page.

  • How does the JavaServer Pages technology work?

    JSP pages use XML tags and scriptlets written in the Java programming language to encapsulate the logic that generates the content for the page. It passes any formatting (HTML or XML) tags directly back to the response page. In this way, JSP pages separate the page logic from its design and display.

    JSP technology is part of the Java technology family. JSP pages are compiled into servlets and may call JavaBeans components (beans) or Enterprise JavaBeans components (enterprise beans) to perform processing on the server. As such, JSP technology is a key component in a highly scalable architecture for web-based applications.

    JSP pages are not restricted to any specific platform or web server. The JSP specification represents a broad spectrum of industry input.

  • What is a servlet?

    A servlet is a program written in the Java programming language that runs on the server, as opposed to the browser (applets).

  • Why do I need JSP technology if I already have servlets?

    JSP pages are compiled into servlets, so theoretically you could write servlets to support your web-based applications. However, JSP technology was designed to simplify the process of creating pages by separating web presentation from web content. In many applications, the response sent to the client is a combination of template data and dynamically-generated data. In this situation, it is much easier to work with JSP pages than to do everything with servlets.

  • Where can I get the most current version of the JSP specification?

    The JavaServer Pages 2.1 specification is available for download from here.

  • How does the JSP specification relate to the Java Enterprise Edition 5 Platform?

    The JSP 2.1 specification is an important part of the Java EE 5 Platform. Using JSP and Enterprise JavaBeans technologies together is a great way to implement distributed enterprise applications with web-based front ends.

  • Which web servers support JSP technology?

    There are a number of JSP technology implementations for different web servers..

  • Is Sun providing a reference implementation for the JSP specification?

    The GlassFish project is Sun's free, open-source Java EE 5 implementation.  It includes an implementation of JSP technology version 2.1.

  • How is JSP technology different from other products?

    JSP technology is the result of industry collaboration and is designed to be an open, industry-standard method supporting numerous servers, browsers and tools. JSP technology speeds development with reusable components and tags, instead of relying heavily on scripting within the page itself. All JSP implementations support a Java programming language-based scripting language, which provides inherent scalability and support for complex operations.

  • Where do I get more information on JSP technology?

    The first place to check for information on JSP technology is here. This site includes numerous resources, as well as pointers to mailing lists and discussion groups for JSP technology-related topics.

    Technical FAQ

  • What is a JSP page?

    A JSP page is a page created by the web developer that includes JSP technology-specific and custom tags, in combination with other static (HTML or XML) tags. A JSP page has the extension .jsp or .jspx; this signals to the web server that the JSP engine will process elements on this page. Using the web.xml deployment descriptor, additional extensions can be associated with the JSP engine.

    The exact format of a JSP page is described in the JSP specification..

  • How do JSP pages work?

    A JSP engine interprets tags, and generates the content required - for example, by calling a bean, accessing a database with the JDBC API or including a file. It then sends the results back in the form of an HTML (or XML) page to the browser. The logic that generates the content is encapsulated in tags and beans processed on the server.

  • Does JSP technology require the use of other Java platform APIs?

    JSP pages are typically compiled into Java platform servlet classes. As a result, JSP pages require a Java virtual machine that supports the Java platform servlet specification.

  • How is a JSP page invoked and compiled?

    Pages built using JSP technology are typically implemented using a translation phase that is performed once, the first time the page is called. The page is compiled into a Java Servlet class and remains in server memory, so subsequent calls to the page have very fast response times.

  • What is the syntax for JavaServer Pages technology?

    The syntax card and reference can be viewed or downloaded from our website.

  • Can I create XML pages using JSP technology?

    Yes, the JSP specification does support creation of XML documents. For simple XML generation, the XML tags may be included as static template portions of the JSP page. Dynamic generation of XML tags occurs through bean components or custom tags that generate XML output. See the white paper Developing XML Solutions with JavaServer Pages Technology ( PDF) for details.

  • Can I generate and manipulate JSP pages using XML tools?

    The JSP 2.0 specification describes a mapping between JSP pages and XML documents. The mapping enables the creation and manipulation of JSP pages using XML tools.

  • How do I use JavaBeans components (beans) from a JSP page?

    The JSP specification includes standard tags for bean use and manipulation. The useBean tag creates an instance of a specific JavaBeans class. If the instance already exists, it is retrieved. Otherwise, it is created. The setProperty and getProperty tags let you manipulate properties of the given object. These tags are described in more detail in the JSP specification and tutorial.