Java Server Pages B Ramamurthy Topics for Discussion
Java Server Pages B. Ramamurthy
Topics for Discussion Inheritance and Polymorphism Develop an example for inheritance and polymorphism JSP fundamentals JSP Examples with Netbeans Finish the semantic web topic 2/6/2022 2
Java Server Pages Servlets are pure Java programs. They introduce dynamism into web pages by using programmatic content. JSP technology is an extension/wrapper over the Java servlet technology. JSP are text based documents. We will focus only on JSP since it subsumes the servlet technology. Two major components of JSP: n Static content: provided by HTML or XML n Dynamic content: generated by JSP tags and scriplets written in Java language to encapsulate the application logic and XHTML.
JSP compilation into Servlets JSP Initial request Web Browser Web Server J 2 EE Web Container translation Java Subseq request Servlets
Servlets Client-server model: Client requests something of a server and the server performs action(s) and responds to the client. This request-response model is the highest level of networking in Java. A servlet extends the functionality of a server. javax. servlet and javax. servlet. http package provide the classes and interfaces to define servlets. 2/6/2022 B. Ramamurthy 5
What are servlets? Servlets are server side components/programs that are primarily designed to use with HTTP protocol. ~ provide secure access to a Website and to interact with databases on behalf of a client. ~ dynamically create HTML documents to be displayed by the browser. ~ can maintain unique session information for each client. 2/6/2022 B. Ramamurthy 6
Support for servlets Servlets are to servers what applets are to a client (web browser). Servlets are normally executed of a web server. Many web servers support servlets: Glassfish, Apache Tomcat, IIS. 2/6/2022 B. Ramamurthy 7
Servlet API It is good programming practice to start the design/definition with an interface. Conversely interfaces are good starting point to study an API. Servlet interface: void init (Servlet. Config config) Servlet. Config get. Servlet. Config() void service (Servlet. Request req, Servlet. Response res) String get. Servlet. Info() void destroy() 2/6/2022 B. Ramamurthy 8
Servlet API Servlet interface is implemented by two abstract classes Generic. Servlet and HTTPServlet is for interfacing with HTTP protocol and we will look at only this in our discussion today. 2/6/2022 B. Ramamurthy 9
HTTPServlet Two most common HTTP requests are GET and POST. GET request gets information from the server. For example: retrieve an image or document. POST requests are to send to the server the information from a HTML form which a client enters. For example: request to search internet, query database, send authentication information. 2/6/2022 B. Ramamurthy 10
HTTPServlet Methods service: This is called when a request arrives at a server. This method in turn calls do. XYZ. do. Get : responds to HTTP GET ; get information to browser do. POST: responds to HTTP POST : send request to server do. Delete : responds to HTTP DELETE : to delete a file on server! do. Options : responds to HTTP OPTIONS do. Put : responds to HTTP PUT : to save a file do. Trace: called in response to HTTP TRACE for debugging purposes 2/6/2022 B. Ramamurthy 11
Your Servelet Your servlet will typically extend class HTTPServlet. You will override do. Get, do. Post and anyother methods of HTTPServlet. Place it n webpages/WEB-INF/servlets Example: /web/faculty/bina/webpages/WEB-INF/servlets Html file acessing the servlet in your regular web pages home. 2/6/2022 B. Ramamurthy 12
Servlet Semantics The webserver that executes a servlet creates an HTTPServlet. Request object and passes it to the servlet’s service method which in turn passes it to do. Get. This object contains request from the client. Webserver executes the request and creates HTTPServlet. Response object and passes this to the client using do. POST. The object contains response to the client’s request. 2/6/2022 B. Ramamurthy 13
HTTPServlet. Request String get. Parameter (String name) Enumeration get. Parameter. Names() String[] get. Parameter. Values(String name) Cookie[] get. Cookies() Http. Session get. Session(boolean create) 2/6/2022 B. Ramamurthy 14
HTTPServlet. Response void add. Cookie(Cookie cookie) Servlet. Output. Stream get. Output. Stream() Print. Writer get. Writer() void set. Content. Type(String type) 2/6/2022 B. Ramamurthy 15
More on JSP syntax and contents HTML code for user interface lay out JSP tags: declarations, actions, directives, expressions, scriplets JSP implicit objects: a request object, response object, session object, config object Javabeans: for logic that can be taken care of at the JSP level. We will examine only JSP tags here.
JSP Tags Declaration: variable declaration <%! int age = 56 %> Directive: ex: import classes <%@ page import = “java. util. *” %> Scriplet: Java code <% if password(“xyz”) { %> <H 1> Welcome <H 1> Expression: regular expression using variables and constants n <%= param[3]+4 %> Action: <jsp: usebean name =“cart” class=“com. sun. java. cart”
Java Server Pages by Examples JSPs combine static markup (HTML, XML) with special dynamic scripting tags. Each JSP is translated into a servlet the first time it is invoked. Then on, the requests are serviced by the servlets. Lets understand the building blocks of a JSP, namely, directives, scripting elements, and actions through a series of examples.
Examples: Directives <%@ %> A directive configures the code generation that container will perform in creating a servlet. Simple JSP showing access to a Java API class Date: simple. jsp Using Page directives to define various page attributes: page. Directive. jsp Directive to include other JSPs: include. Directive 1. jsp, include. Directive 2. jsp
Examples: Scripting Elements Declaration: <%! %> A declaration is a block of code in a JSP that is used to define class-wide variables and methods in the generated servlet. Declaring a piece of code: declaration. jsp
Examples: Scripting Elements (contd. ) Scriplets: <% %> A scriplet is a block of Java code that is executed during the request-processing time. See scriplet. jsp Expressions: sends a value of a Java expression back to the client. <%= %> See expression. jsp
Examples: Standard Actions Standard actions are well known tags that affect the run time behavior of the JSP and the response sent back to the client. Some commonly used tag actions types are: <jsp: use. Bean> <jsp: set. Property> <jsp: get. Property> <jsp: param> <jsp: include> <jsp: forward> <jsp: plugin>
- Slides: 22