Overview:
JavaServer Pages (JSP) enable web developers and designers to rapidly develop and easily maintain information-rich, dynamic web pages that leverage existing business systems. JSP technology enables development of applications that are platform independent and run in almost any environment. JSP Technology is designed to separate the user interface from content generation, enabling designers to easily change the overall page layout without altering the underlying dynamic content.
JSP uses “JavaServer Pages Standard Tag Library” (JSTL) which encapsulates core functionality common to many web applications and is inserted into JSP Pages. JSTL has support for common, structural tasks such as: iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags.
Java Servlets do the grunt work of JSP. Java Servlet technology provides web developers with a simple, consistent mechanism for extending the functionality of a web server and for accessing existing business systems. A servlet can almost be thought of as an applet that runs on the server side; without a face. Servlets have access to the entire family of Java APIs, including the JDBC API, to access enterprise databases. Servlets can also access a library of HTTP-specific calls and receive all the benefits of the mature Java language, including portability, performance, re-usability, and crash protection.
Another major component of JSP’s are Java Beans. Java Beans are reusable components adhering to a set of conventions. They are used to separate Business logic from the Presentation logic. Internally, a bean is simply an instance of a class with special naming conventions and characteristics.
In order to function as a JavaBean class, an object class must obey certain conventions about method naming, construction and behavior. These conventions make it possible to have tools that can use, re-use, replace and connect JavaBeans.
The class must have a public default constructor. This allows easy instantiation within editing and activation frameworks. The class properties must be accessible using get, set, and other methods (so-called accessor methods and mutator methods), following a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties. The class should be serializable, allowing applications and frameworks to reliably save, store and restore the bean’s state in a fashion that is independent of the VM and platform.
JSP Benefits:
- Platform and Server Independence
- Open Development Process, Open Source
- Extensible JSP Tags
- Application persistence and variable scopes
- Mature Java language
- Easier Maintenance
Scripting languages are acceptable for small applications, but do not scale well to manage large, complex applications. Due to how Java language is structured, it is easier to build and maintain large, modular applications with it. JSP technology’s emphasis on components over scripting makes it easier to revise content without affecting logic or revise logic without changing content.
The Enterprise JavaBeans architecture encapsulates the enterprise logic, such as database access, security and transaction integrity, and isolates it from the application itself. Because JSP technology is an open, cross-platform architecture, web servers, platforms and other components can be easily upgraded or switched without affecting JSP-based applications. This makes JSP suitable for real-world web applications where constant change and growth is the norm.
Security:
Since JSP can inter-operate with standard Java,it has access to the underlying Java SE Platforms extensible security architecture including security features such as cryptography, authentication and authorization, public key infrastructure and more.
JSP Shortcomings:
- Compiler Required
- JSP Typically issues poor error reports
- JSP Pages use more disk space then regular scripting languages
- Need a solid knowledge of Java
- Some simple tasks are more difficult to perform
- Coding standards need to be diligently adhered to
- Since Java programs run in the Java Virtual Machine, they run somewhat slower then applications written in C or C++
Conclusion:
In conclusion, JSP Technology is an excellent way for software developers to implement complex web applications that can have all the features of the mature java language. Even though there are a few shortcomings to JSP the benefits outweigh these.

