Servlets and JSP

JSPs are Actually Servlets

JSPs are actually servlets. Container will convert all jsp files as servlets before executing it. By default, the JSP is compiled into a servlet and then loaded the first time it is accessed. This might cause a small delay for the first request, but there won’t be any delay in subsequent requests. You may also precompile JSPs before adding them into JARs. Certain application servers might even provide tools for doing so.

How can you suppress direct access to a JSP file and allow only programmatic access?


I can suppress direct access to a JSP file and want users to go only through a registered name and a servlet mapping in web.xml. I can place the JSP page under WEB- INF and configure it in the web.xml file.

JSP Elements Overview

A JSP page can be said to be divided into two types of contents, which are template text and JSP elements. Template text is any non-java lines like html, comments, javascript, css etc. that are directly sent to the client without any processing. Java code is embedded into JSP pages using scripting elements and these elements will be processed and not directly rendered to the output like template text.


JSP elements can be mainly divided into 3 categories:

The JSP Life Cycle Events

JSPs are actually servlets, as you have already seen. Container will convert all jsp files into servlets before executing them. JSPs just provide an easy way to create components containing non-java code.

Once a JSP page is created and deployed, container will do some life cycle events, which also includes calling some of its methods similar to servlet life cycle events.


Introduction to Java Server Pages (JSPs)

JavaServer Pages (JSP) is a technology that helps software developers create dynamically generated web pages based on HTML, Javascript, CSS, XML, or other web technologies.

Irrespective of the server side technology like servlet, JSP, ASP or PHP, programming language independent web technologies like html, javascript, css etc. are finally sent to client by default as client can only understand these web technologies like html, javascript, css etc. by default and not any server side technologies.


Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)