markus hjort reaktor innovations java web development t-111.4360 suunnittelu @ hut 4.3.2008
TRANSCRIPT
![Page 1: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/1.jpg)
Markus HjortReaktor Innovations
Java WebDevelopment
T-111.4360 WWW-palvelun suunnittelu @ HUT 4.3.2008
![Page 2: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/2.jpg)
Goals Tonight
I hope you all get Short introduction to Java Web Development Understanding how Java tries to solve real world
problems within web development!
![Page 3: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/3.jpg)
The Big Picture
![Page 4: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/4.jpg)
Standards
Java Applets Java Servlets Java Server Pages (JSP) Java Server Faces (JSF) Java Portlets
![Page 5: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/5.jpg)
Open Source Frameworks
Struts WebWork GWT (Google Web Toolkit) Tapestry Wicket ...
![Page 6: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/6.jpg)
Servlet Containers (Application Servers)
Tomcat Jetty Bea WebLogic IBM WebSphere Caucho Resin ...
![Page 7: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/7.jpg)
Typical applications
Static web sites Dynamic web sites Web-based Products
![Page 8: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/8.jpg)
The Challenges of Web Development*
Web interfaces change frequently Web interfaces involve complex markup Web interfaces use a very different
model compared to traditional Uis in languages such as Java
* Rod Johnson: J2EE Design and development
![Page 9: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/9.jpg)
The Challenges of Web Development
HTTP requests can carry only string parameters
Web interfaces make it difficult to validate user input, as we have limited control over over the client browser
HTML offers a limited choice of UI controls
![Page 10: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/10.jpg)
The Challenges of Web Development
Ensuring that a web site looks right and works correctly in all all common browsers can be difficult
There are many efficiency considerations
Web interfaces are relatively hard to test
![Page 11: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/11.jpg)
Lessons Learned In Java Web
Development
![Page 12: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/12.jpg)
Epic fails
The shortcomings of Servlet-only solutions “JSP Model 1” Architecture
![Page 13: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/13.jpg)
OO is important!
![Page 14: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/14.jpg)
Reuse
![Page 15: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/15.jpg)
Testability
![Page 16: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/16.jpg)
Model View Controller(MVC)
![Page 17: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/17.jpg)
Front Controller Pattern
Controller uses model for business logic Controller forwards to view View shows model values
![Page 18: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/18.jpg)
ComponentFrameworks
![Page 19: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/19.jpg)
Html Components
Links Labels Images ... You can easily create your own custom
components
![Page 20: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/20.jpg)
Thank you!
![Page 21: Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfac1a28abf838c9b8de/html5/thumbnails/21.jpg)
Links
JSP Tutorial: http://www.jsptut.com/
Wicket: http://apache.wicket.org/
MVC: http://en.wikipedia.org/wiki/Model-view-controller
JDBC (for database access): http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html