210 likes | 356 Views
Java Web Development. T-111.4360 WWW-palvelun suunnittelu @ HUT 4.3.2008. Markus Hjort Reaktor Innovations. 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!. The Big Picture.
E N D
Java Web Development T-111.4360 WWW-palvelun suunnittelu @ HUT 4.3.2008 Markus HjortReaktor Innovations
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!
Standards • Java Applets • Java Servlets • Java Server Pages (JSP) • Java Server Faces (JSF) • Java Portlets
Open Source Frameworks • Struts • WebWork • GWT (Google Web Toolkit) • Tapestry • Wicket • ...
Servlet Containers (Application Servers) • Tomcat • Jetty • Bea WebLogic • IBM WebSphere • Caucho Resin • ...
Typical applications • Static web sites • Dynamic web sites • Web-based Products
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
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
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
Epic fails • The shortcomings of Servlet-only solutions • “JSP Model 1” Architecture
Front Controller Pattern • Controller uses model for business logic • Controller forwards to view • View shows model values
Html Components • Links • Labels • Images • ... • You can easily create your own custom components
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