DIAC 303: Desing and Implementation of Enterprise Application

Undergraduate Course, Business School @UCM, IT Department, 2018

Desing and Implementation of Enterprise Application

DIAC 303: Design and Implementation of Enterprise Application

General Information and Objectives


-   Learn the basis of the Java EE6 programming language
-   Search the technologies and tools available in the IT community
-   Improve the technologies and tools currently used
-   Share the acquired information with colleagues and the IT Enterprise community of developers
-   Be constantly open to new requirements, tools and technologies


The assessment of this module will consist of two parts:  

**CourseWork Evaluations**

-   1 MidTerm Test 40%,
-   2 Quizes 10% and
-   2 Assignments 20%

Final Exam

-   In the 9th week , the student will be given a final exam , which will have a weight of 40% towards the final Mark.


-   The final score is the sum of sixty percent (60% ) of the coursework , plus forty percent (40%) of the final exam.
-   The minimum score for admission is 10/20
-   The student on the final exam must get an eight (8) or more to pass ​​.
-   The student who obtains a final mark of ten ( 10 ) values ​​, and who has not obtained a score lower than eight ( 8 ) in the final exam is considered approved .


Java EE 6 tutorial (PDF)

Hans Bergsten,Building Web Based User Interface (PDF), only Chapter 1


Annunziato José, Fesler Kaminaris Stephanie Java Server Pages in 24 hours

Hunter Jason, Crawford William Java Servlet Programming

 Pauta de Admissao File

 kkk Quiz

Topic outline

Introduction Enterprise Application

Overview and Setup

-   Understanding the role of servlets
-   Evaluating servlets vs. other technologies
-   Understanding the role of JSP
-   Configuring the server
-   Configuring your development environment
-   Testing the server setup

Servlet Basics

-   The basic structure of servlets
-   A simple servlet that generates plain text
-   A servlet that generates HTML
-   Servlets and packages
-   Some utilities that help build HTML
-   The servlet life cycle
-   Servlet debugging strategies

 Lecture 1 File

 Lecture File

 WorkShop 1 File

 Exercicio 1 File

Handling Client Request

Handling the Client Request: Form Data

-   The role of form data
-   Creating and submitting HTML forms
-   Reading individual request parameters
-   Reading the entire set of request parameters
-   Handling missing and malformed data
-   Dealing with incomplete form submissions
-   Filtering special characters out of the request parameters

Handling the Client Request: HTTP Request Headers

-   Reading HTTP request headers
-   Building a table of all the request headers
-   Understanding the various request headers
-   Reducing download times by compressing pages
-   Differentiating among types of browsers

 Lecture 3 File

 Lecture 4 File

 Exercicio 2 Correcao File

 Exercicio 2 File

Response Generation

Generating the Server Response: HTTP Status Codes

-   Format of the HTTP response
-   How to set status codes
-   What the status codes are good for
-   Shortcut methods for redirection and error pages
-   A servlet that redirects users to browser-specific pages
-   A front end to various search engines

Generating the Server Response: HTTP Response Headers

-   Format of the HTTP response
-   Setting response headers
-   Understanding what response headers are good for
-   Building Excel spread sheets
-   Generating JPEG images dynamically
-   Sending incremental updates to the browser

 Lecture 5 File

 Assignment 3

 Exercicio 3 File

Cookies and Session Tracking

Handling Cookies

-   Understanding the benefits and drawbacks of cookies
-   Sending outgoing cookies
-   Receiving incoming cookies
-   Tracking repeat visitors
-   Specifying cookie attributes
-   Differentiating between session cookies and persistent cookies
-   Simplifying cookie usage with utility classes
-   Modifying cookie values
-   Remembering user preferences

Session Tracking

-   Implementing session tracking from scratch
-   Using basic session tracking
-   Understanding the session-tracking API
-   Differentiating between server and browser sessions
-   Encoding URLs
-   Storing immutable objects vs. storing mutable objects
-   Tracking user access counts
-   Accumulating user purchases
-   Implementing a shopping cart
-   Building an online store

 Assignment 4

 MidTerm Correction File

 Session Tracking Lecture File

 Cookies Lecture File

Intro to JSP and Scripting Elements

JSP Intro and Overview

-   Understanding the need for JSP
-   Evaluating the benefits of JSP
-   Comparing JSP to other technologies
-   Avoiding JSP misconceptions
-   Understanding the JSP lifecycle
-   Installing JSP pages
-   Looking at JSP in the real world

Invoking Java Code with JSP Scripting Elements

-   Static vs. dynamic text
-   Dynamic code and good JSP design
-   JSP expressions
-   Servlets vs. JSP pages for similar tasks
-   JSP scriptlets
-   JSP declarations
-   Predefined variables
-   Comparison of expressions, scriptlets, and declarations

 JSP Intro File

 Scripting Elements Lecture File

Advanced Topics on JSP

Controlling the Structure of Generated Servlets: The JSP page Directive

-   Understanding the purpose of the page directive
-   Designating which classes are imported
-   Specifying the MIME type of the page
-   Generating Excel spreadsheets
-   Participating in sessions
-   Setting the size and behavior of the output buffer
-   Designating pages to handle JSP errors
-   Controlling threading behavior

Including Files and Applets in JSP Pages

-   Using jsp:include to include pages at request time
-   Using <%@ include ... %> (the include directive) to include files at page translation time
-   Understanding why jsp:include is usually better than the include directive
-   Using jsp:plugin to include applets for the Java Plug-in

 Page Directive File

 File Inclusion

JavaBeans and MVC Architecture With JSP and Servlets

Using JavaBeans Components in JSP Documents

-   Understanding the benefits of beans
-   Creating beans
-   Installing bean classes on your server
-   Accessing bean properties
-   Explicitly setting bean properties
-   Automatically setting bean properties from request parameters
-   Sharing beans among multiple servlets and JSP pages

Integrating Servlets and JSP: The Model View Controller (MVC) Architecture

-   Understanding the benefits of MVC
-   Using RequestDispatcher to implement MVC
-   Forwarding requests from servlets to JSP pages
-   Handling relative URLs
-   Choosing among different display options
-   Comparing data-sharing strategies

 JavaBeans File

 MVC Lecture File

 Todos os Codes File

Expression Language and Web App Deployment

Simplifying Access to Java Code: The JSP 2.0 Expression Language

-   Motivating use of the expression language
-   Understanding the basic syntax
-   Understanding the relationship of the expression language to the MVC architecture
-   Referencing scoped variables
-   Accessing bean properties, array elements, List elements, and Map entries
-   Using expression language operators
-   Evaluating expressions conditionally

Using and Deploying Web Applications

-   Purpose of Web applications
-   Structure of Web applications
-   Setting up Web applications with Tomcat
-   Giving custom addresses to servlets
-   Sharing data among Web applications

 Expression Language File

Web Application Behavior and Tag Libraries

Controlling Web Application Behavior

-   Location and purpose of web.xml
-   Custom URLs
-   Initialization parameters
-   Preloading pages
-   Welcome pages
-   Error pages

Creating Custom JSP Tag Libraries: The Basics

-   Java-based tags
    -   Components of a tag library
    -   Basic tags
    -   Tags that use body content
    -   Tags that optionally use body content
-   JSP-based tags (tag files)
    -   Components of a tag library
    -   Basic tags
    -   Tags that use attributes
    -   Tags that use body content

Databases and AJaX

Accessing Databases with JDBC

-   Overview of JDBC technology
-   JDBC drivers
-   Seven basic steps in using JDBC
-   Using JNDI with JDBC
-   Retrieving data from a ResultSet
-   Using prepared and callable statements
-   Handling SQL exceptions
-   Submitting multiple statements as a transaction

Ajax: Asynchronous Page Updates

-   The basic Ajax process
-   Using dynamic content and JSP
-   Using dynamic content and servlets
-   Sending GET data
-   Sending POST data
-   Displaying HTML results
-   Parsing and displaying XML results

Leave a Comment