Java Server Pages B.Ramamurthy. Topics for Discussion 8/20/20152 Inheritance and Polymorphism...
-
Upload
dominic-arnold -
Category
Documents
-
view
227 -
download
2
Transcript of Java Server Pages B.Ramamurthy. Topics for Discussion 8/20/20152 Inheritance and Polymorphism...
Topics for Discussion
04/19/23 2
Inheritance and PolymorphismDevelop an example for inheritance and polymorphismJSP fundamentalsJSP Examples with NetbeansFinish the semantic web topic
Java Server PagesServlets 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: Static content: provided by HTML or XML Dynamic content: generated by JSP tags and
scriplets written in Java language to encapsulate the application logic and XHTML.
JSP compilation into Servlets
Web Browser
Web Server
J2EE WebContainer
JavaServlets
JSP
translation
Initialrequest
Subseqrequest
04/19/23 B.Ramamurthy 5
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.
04/19/23 B.Ramamurthy 6
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.
04/19/23 B.Ramamurthy 7
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.
04/19/23 B.Ramamurthy 8
Servlet APIIt 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 (ServletConfig config)ServletConfig getServletConfig()void service (ServletRequest req, ServletResponse res) String getServletInfo()void destroy()
04/19/23 B.Ramamurthy 9
Servlet API
Servlet interface is implemented by two abstract classes GenericServlet and HTTPServlet.HTTPServlet is for interfacing with HTTP protocol and we will look at only this in our discussion today.
04/19/23 B.Ramamurthy 10
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.
04/19/23 B.Ramamurthy 11
HTTPServlet Methodsservice: This is called when a request arrives at a
server. This method in turn calls doXYZ. doGet : responds to HTTP GET ; get information to
browserdoPOST: responds to HTTP POST : send request to
serverdoDelete : responds to HTTP DELETE : to delete a
file on server!doOptions : responds to HTTP OPTIONS doPut : responds to HTTP PUT : to save a filedoTrace: called in response to HTTP TRACE for
debugging purposes
04/19/23 B.Ramamurthy 12
Your Servelet
Your servlet will typically extend class HTTPServlet. You will override doGet, doPost and anyother methods of HTTPServlet.Place it n webpages/WEB-INF/servlets
Example:/web/faculty/bina/webpages/WEB-INF/servletsHtml file acessing the servlet in your regular web pages home.
04/19/23 B.Ramamurthy 13
Servlet Semantics
The webserver that executes that executes a servlet creates an HTTPServletRequest object and passes it to the servlet’s service method which in turn passes it to doGet.This object contains request from the client.Webserver executes the request and creates HTTPServletResponse object and passes this to the client using doPOST.The object contains response to the client’s request.
04/19/23 B.Ramamurthy 14
HTTPServletRequest
String getParameter (String name)Enumeration getParameterNames()String[] getParameterValues(String
name)Cookie[] getCookies()HttpSession getSession(boolean
create)
04/19/23 B.Ramamurthy 15
HTTPServletResponse
void addCookie(Cookie cookie)ServletOutputStream
getOutputStream()PrintWriter getWriter()void setContentType(String type)
More on JSP syntax and contents
HTML code for user interface lay out JSP tags: declarations, actions, directives, expressions, scripletsJSP implicit objects: a request object, response object, session object, config objectJavabeans: for logic that can be taken care of at the JSP level.We will examine only JSP tags here.
JSP TagsDeclaration: variable declaration<%! int age = 56 %>
Directive: ex: import classes<%@ page import = “java.util.*” %>
Scriplet: Java code <% if password(“xyz”) { %> <H1> Welcome <\H1>
Expression: regular expression using variables and constants <%= 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: pageDirective.jspDirective to include other JSPs: includeDirective1.jsp, includeDirective2.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