struts presentation
DESCRIPTION
Struts PresentationTRANSCRIPT
![Page 1: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/1.jpg)
Formatvorlage des Untertitelmasters durch Klicken bearbeiten
Struts
Web Technologies – Struts – WS 2010/11
Felix Matenaar, Ivan GolodPatrick Schlebusch, Petru Nicolaescu
![Page 2: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/2.jpg)
18.11.10 Web Technologies
History
Server-side for dynamic web pages and web applications:
Common Gateway Interface – CGI
Overloaded server
ISAPI and Apache DSO
ASP
Java
JavaServer Pages – JSP
Java servlets
Web Technologies1
![Page 3: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/3.jpg)
18.11.10 Web Technologies
Motivation Model 1:
JSP handles all responsibilities:
Processing request
Validating data
Handling business logic
Generating response
Good for small projects
Disadvantage:
Page design is intermixed with business logic
Inadmissible for big projects
Web Technologies2
![Page 4: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/4.jpg)
Web Technologies3 22.11.2010 Web Technologies
MVC
ViewModel
Controller
Model 2:
Separates display of content from business logic
Model-View-Controller Pattern
Invented in Smalltalk at Xerox
Model - behavior and data
View - renders the model
Controller – receives input and initiates a response
![Page 5: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/5.jpg)
18.11.10 Web Technologies
What is Struts?
Framework for MVC in Java Web Applications
Components:
Extensible controller implementation Front controller
Own servlets realize actual functionality
Tag libraries for the JSPs HTML Forms
Internationalization
AJAX
Web Technologies4
![Page 6: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/6.jpg)
18.11.10 Web Technologies
MVC In Struts
Web Technologies5
View
JSPTags
Model
Java Beans
Controller
ActionServlet
Actionstruts-config.xml
ActionForm
![Page 7: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/7.jpg)
18.11.10 Web Technologies
Architecture & Request Life Cycle
Web Technologies6
Front Controller Action
Template(e.g. JSP)
Configuration
request
response Provided by Struts
Created by developer
Interceptor (Struts 2)
Tags
result
![Page 8: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/8.jpg)
18.11.10 Web Technologies
Action; Action Form The Action class
execute() : ActionForward
ActionForward, associated with current request
Configuring the action classes
The ActionForm
Associated with html form
Respects JavaBean specification
Web Technologies7
![Page 9: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/9.jpg)
18.11.10 Web Technologies
Configuration File: struts-config.xml
Available under “WebContent\WEB-INF”
ActionForm declaration
Action Mappings
General mapping
any request to a resource with .do extension will be taken by Struts’ ActionServlet
Web Technologies8
![Page 10: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/10.jpg)
A whole bunch of frameworks
Web Technologies9
DjangoRuby on Rails
Zend
Solarphp
Typo3
Google Web Tookit
StrutsWeb2py
18.11.10
![Page 11: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/11.jpg)
Criteria
Web Technologies10
performance
user feeling
infrastructure costs
security
availability
data loss → image loss
development speed
time to market
always offer latest technology
Not only the framework design but also the programming
Language influence the applicability
18.11.10
![Page 12: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/12.jpg)
Cursory comparison
Web Technologies11
Criteria Struts Django Zend Rails
Language Java Python PHP Ruby
Typing Strict Duck Duck Duck
Concept MVC MVC MVC MVC
Performance ++ - - -
Security o + - - ++
18.11.10
![Page 13: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/13.jpg)
Summary
Big projects should separate
business logic and presentation
Struts is an MVC framework
Java
Scalable
Controller -> Actions
View -> JSP
18.11.1012
![Page 14: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/14.jpg)
The end
Thank you!
18.11.10
![Page 15: Struts presentation](https://reader038.vdocuments.site/reader038/viewer/2022100517/554e9864b4c90526358b527a/html5/thumbnails/15.jpg)
18.11.10 Web Technologies
Literature
http://struts.apache.orgFramework Download, Documentation, Tutorials, etc..
Ian Roughley - „Starting With Struts 2“(http://www.infoq.com/minibooks/starting-struts2)
James Holmes - „Struts: The Complete Reference“
http://www.javauc.com/java/727