Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 5/24/2017 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: 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 JSP Initial request Web Browser Web Server J2EE 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. 5/24/2017 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. 5/24/2017 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. 5/24/2017 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 (ServletConfig config) ServletConfig getServletConfig() void service (ServletRequest req, ServletResponse res) String getServletInfo() void destroy() 5/24/2017 B.Ramamurthy 8 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. 5/24/2017 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. 5/24/2017 B.Ramamurthy 10 HTTPServlet Methods service: This is called when a request arrives at a server. This method in turn calls doXYZ. doGet : responds to HTTP GET ; get information to browser doPOST: responds to HTTP POST : send request to server doDelete : responds to HTTP DELETE : to delete a file on server! doOptions : responds to HTTP OPTIONS doPut : responds to HTTP PUT : to save a file doTrace: called in response to HTTP TRACE for debugging purposes 5/24/2017 B.Ramamurthy 11 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/servlets Html file acessing the servlet in your regular web pages home. 5/24/2017 B.Ramamurthy 12 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. 5/24/2017 B.Ramamurthy 13 HTTPServletRequest String getParameter (String name) Enumeration getParameterNames() String[] getParameterValues(String name) Cookie[] getCookies() HttpSession getSession(boolean create) 5/24/2017 B.Ramamurthy 14 HTTPServletResponse void addCookie(Cookie cookie) ServletOutputStream getOutputStream() PrintWriter getWriter() void setContentType(String type) 5/24/2017 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”) { %> <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.jsp Directive 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 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:useBean> <jsp:setProperty> <jsp:getProperty> <jsp:param> <jsp:include> <jsp:forward> <jsp:plugin>