DIAC 303: Desing and Implementation of Enterprise Application
Undergraduate Course, Business School @UCM, IT Department, 2018
Desing and Implementation of Enterprise Application
Permanent link ( Moodle )
DIAC 303: Design and Implementation of Enterprise Application
General Information and Objectives
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
ASSESSMENT
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.
**FINAL MARK and EXAM ADMISSION and EXAM PASS NORM**
- 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 .
MANDATORY Reading:
Hans Bergsten,Building Web Based User Interface (PDF), only Chapter 1
ADITIONAL Reading:
Annunziato José, Fesler Kaminaris Stephanie Java Server Pages in 24 hours
Hunter Jason, Crawford William Java Servlet Programming
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
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
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
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
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
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
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
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
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