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

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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...
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

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