|
|
Course Material
Pls take a look at the section on exam(above link)
Section 1 - Sept. 15 - Overview of web architectures - download slides
Note: if you missed this lecture, you can get its video:
Section 2a - Sept. 16 - Servlets part 1 - download slides
Note: if you missed this lecture, you can get its video:
Assignment: downlaod Tomcat, install it and runt it. You should be abl to have it serve at least a static page and a dynamic page.
Section 2 b-c - Sept. 22/23 - Servlets part 2 - download slides
Note: Students are expected to go through the videos of the next two lectures by themselves - on Tuesday, Sept 29, there will be a discussion in class on these items.
Assignment: Try on Tomcat the examples of the lectures. Section 2 d - Sept. 29 Servlets
Students are expacted to come to class having watched the two videos. They should come in class with their laptop with Tomcat running. We shall discuss problems, issues and concepts.
Section 2 e - Sept. 30 - JSP Pages - download slides
Note: if you missed this lecture, you can get its video:
Section 3 a - Oct. 7 - XML - download slides
Note: if you missed this lecture, you can get its video:
Section 3 b - Oct. 9 - XSLT - download slides
Assugnment:
Section 2 f - 3 c-d - Oct. 14/16 - JSP part 2, and XML part 2
Note: Students are expected to go through the videos of the next two lectures by themselves - on Wed, Oct 21, there will be a discussion in class on these items.
Section 3 e - Oct. 21 XML Exercise
You are given a xml file that contains the description of a person. You are requested to write java code to parse it using the available java for xml tools, and to create an object of class Person having two instance variables (name and age) that have to be populated by using the info available in the xml file.
Here is a solution provided by Jouke (one of your colleagues).
As a next tep you should code the viceversa (i.e. start from an instance of Person and produce a xml file that serializes its state).
You are then invited to think how this can be generalized to arbitrary classes, having an arbitrary number of instance variables. (Suggestions: provide a getter and setter method for every instance variable, and use Class.forName(), Class.getMethod() and Method.invoke(). To know more about these methods and their usage, look at the Java Reflection API tutorial and in particular at the sections about retrieving Class objects and method invokation
Note: To pass primitive values, you have to wrap them in the corresponding Object type. E.g. to call a method taking an "int", via reflection, you have to do the actual call as follows:
setIdMethod.invoke(obj, new Object[]{new Integer(5)});
).
Also, pls take a look at some slides that show a framewok that was designed to use XML to serialize/deserialize Java objects.
Note: there is no video of this lecture, as it was a hands-on session.
Section 4 a - Oct. 23 - RMI - download slides
Note: if you missed this lecture, you can get its video:
Section 4 b - Oct. 28 RMI Exercise
In this lecture we introduced the new version of RMI (without explicit Skeleton and with automatic Stub transport). We also discussed how the parameter passing semantics is different in usual Java and in the RMI paradigm (this point can be found in the video related to the previous lecture). Then we proceeded with an exercize: a remote object should provide a simple service (as storing and retrieving a string). The exercize should be done in couples, so that you can actually try calling the remote object residing on a different machine. It is strongly advised to follow step by step a tutorial, and then start changing the code. The tutorials to be followed are: -
Note: there is no video of this lecture, as it was (mostly) a hands-on session.
Section 5 - Oct. 30 - Javascript - download slides
Note: the lecture will not be held in class, so you should get its video and go through it:
Also, if you were not present at the lecture of Oct 21, pls take a look at the slides about the SimpleXML framework (you can find them above, at the end of Section 3e). Section 6 a - Nov. 4 - EJB - download slides
In this lecture we discussed a bit the concept of Directory and JNDI - you should look at the video to get a little bit deeper in this topic (and here are the slides for JNDI):
Then we started discussing the architecture of EJB, the necessity of the Home interface, the meaning of stateful and stateless session beans. We introduced EJB in version 2.1 because it better reveals the underlying model. In the next lectures we shall then see how the vesion 3.0 simplifies the programmer's work. This lecture was not exactly equivalent to the one given the previous year, that is recorded in the following video. However if you missed this lecture the video can still help.
ASSIGNMENT: Install and configure JBOSS. See http://weblogs.java.net/blog/ddevore/archive/2006/01/netbeans_with_j.html (It's a bit outdated but still useful).
Section 6 b - Nov. 7 - EJB part 2 - same slides as 6 a
Local Interface and version 3.0 of EJB
Section 6 c - Nov. 11 - EJB part 3 - same slides as 6 a
Version 3.0 of EJB and practice.
After a short introduction ef EJB 3.0, we shall practice a bit with JBOSS.
No video recording of this lecture (the 3.0 part is contained in the video of the previous lecture). Section 6 d - Nov. 18 - Entities - download slides You should follow some tutorials:
If you missed this lecture:
Section 6 e - Nov. 20 - EJB part 3 - same slides as 6 d - same video as 6 d
Practical session.
We finished discussing Entities and ORM by taking a look at relationships. The rest of the time was devoted to a practical session. Section 7 - - Transactions -
Section 8 - Dec. 2 - EJB Patterns - download slides
THIS IS ONE OF THE MOST IMPORTANT LECTURES IN THE COURSE!
ON DEC 4 I HAD A PROBLEM AND I COULD NOT COME TO THE LECTURE, NOR I COULD NOTIFY IN TIME. I APOLOGIZE WITH THOSE STUDENTS WHO WAITED IN VAIN!
Section 9 - Dec. 9 - EJB & JSF -
THIS LECTURE IS OPTIONAL - NO VIDEO WILL BE PROVIDED
At 16:00 I will provide a short introduction to JSF. It will be based on this series of tutorials:
http://www.coreservlets.com/JSF-Tutorial/jsf1/
Later (at 18:30) we can go together at the reccomended seminar:
RECCOMENDED SEMINAR: Hands On SEAM - Dec 9, 2009 18:30, Povo - organized by JUG Trento
Section 10 - Dec. 11 - Ajax - download slides
|
|