What is JavaServer Pages technology?
How does the JavaServer Pages technology work?
What is a servlet?
Why do I need JSP technology if I already have servlets?
Where can I get the most current version of the JSP specification?
How does the JSP specification relate to the Java 2 Platform, Enterprise Edition?
Which web servers support JSP technology?
Is Sun providing a reference implementation for the JSP specification?
How is JSP technology different from other products?
Where do I get more information on JSP technology?
What is a JSP page?
How do JSP pages work?
Does JSP technology require the use of other Java platform APIs?
How is a JSP page invoked and compiled?
What is the syntax for JavaServer Pages technology?
Can I create XML pages using JSP technology?
Can I generate and manipulate JSP pages using XML tools?
How do I use JavaBeans components (beans) from a JSP page?
General FAQWhat 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.
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.
A servlet is a program written in the Java programming language that runs on the server, as opposed to the browser (applets). Detailed information can be found at here.
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.
The JavaServer Pages 2.1 specification is available for download from here.
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.
There are a number of JSP technology implementations for different web servers. The latest information on officially-announced support can be found at here.
The GlassFish project is Sun's free, open-source Java EE 5 implementation. It includes an implementation of JSP technology version 2.1. You can download GlassFish builds from https://glassfish.dev.java.net/.
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.
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.
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..
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.
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.
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.
The syntax card and reference can be viewed or downloaded from our website.
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.
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.
The JSP specification includes standard tags for bean use and manipulation. The
useBeantag creates an instance of a specific JavaBeans class. If the instance already exists, it is retrieved. Otherwise, it is created. The
getPropertytags let you manipulate properties of the given object. These tags are described in more detail in the JSP specification and tutorial.