Download - Markus Hjort Reaktor Innovations
![Page 1: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/3.jpg)
The Big Picture
![Page 4: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/5.jpg)
Open Source Frameworks
Struts WebWork GWT (Google Web Toolkit) Tapestry Wicket ...
![Page 6: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/6.jpg)
Servlet Containers (Application Servers)
Tomcat Jetty Bea WebLogic IBM WebSphere Caucho Resin ...
![Page 7: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/7.jpg)
Typical applications
Static web sites Dynamic web sites Web-based Products
![Page 8: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/11.jpg)
Lessons Learned In Java Web
Development
![Page 12: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/12.jpg)
Epic fails
The shortcomings of Servlet-only solutions “JSP Model 1” Architecture
![Page 13: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/13.jpg)
OO is important!
![Page 14: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/14.jpg)
Reuse
![Page 15: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/15.jpg)
Testability
![Page 16: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/16.jpg)
Model View Controller(MVC)
![Page 17: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/18.jpg)
ComponentFrameworks
![Page 19: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/19.jpg)
Html Components
Links Labels Images ... You can easily create your own custom
components
![Page 20: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/html5/thumbnails/20.jpg)
Thank you!
![Page 21: Markus Hjort Reaktor Innovations](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813218550346895d987497/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