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
Introduction to Java Server Pages technology by Naomi Chen 28/1/2001 Seminar in Databases in the Internet Environment What is JSP? • Java based technology that simplifies the developing of dynamic web sites • JSP pages are HTML pages with embedded code that allows to access data from Java code running on the server • JSP provides separation of HTML presentation logic from the application logic. 28/1/2001 Seminar in Databases in the Internet Environment JSP Flow 28/1/2001 Seminar in Databases in the Internet Environment Comparison with existing technologies: CGI • CGI(Common Gateway Interface) programs (typically written in C or Perl) interact with the user by reading the user's input, HTML forms, and returning custom HTML pages. • Problems: – For each user request the CGI script must be loaded, run, and unloaded. – Designed to handle only a single request: needed additional session support (to remember a user’s state between requests for a example). • JSP vs. CGI: – JSP can maintain state on the server between requests – Spawns a new thread for each request – Does not have to be loaded each time, once it has been initialized – Runs in a ready-loaded JVM as an extension to the web server. 28/1/2001 Seminar in Databases in the Internet Environment Comparison with existing technologies : ASP • ASP (Active Server Pages) from Microsoft is the main competing technology for JSP. • JSP & ASP are similar in the way they support the creation of dynamic web pages, using HTML templates, scripting code and components for business logic. JSP ASP Platforms All major web platforms Microsoft only Base Language Java Jscript or VBScript Components JSP Tags, JavaBeans, or Enterprise JavaBeans COM/DCOM Code Interpretation Once Each Instance 28/1/2001 Seminar in Databases in the Internet Environment Comparison with existing technologies : ASP (continue) • ASP used on Microsoft IIS pr PWS web servers. Two third parties, Chili!Soft and Halcyonsoft sell software that allows ASPs to be uses with other platforms: the main problem is in porting the COM components to the new platform. • JSPs score over ASP: – JSPs are interprted only once, to Java byte-code, and reinterpreted only when the file is modified – JSPs run on all the main web servers – JSPs provide better facilities for separation of page code and template data by means of JavaBeans, Enterprise JavaBeans and custom tag libraries. • For more information see: Sun JSP vs. ASP page 28/1/2001 Seminar in Databases in the Internet Environment Comparison with existing technologies: Servlets • Servlets are standard, server-side Java applications that extend the capabilities of a Web server. • Java Servlets programming model is similar to CGI scripts. • Servlets run inside a single process associated with a web server. • Instead of creating a process for each request (as CGI) JVM cerates a Java thread to handle each servlet request. • JVM persists beyond the life of a single request (so requests can share data and resources). • Essence: Java code that outputs the HTML (out.println approach). • All benefits of the core Java platform: OOP model, crossplatform, memory management, rich collections of Java API’s., etc. • Problems: – All document contents, both static and dynamic, reside in program Seminar in Databases in the Internet 28/1/2001 source code. Environment JSP Technology • JSP technology provides a way to combine the worlds of HTML and Java servlet programming. • JSP specs are built on the Java Servlet API. • JSP supports two different styles for adding dynamic content to web pages: – JSP pages can embed actual programming code (typically Java) – JSP supports a set of HTML-like tags that interact with Java objects on the server (without the need for raw Java code to appear in the page). 28/1/2001 Seminar in Databases in the Internet Environment JSP Example: Hello World • 1. • 2. 28/1/2001 Seminar in Databases in the Internet Environment SimpleJSP.jsp 28/1/2001 Seminar in Databases in the Internet Environment SimpleJSP.jsp - the Bean edition • JSP includes tags for interacting with JavaBeans. • JavaBean is a simply Java class that follow JavaBeans specs: rules for defining a Bean’s ctor & methods for accessing and setting their properties. 28/1/2001 Seminar in Databases in the Internet Environment SimpleJSP.jsp - the Bean edition 28/1/2001 Seminar in Databases in the Internet Environment JSP Example: Hello World • In both cases the http request is: http://localhost:8080/SimpleJSP.jsp?name=Naomi • The response from JSP container would be: 28/1/2001 Seminar in Databases in the Internet Environment How it is work? • Client request for a page ending with ".jsp“. • Web Server fires up the JSP engine. • The JSP engine checks to see if the JSP file is new or changed. • The JSP engine takes the page and converts it into a Java servlet (by JSP parser) • The JSP engine compiles the servlet (by standard Java compiler). • Servlet Engine executes the new Java servlet using the standard API. • Servlet’s output is transferred by Web Server as a http response. 28/1/2001 Seminar in Databases in the Internet Environment JSP Pages content • standard HTML tags & scripts (JavaScript/VBscript) • new tags for scripting in the Java language. – Expressions: <%=expression %> or XML variant: <jsp: expression>expression </jsp:expression> For Example: <%= fact(12) %> <%= (hours <12) ? “AM” : “PM” %> <%= Math.pow(radius, 2) %> – Scriptlets: <% scriptlet %> or XML variant: <jsp:scriptlet> scriptlet </jsp:scriptlet> – Declarations: <%! declaration (s) %> or XML variant: <jsp:declaration> declaration(s) </jsp: declaration> 28/1/2001 For Example Seminar in Databases in the Internet Environment JSP Pages content – cont. • JSP directives – is a set of tags for providing the JSP container with page specific instructions for how the document should be processed. Directives affect global properties of the JSP page. <%@ page attr1=“val1” attr2=… %> • Comments –for adding documentation – Comments that will be in the output: <!-- comment --> – JSP comments <%-- comment --%> – Scripting language comments: <% /* comment */ %> 28/1/2001 Seminar in Databases in the Internet Environment JSP Pages content – cont. • Actions and implicit objects JSP implicit objects: page out config session request application response pageContext exception 28/1/2001 Seminar in Databases in the Internet Environment JSP Pages content – cont. • Bean’s tags allows JSP pages to call reusable components called JavaBeans components. • The tag <jsp:useBean> syntax is: <jsp:useBean id="Bean_name" scope="scope_value" class="class_name" beanName="ser_filename" type="class_or_interface_name" > properties tags </jsp:useBean> • <jsp:setProperty> tag syntax is: <jsp:setProperty name="property_name" property="property_value" /> 28/1/2001 Seminar in Databases in the Internet Environment JSP benefits • • • • • • Java-based technology Vendor-neutral Full access to underlying Java platform Performance Reusable components (JavaBeans) Separating presentation and implementation 28/1/2001 Seminar in Databases in the Internet Environment Resources • • • • • Sun JSP 1.1 Specs and description Server Side Java Resource Site IBM education courses JSP resource index JSP insider 28/1/2001 Seminar in Databases in the Internet Environment The end 28/1/2001 Seminar in Databases in the Internet Environment Scriptlet Example 28/1/2001 Seminar in Databases in the Internet Environment