Modernizing Java Server Pages By Transformation. S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y

Size: px
Start display at page:

Download "Modernizing Java Server Pages By Transformation. S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y"

Transcription

1 Modernizing Java Server Pages By Transformation S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y

2 Background CSER - Consortium for Software Engineering Research Dynamic Web Pages Multiple Technologies - CGI, shtml, JSP, ASP,.NET Mixing Code and Data Ok for small projects, seems to be proving a detriment to larger projects Separate Concerns: Application Code and Graphics Design Abstract User Interface [Schneider 2001] Custom Tags (JSP) replaces code with abstract tags

3 JSP Basics Mix Java and Template Text Template Text is sent to browser modified by inline Java HTML, Javascript, Applet Tags, CSS Java Code + standard Actions <% for (int i = 0; i < bean.titles.length; i++) { %> <jsp:usebean> forward pages, import classes, declare fields and methods

4 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

5 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

6 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

7 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

8 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

9 Custom Tags <%taglib uri= xxx prefix= mylib %> <mylib:cdtitle/> CdTitle.class <taglib> <uri>xxx</uri> <tag> <name>cdtitle</name/> <tag_class>cdtitle</tag_class> </tag> </taglib>

10 Requirements No Change to Functionality Identical Behaviour No change to Appearance Same HTML / Javascript is generated to browser Same web site structure (paths to pages) Keep Code Comments Maintenance Issue

11 MuiltiLingual Grammar [Synytskyy03] ASP Grammar HTML Base Grammar

12 MuiltiLingual Grammar [Synytskyy03] JSP Grammar [Li 2004] HTML Base Grammar

13 MuiltiLingual Grammar [Synytskyy03] JSP Grammar [Li 2004] Custom Tag Grammar HTML Base Grammar TLD XML Grammar [Xu 2005]

14 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> Interesting <%for(i=1;i<10;i++){%> Interesting Interesting Interesting <%=i%> <%}%> </table>

15 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> Interesting <%for(i=1;i<10;i++){%> Interesting Interesting Interesting <%=i%> <%}%> </table>

16 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> <% for_statement %> </table> for(i=1;i<10;i++){ %> } Interesting <%=i%> <%

17 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> <% for_statement %> </table> for(i=1;i<10;i++){ %> } Interesting <%=i%> <%

18 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> <% for_statement %> </table> for(i=1;i<10;i++){ %> } Interesting <%=i%> <%

19 Parsing JSP <table> <%for(i=1;i<10;i++){%> <th><td><%=i%></td></th> <%}%> </table> Interesting <table> <% for_statement %> </table> for(i=1;i<10;i++){ %> } Interesting <%=i%> <%

20 General Approach Java statements, expressions and declarations are moved to custom tag classes HTML code moved out of Java strings out.println( <TR><TD> ) %> <TR><TD> <%

21 General Approach Java Bean action elements translated to equivalent Java Code <jsp:usebean> <jsp:getproperty> <jsp:setproperty> JSP Page import directive generates an import statement in the resulting class import= java.sql.resultset %> <% import java.sql.resultset; %>

22 General Transformation Normalization 4 General Cases

23 Case 1 Simple Code <HTML><BODY> <% HttpSession s = request.getsession(true); String userid = ((String) s.getvalue( userid )).trim(); s.putvalue( username, userid); %> </BODY></HTML> <HTML><BODY> <mylib: usersession></mylib:usersession> </BODY></HTML>

24 Case 1b Simple Code <HTML><BODY> <% HttpSession s = request.getsession(true); String userid = ((String) s.getvalue( userid )).trim(); %> Welcome <% s.putvalue( username, userid); %> </BODY></HTML> <HTML><BODY> <mylib: usersession> Welcome </mylib:usersession> </BODY></HTML>

25 Case 2 - Nested Code <HTML><BODY> <% HttpSession s = request.getsession(true); String userid = ((String) s.getvalue( userid )).trim(); s.putvalue( username, userid); %> Welcome <%= username %> </BODY></HTML> <HTML><BODY> <mylib: usersession> Welcome <mylib:username/> </mylib:usersession> </BODY></HTML>

26 Case 3 Choice <HTML><BODY> <% if (condition) {%> HTML TEXT <% } else {%> }%> </BODY></HTML>

27 Case 3 Choice <HTML><BODY> <% bool choice = condition; if (choice) {%> HTML TEXT <% } if (!choice) {%> }%> </BODY></HTML>

28 Case 3 Choice <HTML><BODY> <mylib:checkcondition> <mylib:validcondition> HTML TEXT </mylib:validcondition> <mylib:invalidcondition> </mylib:invalidcondition> </mylib:checkcondition> </BODY></HTML>

29 CASE 4 - Iteration <HTML><BODY> <% while(condition){%> HTML TEXT <%}%> </BODY></HTML> <HTML><BODY> <mylib:whilecondition> HTML TEXT </mylib:whilecondition> </BODY></HTML>

30 Composing Cases The 4 cases compose to cover all code cases Case 2 provides basis for nesting tags are nested, classes are not classes find the class for the parent tag at runtime using JSP API Add get/set routines for variables

31 Nesting Cases 4,2 <HTML><BODY> <% while(condition){%> HTML <%= value %> TEXT <%}%> </BODY></HTML> <HTML><BODY> <mylib:whilecondition> HTML <mylib:getvalue/> TEXT </mylib:whilecondition> </BODY></HTML>

32 Implementation TXL Source Transformation Language Grammar + Transformation Rules Markup Approach Identify key statements of each case if statements, while statements (both with HTML text) propagate markups to include all statements

33 Implementation Original JSP Preprocessing Grouping Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing

34 Implementation Original JSP Normalization & Lexical Issues Preprocessing Grouping Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing

35 Implementation Original JSP Preprocessing Custom Tag Identification Grouping Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing

36 Implementation Original JSP Preprocessing Names for Tags Grouping Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing

37 Implementation

38 Implementation Original JSP Preprocessing Grouping Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing Move to Java

39 Implementation Original JSP Preprocessing Grouping Remove Java Naming Class Gen Page and TLD TLD Pages Tag Classes Postprocesing

40 Implementation Original JSP Preprocessing Grouping Naming Class Gen Page and TLD Comments TLD Pages Tag Classes Postprocesing

41 Final Words Tested on 4 small systems (14 files) Each case generates separate custom tags Implementation is a greedy approach Better separation into tags Data and Control Flow Analys Clones E.g. Session management code

42 Questions?

Transforming Embedded Java Into Custom Tags. S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y

Transforming Embedded Java Into Custom Tags. S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y Transforming Embedded Java Into Custom Tags S h a n n o n X u T h o m a s D e a n Q u e e n s U n i v e r s i t y Background CSER - Consortium for Software Engineering Research No Change to Functionality

More information

Introduction. Agile Parsing And Web Applications. Thomas Dean Queen s University. Problems. Interests

Introduction. Agile Parsing And Web Applications. Thomas Dean Queen s University. Problems. Interests Agile Parsing And Web Applications Thomas Dean Queen s University Introduction WWSUP (Whole WebSite Understanding) project at Queen s Web applications are typically spread over several layers:! Client

More information

Transformation of Java Server Pages: A Modern Approach

Transformation of Java Server Pages: A Modern Approach Transformation of Java Server Pages: A Modern Approach A.K.Ratha 1, S.Padhan 2, S.Mohanty 3 1Asst.Prof, Dept of CSE, Vikash Institute of Technology, Bargarh, Odisha, INDIA 2,3Student Researcher, Vikash

More information

International Journal of Advance Research in Engineering, Science & Technology

International Journal of Advance Research in Engineering, Science & Technology Impact Factor (SJIF): 3.632 International Journal of Advance Research in Engineering, Science & Technology e-issn: 2393-9877, p-issn: 2394-2444 Volume 3, Issue 6, June-2016 Java Server Pages in Modernization

More information

JSP. Basic Elements. For a Tutorial, see:

JSP. Basic Elements. For a Tutorial, see: JSP Basic Elements For a Tutorial, see: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/jspintro.html Simple.jsp JSP Lifecycle Server Web

More information

JAVA 2 ENTERPRISE EDITION (J2EE)

JAVA 2 ENTERPRISE EDITION (J2EE) COURSE TITLE DETAILED SYLLABUS SR.NO JAVA 2 ENTERPRISE EDITION (J2EE) ADVANCE JAVA NAME OF CHAPTERS & DETAILS HOURS ALLOTTED SECTION (A) BASIC OF J2EE 1 FILE HANDLING Stream Reading and Creating file FileOutputStream,

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 3 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2465 1 Review:

More information

Java Server Page (JSP)

Java Server Page (JSP) Java Server Page (JSP) CS 4640 Programming Languages for Web Applications [Based in part on SWE432 and SWE632 materials by Jeff Offutt] [Robert W. Sebesta, Programming the World Wide Web] 1 Web Applications

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Java Server Pages (JSP) Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 3 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

112. Introduction to JSP

112. Introduction to JSP 112. Introduction to JSP Version 2.0.2 This two-day module introduces JavaServer Pages, or JSP, which is the standard means of authoring dynamic content for Web applications under the Java Enterprise platform.

More information

Oracle 1z Java Enterprise Edition 5 Web Component Developer Certified Professional Exam. Practice Test. Version:

Oracle 1z Java Enterprise Edition 5 Web Component Developer Certified Professional Exam. Practice Test. Version: Oracle 1z0-858 Java Enterprise Edition 5 Web Component Developer Certified Professional Exam Practice Test Version: 14.21 QUESTION NO: 1 To take advantage of the capabilities of modern browsers that use

More information

Module 5 Developing with JavaServer Pages Technology

Module 5 Developing with JavaServer Pages Technology Module 5 Developing with JavaServer Pages Technology Objectives Evaluate the role of JSP technology as a presentation Mechanism Author JSP pages Process data received from servlets in a JSP page Describe

More information

Sun Sun Certified Web Component Developer for J2EE 5 Version 4.0

Sun Sun Certified Web Component Developer for J2EE 5 Version 4.0 Sun Sun Certified Web Component Developer for J2EE 5 Version 4.0 QUESTION NO: 1 To take advantage of the capabilities of modern browsers that use web standards, such as XHTML and CSS, your web application

More information

112-WL. Introduction to JSP with WebLogic

112-WL. Introduction to JSP with WebLogic Version 10.3.0 This two-day module introduces JavaServer Pages, or JSP, which is the standard means of authoring dynamic content for Web applications under the Java Enterprise platform. The module begins

More information

Introduction to Java Server Pages. Enabling Technologies - Plug-ins Scripted Pages

Introduction to Java Server Pages. Enabling Technologies - Plug-ins Scripted Pages Introduction to Java Server Pages Jeff Offutt & Ye Wu http://www.ise.gmu.edu/~offutt/ SWE 432 Design and Implementation of Software for the Web From servlets lecture. Enabling Technologies - Plug-ins Scripted

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 3 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 Review:

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

JavaServer Pages. What is JavaServer Pages?

JavaServer Pages. What is JavaServer Pages? JavaServer Pages SWE 642, Fall 2008 Nick Duan What is JavaServer Pages? JSP is a server-side scripting language in Java for constructing dynamic web pages based on Java Servlet, specifically it contains

More information

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6 PREFACE........................... xiii ACKNOWLEDGMENTS................... xix 1 CUSTOM TAG FUNDAMENTALS.............. 2 Using Custom Tags The JSP File 5 Defining Custom Tags The TLD 6 Implementing Custom

More information

Unit 5 JSP (Java Server Pages)

Unit 5 JSP (Java Server Pages) Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic, platform-independent method for building Web-based applications. It focuses more on presentation logic

More information

Introduction to JSP and Servlets Training 5-days

Introduction to JSP and Servlets Training 5-days QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic

More information

JSP - SYNTAX. Any text, HTML tags, or JSP elements you write must be outside the scriptlet. Following is the simple and first example for JSP:

JSP - SYNTAX. Any text, HTML tags, or JSP elements you write must be outside the scriptlet. Following is the simple and first example for JSP: http://www.tutorialspoint.com/jsp/jsp_syntax.htm JSP - SYNTAX Copyright tutorialspoint.com This tutorial will give basic idea on simple syntax ie. elements involved with JSP development: The Scriptlet:

More information

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER J2EE CURRICULUM Mob : +91-9024222000 Mob : +91-8561925707 Email : info@dvswebinfotech.com Email : hr@dvswebinfotech.com 48, Sultan Nagar,Near Under

More information

directive attribute1= value1 attribute2= value2... attributen= valuen %>

directive attribute1= value1 attribute2= value2... attributen= valuen %> JSP Standard Syntax Besides HTML tag elements, JSP provides four basic categories of constructors (markup tags): directives, scripting elements, standard actions, and comments. You can author a JSP page

More information

ADVANCED JAVA COURSE CURRICULUM

ADVANCED JAVA COURSE CURRICULUM ADVANCED JAVA COURSE CURRICULUM Index of Advanced Java Course Content : 1. Basics of Servlet 2. ServletRequest 3. Servlet Collaboration 4. ServletConfig 5. ServletContext 6. Attribute 7. Session Tracking

More information

A JavaBean is a class file that stores Java code for a JSP

A JavaBean is a class file that stores Java code for a JSP CREATE A JAVABEAN A JavaBean is a class file that stores Java code for a JSP page. Although you can use a scriptlet to place Java code directly into a JSP page, it is considered better programming practice

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

Java E-Commerce Martin Cooke,

Java E-Commerce Martin Cooke, Java E-Commerce Martin Cooke, 2002 1 Java technologies for presentation: JSP Today s lecture in the presentation tier Java Server Pages Tomcat examples Presentation How the web tier interacts with the

More information

a. Jdbc:ids://localhost:12/conn?dsn=dbsysdsn 21. What is the Type IV Driver URL? a. 22.

a. Jdbc:ids://localhost:12/conn?dsn=dbsysdsn 21. What is the Type IV Driver URL? a. 22. Answers 1. What is the super interface to all the JDBC Drivers, specify their fully qualified name? a. Java.sql.Driver i. JDBC-ODBC Driver ii. Java-Native API Driver iii. All Java Net Driver iv. Java Native

More information

JSP MOCK TEST JSP MOCK TEST IV

JSP MOCK TEST JSP MOCK TEST IV http://www.tutorialspoint.com JSP MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to JSP Framework. You can download these sample mock tests at your local

More information

Exercise. (1) Which of the following can not be used as the scope when using a JavaBean with JSP? a. application b. session c. request d.

Exercise. (1) Which of the following can not be used as the scope when using a JavaBean with JSP? a. application b. session c. request d. Exercise 1. Choose the best answer for each of the following questions. (1) Which of the following can not be used as the scope when using a JavaBean with JSP? a. application b. session c. request d. response

More information

JMEITags: A Custom JSP Tag Library

JMEITags: A Custom JSP Tag Library JMEITags: A Custom JSP Tag Library - An effective way to bring math computability onto Web Weidong Liao Institute of Computational Mathematics Kent State University Kent, OH 44240 1 Table Of Content 1.

More information

Fast Track to Java EE 5 with Servlets, JSP & JDBC

Fast Track to Java EE 5 with Servlets, JSP & JDBC Duration: 5 days Description Java Enterprise Edition (Java EE 5) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive

More information

Time: 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups as directed. Group A.

Time: 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups as directed. Group A. COPYRIGHT RESERVED End SEM (V) MCA (XXX) 2017 Time: 3 hours Full Marks: 70 Candidates are required to give their answers in their own words as far as practicable. The figures in the margin indicate full

More information

Unit 4. CRM - Web Marketing 4-1

Unit 4. CRM - Web Marketing 4-1 Unit 4. CRM - Web Marketing What This Unit Is About Identify/utilize the components of the framework to build and run Web Marketing solutions What You Should Be Able to Do After completing this unit, you

More information

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote Acknowledgments p. xxv Introduction p. xxvii Getting Started with Dreamweaver MX 2004 Is It 2004 Already? p. 3 The Internet p. 4 TCP/IP p. 7 Hypertext Transfer Protocol p. 8 Hypertext Markup Language p.

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Advance Java Servlet Basics of Servlet Servlet: What and Why? Basics of Web Servlet API Servlet Interface GenericServlet HttpServlet Servlet Li fe Cycle Working wi th Apache Tomcat Server Steps to create

More information

UNIT -5. Java Server Page

UNIT -5. Java Server Page UNIT -5 Java Server Page INDEX Introduction Life cycle of JSP Relation of applet and servlet with JSP JSP Scripting Elements Difference between JSP and Servlet Simple JSP program List of Questions Few

More information

Ch04 JavaServer Pages (JSP)

Ch04 JavaServer Pages (JSP) Ch04 JavaServer Pages (JSP) Introduce concepts of JSP Web components Compare JSP with Servlets Discuss JSP syntax, EL (expression language) Discuss the integrations with JSP Discuss the Standard Tag Library,

More information

AIM. 10 September

AIM. 10 September AIM These two courses are aimed at introducing you to the World of Web Programming. These courses does NOT make you Master all the skills of a Web Programmer. You must learn and work MORE in this area

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

JavaServer Pages. Juan Cruz Kevin Hessels Ian Moon

JavaServer Pages. Juan Cruz Kevin Hessels Ian Moon Page 1 of 14 JavaServer Pages Table of Contents 1. Introduction What is JSP? Alternative Solutions Why Use JSP? 2. JSP Process Request Compilation Example 3. Object Instantiation and Scope Scope Synchronization

More information

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) The Context The Presentation Layer of a Web App the graphical (web) user interface frequent design changes usually, dynamically generated HTML pages Should we use servlets? No difficult

More information

JavaServer Pages and the Expression Language

JavaServer Pages and the Expression Language JavaServer Pages and the Expression Language Bryan Basham Sun Microsystems, Inc. bryan.basham@sun.com Page 1 Topics Covered History of the Expression Language (EL) Overview of the EL EL Namespace EL Operators

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

More information

Data Presentation and Markup Languages

Data Presentation and Markup Languages Data Presentation and Markup Languages MIE456 Tutorial Acknowledgements Some contents of this presentation are borrowed from a tutorial given at VLDB 2000, Cairo, Agypte (www.vldb.org) by D. Florescu &.

More information

Component Based Software Engineering

Component Based Software Engineering Component Based Software Engineering Masato Suzuki School of Information Science Japan Advanced Institute of Science and Technology 1 Schedule Mar. 10 13:30-15:00 : 09. Introduction and basic concepts

More information

Inf 202 Introduction to Data and Databases (Spring 2010)

Inf 202 Introduction to Data and Databases (Spring 2010) Inf 202 Introduction to Data and Databases (Spring 2010) Jagdish S. Gangolly Informatics CCI SUNY Albany April 22, 2010 Database Processing Applications Standard Database Processing Client/Server Environment

More information

XML and XSLT. XML and XSLT 10 February

XML and XSLT. XML and XSLT 10 February XML and XSLT XML (Extensible Markup Language) has the following features. Not used to generate layout but to describe data. Uses tags to describe different items just as HTML, No predefined tags, just

More information

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology Java Applets, etc. Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 25, December 5, 2007 CGI (Common Gateway Interface) CGI is a standard for handling forms'

More information

Peers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java

Peers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java Page 1 Peers Techno log ies Pv t. L td. Course Brochure Core Java & Core Java &Adv Adv Java Java Overview Core Java training course is intended for students without an extensive programming background.

More information

Model View Controller (MVC)

Model View Controller (MVC) Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 5049 Advanced Internet Technology Lab Lab # 11 Model View Controller (MVC) El-masry May, 2014 Objectives To be

More information

Chapter 10 Servlets and Java Server Pages

Chapter 10 Servlets and Java Server Pages Chapter 10 Servlets and Java Server Pages 10.1 Overview of Servlets A servlet is a Java class designed to be run in the context of a special servlet container An instance of the servlet class is instantiated

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

Advanced Web Technology - Java Server Faces

Advanced Web Technology - Java Server Faces Berne University of Applied Sciences Advanced Web Technology - Java Server Faces Dr. E. Benoist Bibliography: Mastering Java Server Faces B.Dudney et al. - Wiley November 2005 1 Table of Contents Model

More information

XML. Objectives. Duration. Audience. Pre-Requisites

XML. Objectives. Duration. Audience. Pre-Requisites XML XML - extensible Markup Language is a family of standardized data formats. XML is used for data transmission and storage. Common applications of XML include business to business transactions, web services

More information

Building Web Applications With The Struts Framework

Building Web Applications With The Struts Framework Building Web Applications With The Struts Framework ApacheCon 2003 Session TU23 11/18 17:00-18:00 Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Slides: http://www.apache.org/~craigmcc/

More information

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

More information

A Gentle Introduction to Java Server Pages

A Gentle Introduction to Java Server Pages A Gentle Introduction to Java Server Pages John Selmys Seneca College July 2010 What is JSP? Tool for developing dynamic web pages developed by SUN (now Oracle) High-level abstraction of Java Servlets

More information

Java Server Pages, JSP

Java Server Pages, JSP Java Server Pages, JSP Java server pages is a technology for developing web pages that include dynamic content. A JSP page can change its content based on variable items, identity of the user, the browsers

More information

Fast Track to Java EE

Fast Track to Java EE Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This

More information

Contents. Acknowledgments

Contents. Acknowledgments Contents Acknowledgments Introduction Why Another Book About Web Application Development? How Is This Book Arranged? Intended Audience Do I Need to Start from Scratch? Choosing Development Tools Summary

More information

web.xml Deployment Descriptor Elements

web.xml Deployment Descriptor Elements APPENDIX A web.xml Deployment Descriptor s The following sections describe the deployment descriptor elements defined in the web.xml schema under the root element . With Java EE annotations, the

More information

Oracle Workflow. 1 Introduction. 2 Web Services Overview. 1.1 Intended Audience. 1.2 Related Documents. Web Services Guide

Oracle Workflow. 1 Introduction. 2 Web Services Overview. 1.1 Intended Audience. 1.2 Related Documents. Web Services Guide Oracle Workflow Web Services Guide Release 2.6.3 April 2003 Part No. B10624-01 1 Introduction Welcome to the Oracle Workflow Web Services Guide. This manual has been designed to help you work effectively

More information

Agile Parsing Techniques for Web Applications

Agile Parsing Techniques for Web Applications Agile Parsing Techniques for Web Applications Thomas Dean1, Mykyta Synytskyy2 1Electrical and Computer Engineering, Queen s University dean@cs.queensu.ca 2Deptartment of Computing Science, University of

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control

More information

Shankersinh Vaghela Bapu Institue of Technology

Shankersinh Vaghela Bapu Institue of Technology Branch: - 6th Sem IT Year/Sem : - 3rd /2014 Subject & Subject Code : Faculty Name : - Nitin Padariya Pre Upload Date: 31/12/2013 Submission Date: 9/1/2014 [1] Explain the need of web server and web browser

More information

IBM A Assessment: Developing IBM Lotus Notes and Domino 8.5 Applications.

IBM A Assessment: Developing IBM Lotus Notes and Domino 8.5 Applications. IBM A2040-985 Assessment: Developing IBM Lotus Notes and Domino 8.5 Applications https://killexams.com/pass4sure/exam-detail/a2040-985 QUESTION: 291 Sam is creating an agent that runs as a WebQueryOpen

More information

GUJARAT TECHNOLOGICAL UNIVERSITY

GUJARAT TECHNOLOGICAL UNIVERSITY 1. Learning Objectives: To learn and work with the web components of Java EE. i.e. the Servlet specification. Student will be able to learn MVC architecture and develop dynamic web application using Java

More information

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING.

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING. AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED Java TRAINING www.webliquids.com ABOUT US Who we are: WebLiquids is an ISO (9001:2008), Google, Microsoft Certified Advanced Web Educational Training Organisation.

More information

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2 HYPERION SYSTEM 9 BI+ APPLICATION BUILDER J2EE RELEASE 9.2 GETTING STARTED GUIDE Copyright 1998-2006 Hyperion Solutions Corporation. All rights reserved. Hyperion, the Hyperion H logo, and Hyperion s product

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab.

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab. Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 5049 Advanced Internet Technology Lab Lab # 10 JAVABEANS IN JSP El-masry May, 2014 Objectives Understanding JavaBeans.

More information

Question No: 1 (Marks: 1) - Please choose one. For which of the following we need to know the classification of E-commerce?

Question No: 1 (Marks: 1) - Please choose one. For which of the following we need to know the classification of E-commerce? MIDTERM EXAMINATION Spring 2010 IT430- E-Commerce (Session - 6) Solved Asslam O Alikum 100% solved papers of it 430 (2010) with reference by Afaaq and Shani bhai (7) Remember Us In Your Prayers Best regard

More information

PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II

PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II Subject Name: Advanced JAVA programming Subject Code: 13MCA42 Time: 11:30-01:00PM Max.Marks: 50M ----------------------------------------------------------------------------------------------------------------

More information

Java Server Pages. JSP Part II

Java Server Pages. JSP Part II Java Server Pages JSP Part II Agenda Actions Beans JSP & JDBC MVC 2 Components Scripting Elements Directives Implicit Objects Actions 3 Actions Actions are XML-syntax tags used to control the servlet engine

More information

Specialized - Mastering JEE 7 Web Application Development

Specialized - Mastering JEE 7 Web Application Development Specialized - Mastering JEE 7 Web Application Development Code: Lengt h: URL: TT5100- JEE7 5 days View Online Mastering JEE 7 Web Application Development is a five-day hands-on JEE / Java EE training course

More information

Core Java. Basics of Java. String Handling. OOPS Concepts. Exception Handling

Core Java. Basics of Java. String Handling. OOPS Concepts. Exception Handling Core Java Basics of Java Java - What, Where and Why? History and Features of Java Internals of Java Program Difference between JDK, JRE and JVM Internal Details of JVM Variable and Data Type Unicode System

More information

What's New in the Servlet and JSP Specifications

What's New in the Servlet and JSP Specifications What's New in the Servlet and JSP Specifications Bryan Basham Sun Microsystems, Inc bryan.basham@sun.com Page 1 Topics Covered History Servlet Spec Changes JSP Spec Changes: General JSP Spec Changes: Expression

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

01KPS BF Progettazione di applicazioni web

01KPS BF Progettazione di applicazioni web 01KPS BF Progettazione di applicazioni web Introduction to Java Server Pages Fulvio Corno, Alessio Bosca Dipartimento di Automatica e Informatica Politecnico di Torino PAW - JSP intro 1 Introduction to

More information

Experiment No: Group B_2

Experiment No: Group B_2 Experiment No: Group B_2 R (2) N (5) Oral (3) Total (10) Dated Sign Problem Definition: A Web application for Concurrent implementation of ODD-EVEN SORT is to be designed using Real time Object Oriented

More information

Integrating Servlets and JavaServer Pages Lecture 13

Integrating Servlets and JavaServer Pages Lecture 13 Integrating Servlets and JavaServer Pages Lecture 13 Core Servlets & JSP book: More Servlets & JSP book: www.moreservlets.com Servlet and JSP Training Courses: courses.coreservlets.com 1 Slides Marty Hall,

More information

CPET 581 E-Commerce & Business Technologies. Topics

CPET 581 E-Commerce & Business Technologies. Topics CPET 581 E-Commerce & Business Technologies Design and Build E-Commerce Web Sites, Mobile Sites, and Apps Lecture Note 1 of 2 References: *Chapter 4. Building an E-Commerce Presence: Web Sites, Mobile

More information

Oracle EXAM - 1Z Java Enterprise Edition 5 Web Component Developer Certified Professional Exam. Buy Full Product

Oracle EXAM - 1Z Java Enterprise Edition 5 Web Component Developer Certified Professional Exam. Buy Full Product Oracle EXAM - 1Z0-858 Java Enterprise Edition 5 Web Component Developer Certified Professional Exam Buy Full Product http://www.examskey.com/1z0-858.html Examskey Oracle 1Z0-858 exam demo product is here

More information

An Efficient Approach of Building a New Software Web Framework for Better Software Solutions with DAO Layer

An Efficient Approach of Building a New Software Web Framework for Better Software Solutions with DAO Layer An Efficient Approach of Building a New Software Web Framework for Better Software Solutions with DAO Layer Digambar Y. Yedage Department of Computer Engineering SKN Sinhgad Insitute of Technology and

More information

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development Technology In Action, Complete, 14e (Evans et al.) Chapter 10 Behind the Scenes: Software Programming 1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem

More information

JSP source code runs on the web server via JSP Servlet Engine. JSP files are HTML files with special Tags

JSP source code runs on the web server via JSP Servlet Engine. JSP files are HTML files with special Tags JSP : Java Server Pages It is a server side scripting language. JSP are normal HTML with Java code pieces embedded in them. A JSP compiler is used to generate a Servlet from the JSP page. JavaServer Pages

More information

CS433 Technology Overview

CS433 Technology Overview CS433 Technology Overview Scott Selikoff Cornell University November 13, 2002 Outline I. Introduction II. Stored Procedures III. Java Beans IV. JSPs/Servlets V. JSPs vs. Servlets VI. XML Introduction VII.

More information

Web applications and JSP. Carl Nettelblad

Web applications and JSP. Carl Nettelblad Web applications and JSP Carl Nettelblad 2015-04-02 Outline Review and assignment Jara Server Pages Web application structure Review We send repeated requests using HTTP Each request asks for a specific

More information

Web Systems & Technologies: An Introduction

Web Systems & Technologies: An Introduction Web Systems & Technologies: An Introduction Prof. Ing. Andrea Omicini Ingegneria Due, Università di Bologna a Cesena andrea.omicini@unibo.it 2005-2006 Web Systems Architecture Basic architecture information

More information

Composer Help. Accessing the Editors and Templates

Composer Help. Accessing the Editors and Templates Composer Help Accessing the Editors and Templates 12/29/2017 Accessing the Editors and Templates Contents 1 Accessing the Editors and Templates 1.1 Creating a New File 1.2 Using an Existing Template 1.3

More information

IBM LOT-985. Developing IBM Lotus Notes and Domino(R) 8.5 Applications.

IBM LOT-985. Developing IBM Lotus Notes and Domino(R) 8.5 Applications. IBM LOT-985 Developing IBM Lotus Notes and Domino(R) 8.5 Applications http://killexams.com/exam-detail/lot-985 QUESTION: 182 Robert is adding an editable field called CountryLocation to the Member form

More information

JSP Scripting Elements

JSP Scripting Elements JSP Scripting Elements Core Servlets & JSP book: More Servlets & JSP book: www.moreservlets.com Servlet and JSP Training Courses: courses.coreservlets.com 1 Slides Marty Hall, http://, book Sun Microsystems

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Introduction Haim Michael. All Rights Reserved.

Introduction Haim Michael. All Rights Reserved. Architecture Introduction Applications developed using Vaadin include a web application servlet based part, user interface components, themes that dictate the look & feel and a data model that enables

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

More information

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming PSD1B Advance Java Programming Unit : I-V PSD1B- Advance Java Programming 1 UNIT I - SYLLABUS Servlets Client Vs Server Types of Servlets Life Cycle of Servlets Architecture Session Tracking Cookies JDBC

More information

HTML and XML. XML stands for extensible Markup Language

HTML and XML. XML stands for extensible Markup Language HTML and XML XML stands for extensible Markup Language HTML is used to mark up text so it can be displayed to users HTML describes both structure (e.g. , , ) and appearance (e.g. , ,

More information

Web Systems & Technologies: An Introduction

Web Systems & Technologies: An Introduction Web Systems & Technologies: An Introduction Prof. Ing. Andrea Omicini Ingegneria Due, Università di Bologna a Cesena andrea.omicini@unibo.it 2006-2007 Web Systems Architecture Basic architecture information

More information