SlideShare a Scribd company logo
1 of 15
Download to read offline
Formatvorlage des Untertitelmasters durch
Klicken bearbeiten
Struts
Web Technologies – Struts – WS 2010/11
Felix Matenaar, Ivan Golod
Patrick Schlebusch, Petru Nicolaescu
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
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
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
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
18.11.10 Web Technologies
MVC In Struts
Web Technologies5
View
JSP
Tags
Model
Java Beans
Controller
ActionServlet
Action
struts-config.xml
ActionForm
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
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
18.11.10 Web Technologies
Configuration File: struts-config.xml
 Available under “WebContentWEB-INF”
 ActionForm declaration
 Action Mappings
 General mapping
 any request to a resource with .do extension will be
taken by Struts’ ActionServlet
Web Technologies8
A whole bunch of frameworks
Web Technologies9
Django
Ruby on Rails
Zend
Solarphp
Typo3
Google Web Tookit
Struts
Web2py
18.11.10
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
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
Summary
 Big projects should separate
business logic and presentation
 Struts is an MVC framework
 Java
 Scalable
 Controller -> Actions
 View -> JSP
18.11.1012
The end
Thank you!
18.11.10
18.11.10 Web Technologies
Literature
 http://struts.apache.org
Framework 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

More Related Content

What's hot

A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATETushar Choudhary
 
Step by Step Guide for building a simple Struts Application
Step by Step Guide for building a simple Struts ApplicationStep by Step Guide for building a simple Struts Application
Step by Step Guide for building a simple Struts Applicationelliando dias
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentationBhavin Shah
 
Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fairTech_MX
 
Just a View: An Introduction To Model-View-Controller Pattern
Just a View:  An Introduction To Model-View-Controller PatternJust a View:  An Introduction To Model-View-Controller Pattern
Just a View: An Introduction To Model-View-Controller PatternAaron Nordyke
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architectureravindraquicsolv
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017Innovation Studio
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 

What's hot (20)

Struts Ppt 1
Struts Ppt 1Struts Ppt 1
Struts Ppt 1
 
Struts 1
Struts 1Struts 1
Struts 1
 
Jsp with mvc
Jsp with mvcJsp with mvc
Jsp with mvc
 
A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATE
 
Struts framework
Struts frameworkStruts framework
Struts framework
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Introduction to struts
Introduction to strutsIntroduction to struts
Introduction to struts
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
Step by Step Guide for building a simple Struts Application
Step by Step Guide for building a simple Struts ApplicationStep by Step Guide for building a simple Struts Application
Step by Step Guide for building a simple Struts Application
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentation
 
Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fair
 
What is MVC?
What is MVC?What is MVC?
What is MVC?
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
 
Just a View: An Introduction To Model-View-Controller Pattern
Just a View:  An Introduction To Model-View-Controller PatternJust a View:  An Introduction To Model-View-Controller Pattern
Just a View: An Introduction To Model-View-Controller Pattern
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architecture
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
Mvc fundamental
Mvc fundamentalMvc fundamental
Mvc fundamental
 
MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
MVC
MVCMVC
MVC
 

Viewers also liked

Model View Controller(MVC)
Model View Controller(MVC)Model View Controller(MVC)
Model View Controller(MVC)Himanshu Chawla
 
3.3.1 planking strutting
3.3.1 planking strutting3.3.1 planking strutting
3.3.1 planking struttingNatalie Ulza
 
Hibernate architecture
Hibernate architectureHibernate architecture
Hibernate architectureAnurag
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar PresantationAbhishek Yadav
 
Administración de riesgos en un proyecto software
Administración de riesgos en un proyecto softwareAdministración de riesgos en un proyecto software
Administración de riesgos en un proyecto softwareAnna Vega
 
PLANEACION DE PROYECTOS DE SOFTWARE
PLANEACION DE PROYECTOS DE SOFTWAREPLANEACION DE PROYECTOS DE SOFTWARE
PLANEACION DE PROYECTOS DE SOFTWAREAlberto Zurita
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentationguest11106b
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwareTtomas Carvajal
 
Planificación de proyectos de software
Planificación de proyectos de softwarePlanificación de proyectos de software
Planificación de proyectos de softwarehrubenleiva21
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 

Viewers also liked (14)

MVC Architecture
MVC ArchitectureMVC Architecture
MVC Architecture
 
Model View Controller(MVC)
Model View Controller(MVC)Model View Controller(MVC)
Model View Controller(MVC)
 
3.3.1 planking strutting
3.3.1 planking strutting3.3.1 planking strutting
3.3.1 planking strutting
 
Hibernate architecture
Hibernate architectureHibernate architecture
Hibernate architecture
 
Spring & hibernate
Spring & hibernateSpring & hibernate
Spring & hibernate
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
 
Administración de riesgos en un proyecto software
Administración de riesgos en un proyecto softwareAdministración de riesgos en un proyecto software
Administración de riesgos en un proyecto software
 
PLANEACION DE PROYECTOS DE SOFTWARE
PLANEACION DE PROYECTOS DE SOFTWAREPLANEACION DE PROYECTOS DE SOFTWARE
PLANEACION DE PROYECTOS DE SOFTWARE
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
 
Planificación de proyectos de software
Planificación de proyectos de softwarePlanificación de proyectos de software
Planificación de proyectos de software
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Scaffolding
ScaffoldingScaffolding
Scaffolding
 

Similar to Struts presentation

WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008Marco Brambilla
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Ria 03 - Hello ASP.NET MVC
Ria 03 - Hello ASP.NET MVCRia 03 - Hello ASP.NET MVC
Ria 03 - Hello ASP.NET MVCJohannes Hoppe
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke PresentationTony Cosentino
 
Programming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVCProgramming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVCIan Carnaghan
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backboneRTigger
 
Ajax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE EnvironmentAjax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE Environmentstarchaser
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Prashanth Shivakumar
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocketandrejusb
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approachMark Friedman
 
Web Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updateWeb Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updatehuningxin
 
Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Mark Friedman
 

Similar to Struts presentation (20)

WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Ria 03 - Hello ASP.NET MVC
Ria 03 - Hello ASP.NET MVCRia 03 - Hello ASP.NET MVC
Ria 03 - Hello ASP.NET MVC
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
 
Programming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVCProgramming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVC
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Ajax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE EnvironmentAjax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE Environment
 
Lecture 05 web_applicationframeworks
Lecture 05 web_applicationframeworksLecture 05 web_applicationframeworks
Lecture 05 web_applicationframeworks
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
Aspnet
AspnetAspnet
Aspnet
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approach
 
Techdays 2011 - Things I will remember
Techdays 2011 - Things I will rememberTechdays 2011 - Things I will remember
Techdays 2011 - Things I will remember
 
Asp.net basic
Asp.net basicAsp.net basic
Asp.net basic
 
Web Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updateWeb Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march update
 
Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?
 

More from Nicolaescu Petru

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...Nicolaescu Petru
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...Nicolaescu Petru
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoNicolaescu Petru
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesNicolaescu Petru
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentNicolaescu Petru
 
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Nicolaescu Petru
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportNicolaescu Petru
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...Nicolaescu Petru
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeNicolaescu Petru
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...Nicolaescu Petru
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioNicolaescu Petru
 

More from Nicolaescu Petru (12)

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive Video
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application Development
 
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning Support
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-Time
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Struts presentation

  • 1. Formatvorlage des Untertitelmasters durch Klicken bearbeiten Struts Web Technologies – Struts – WS 2010/11 Felix Matenaar, Ivan Golod Patrick Schlebusch, Petru Nicolaescu
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 18.11.10 Web Technologies MVC In Struts Web Technologies5 View JSP Tags Model Java Beans Controller ActionServlet Action struts-config.xml ActionForm
  • 7. 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
  • 8. 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
  • 9. 18.11.10 Web Technologies Configuration File: struts-config.xml  Available under “WebContentWEB-INF”  ActionForm declaration  Action Mappings  General mapping  any request to a resource with .do extension will be taken by Struts’ ActionServlet Web Technologies8
  • 10. A whole bunch of frameworks Web Technologies9 Django Ruby on Rails Zend Solarphp Typo3 Google Web Tookit Struts Web2py 18.11.10
  • 11. 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
  • 12. 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
  • 13. Summary  Big projects should separate business logic and presentation  Struts is an MVC framework  Java  Scalable  Controller -> Actions  View -> JSP 18.11.1012
  • 15. 18.11.10 Web Technologies Literature  http://struts.apache.org Framework 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