Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller:...

121
Struts Basics SSE USTC Qing Ding
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    227
  • download

    7

Transcript of Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller:...

Page 1: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Basics

SSE USTC

Qing Ding

Page 2: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Agenda

What is and Why Struts? Struts architecture

– Controller: Focus of this presentation– Model– View

Struts tag library Internationalization Validation and error handling View selection

Page 3: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What is Struts?

Page 4: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Jakarta Struts

Struts is an open source Web application framework developed as Apache Jakarta project– http://jakarta.apache.org/struts/

Page 5: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What is Struts?

Model-View-Controller (MVC) framework Used for constructing web applications based

Servlets and JSP technologies– Struts application is a genuine Web application th

at should be able to run on any Sevlet container including all J2EE compliant App servers

Pattern oriented– Singleton, composition view, delegate– Easy to use and learn

Includes custom tag libraries

Page 6: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts allows Web Application Developers to ...

Fashion their JSP/Servlet web applications using the MVC design pattern

Leverage ready-to-usable framework classes/objects through xml configuration files

Leverage built-in design patterns in the framework

Leverage extra features such as input validation, internationalization, page navigation, etc.

Page 7: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Why Struts?

Page 8: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Why Struts?

Takes much of the complexity out of building your own MVC framework

Encourages good design practice and modeling Easy to learn and use Feature-ric Many supported 3rd-party tools Flexible and extensible Large user community Stable and mature Open source

Page 9: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Why Struts?

Integrates well with J2EE Good custom tags support Easy to retain input form state Unified error handling programmatically and

declaratively Integration with Tiles framework Clear delineation of responsibility makes long

term maintenance easier (more modular)

Page 10: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Architecture

Page 11: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Model-View-Control (model 2)

Page 12: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

How Struts Works

Page 13: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts: MVC-based Architecture

Central controller (ActionServlet) mediates application flow and delegates to appropriate handler called Action

Action Handlers can use model components Model encapsulates business logic or state Control forwarded back through the Controlle

r to the appropriate View– The forwarding can be determined by consulting a

set of mappings in configuration file

Page 14: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts: MVC-based Architecture

3 Major Components in Struts– Servlet controller (Controller)– Java Server Pages or any other presentation tech

nology (View)– Application Business Logic in the form of whateve

r suits the application (Model)

Struts is focused on Controller– Struts is Model and View independent– Struts can use any Model and View technologies

Page 15: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts: MVC-based Architecture

Configuration file contains action mappings – URL to Action mappings– Controller uses these mappings to map HTTP req

uests to application actions– Determines forwarding/navigation

Mapping must specify– A request path (URI)– Action to act upon the request

Page 16: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Controller

Page 17: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What does Controller do?

Is the switch board of MVC architecture Every request goes through the controller Responsible for flow control (action mapping)

of the request handling– reads configuration file to determine the flow contr

ol

Handles Page navigation– reads configuration file to determine the next pag

e to display

Page 18: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

The Controller Component

Page 19: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Controller in Struts Framework

Struts framework provides a built-in base servlet– org.apache.struts.action.ActionServlet– Servlet mapping has to be configured in web.xml

Struts related configuration is done through struts-config.xml– Action Mapping defines the mapping between reques

t URI of incoming requests to specific Action class– Struts framework uses the configuration information

specified in the struts-config.xml file

Page 20: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Developer Responsibility

Write an Action class (that is, an extension of the Action class) for each logical request that may be received– override execute() method (perform() method in S

truts 1.0) Write the action mapping configuration file

– struts-config.xml Update the web application deployment desc

riptor file to specify the ActionServlet– web.xml

Page 21: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Controller Components in Struts Framework

ActionServlet (Provided by Struts) RequestProcessor (Struts 1.1)(Provided by Struts)

– One for each module

Action (Provided by developer) – Developer extends Struts-provided Action class

Action Mapping (Specified by developer) – Developer specifies action mapping in struts-config.xml file– Struts framework creates ActionMapping object and passes

it to Action object

Page 22: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

ActionServlet(Provided by Framewor

k)

Page 23: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does ActionServlet Do?

Performs the role of Controller– Process user requests– Determine what the user is trying to achieve accor

ding to the request– Pull data from the model (if necessary) to be give

n to the appropriate view, and– Select the proper view to respond to the user

Delegates most of this grunt work to Action classes

Page 24: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does ActionServlet Do? (con)

Is responsible for initialization and clean-up of resources– loads the application config corresponding to the

"config" init-param's in web.xml– goes through an enumeration of all init-param ele

ments, looking for those elements who's name starts with config/ for modules

– To access the module foo, you would use a URL like: (we will learn on this in advanced Servlet session)

http://localhost:8080/myApp/foo/someAction.do

Page 25: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Flow control by Controller

Page 26: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Flow (Struts 1.0)

Http://myhost/authorize.do

Server configured to pass *.do extensions to org.apache.struts.action.ActionServlet via a web.xml configuration file

ActionServlet object inspects the URI and tries to match it against an ActionMapping located in the struts-config.xml file

Instance of appropriate Action class is found and it’s execute() is called.

Action object handles the request and returns a next view. View is identified by ActionForward objerct.

Page 27: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

RequestProcessor(Provided by Framework)

Page 28: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processPath– Determine the path that invoked us. This will be u

sed later to retrieve an ActionMapping.

processLocale – Select a locale for this request, if one hasn't alrea

dy been selected, and place it in the request.

processContent – Set the default content type (with optional charact

er encoding) for all responses if requested.

Page 29: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processNoCache – If appropriate, set the following response headers: "Pragm

a", "Cache-Control", and "Expires".

processPreprocess – This is one of the "hooks" the RequestProcessor makes ava

ilable for subclasses to override. The default implementation simply returns true. If you subclass RequestProcessor and override processPreprocess you should either return true (indicating process should continue processing the request) or false (indicating you have handled the request and the process should return)

Page 30: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processMapping – Determine the ActionMapping associated with this path.

processRoles – If the mapping has a role associated with it, ensure the requ

esting user is has the specified role. If they do not, raise an error and stop processing of the request.

processActionForm – Instantiate (if necessary) the ActionForm associated with thi

s mapping (if any) and place it into the appropriate scope.

Page 31: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processPopulate – Populate the ActionForm associated with this req

uest, if any.

processValidate – Perform validation (if requested) on the ActionFor

m associated with this request (if any).

processForward – If this mapping represents a forward, forward to th

e path specified by the mapping.

Page 32: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processInclude – If this mapping represents an include, include the

result of invoking the path in this request.

processActionCreate – Instantiate an instance of the class specified by th

e current ActionMapping (if necessary).

processActionPerform – This is the point at which your action's perform() o

r execute() method will be called.

Page 33: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

What Does RequestProcessor Do?

processForwardConfig – Finally, the process method of the RequestProces

sor takes the ActionForward returned by your Action class, and uses to select the next resource (if any). Most often the ActionForward leads to the presentation page that renders the response.

Page 34: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Action Mapping

(You provide it)

Page 35: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Action Mapping in Struts Config File

Struts controller ActionServlet needs to know several things about how each request URI should be mapped to an appropriate Action class

These requirements are encapsulated in a Java interface named ActionMapping– Struts framework creates ActionMapping object fr

om < ActionMapping > configuration element of struts-config.xml file

Page 36: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Config File (struts-config.xml)

struts-config.xml contains three important elements used to describe actions:– <form-beans> contains FormBean definitions incl

uding name and type (classname)– <action-mapping> contains action definitions

Use an <action> element for each action defined

– <global-forwards> contains your global forward definitions

Page 37: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Config File (struts-config.xml)

<form-beans>– This section contains your form bean definitions.– You use a <form-beans> element for each form b

ean, which has the following important attributes: name: The name of the request (and session level attrib

ute that this form bean will be stored as) type: The fully-qualified Java classname of your form be

an

Page 38: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

struts-config.xml: from struts-submit application

Page 39: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.

Struts Config File (struts-config.xml)

<action-mappings>– This section contains your action definitions. You

use an <action> element for each of your actions you would like to define.

Page 40: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 41: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 42: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 43: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 44: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 45: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 46: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 47: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 48: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 49: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 50: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 51: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 52: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 53: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 54: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 55: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 56: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 57: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 58: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 59: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 60: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 61: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 62: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 63: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 64: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 65: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 66: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 67: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 68: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 69: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 70: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 71: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 72: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 73: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 74: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 75: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 76: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 77: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 78: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 79: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 80: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 81: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 82: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 83: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 84: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 85: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 86: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 87: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 88: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 89: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 90: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 91: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 92: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 93: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 94: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 95: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 96: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 97: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 98: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 99: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 100: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 101: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 102: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 103: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 104: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 105: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 106: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 107: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 108: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 109: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 110: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 111: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 112: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 113: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 114: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 115: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 116: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 117: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 118: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 119: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 120: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Page 121: Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.