15

Click here to load reader

Struts presentation

Embed Size (px)

DESCRIPTION

Struts Presentation

Citation preview

Page 1: Struts presentation

Formatvorlage des Untertitelmasters durch Klicken bearbeiten

Struts

Web Technologies – Struts – WS 2010/11

Felix Matenaar, Ivan GolodPatrick Schlebusch, Petru Nicolaescu

Page 2: Struts presentation

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

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

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

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

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

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

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

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

A whole bunch of frameworks

Web Technologies9

DjangoRuby on Rails

Zend

Solarphp

Typo3

Google Web Tookit

StrutsWeb2py

18.11.10

Page 11: Struts presentation

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

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

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

The end

Thank you!

18.11.10

Page 15: Struts presentation

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