Download presentation
Presentation is loading. Please wait.
Published byAmber Hawkins Modified over 8 years ago
1
Introduction to Jakarta Struts Framework Try NCCU Computer Center Mar 20,2002
2
The Evolution of Server Side Web Ap Developement CGI(or ISAPI) Servlet JSP JSP+Bean (Model 1) JSP+Bean+XML techs Model 2 (MVC) Model 2X(MVC with XML techs)
3
What is MVC The Model View Controller is a technique used to separate Business logic/state (the Model) from User Interface (the View) and program progression/flow (the Control). This pattern is very useful when it comes to modern web development: –The majority of modern, high usage websites are dynamically driven. –People well skilled at presentation (HTML writers) seldom know how to develop back-end solutions and visa versa. –Separating business rules from presentation is good no matter what environment you develop in be it web or desktop. 資料來源 Craig W. Tataryn,Introduction to MVC and the Jakarta Struts Framework
5
Benefits of MVC Promotes Modularity I18n Abstraction Allows application to be defined in a flow-chart, use-case or activity diagram which is more easily transferred to implementation. 資料來源 Craig W. Tataryn,Introduction to MVC and the Jakarta Struts Framework
6
The Struts Framework overview Struts is an open source MVC framework developed by the Apache Jakarta project group. Struts allows JSP/Servlet writers the ability to fashion their web applications using the MVC design pattern. By designing your web application using Struts you allow: –Architect the ability to design using the MVC pattern –Developer to exploit the Struts framework when building the app. –Web designer can learn how to program in MVC. 資料來源 http://jakarta.apache.org/struts/
7
The Struts Framework overview(2) Struts takes much difficult work out of developing an MVC based web app. The Struts framework provides a collection of canned objects which can facilitate fundamental aspects of MVC, while allowing you to extend further as need suites
8
Components of Struts Framework Model –Business Logic Bean(or session bean) 、 StateBean(or entity bean) 、 ActionForm 。 View –A Set of Tag library. –Language Resource File Controller –ActionServlet( controlled by struct-configs.xml) –ActionClasses Utility Classes
9
Components of Struts Framework(2) 資料來源 http://www-106.ibm.com/developerworks/library/j-struts/?n-j-2151
10
How Struts works 資料來源 http://www-106.ibm.com/developerworks/library/j-struts/?n-j-2151
11
View The view in Struts is represented by JSP pages. Minimize the occurance of scriptlets in your page –Use the tag-library provided by Struts to control the presenatational logic.
12
View:I18n The ability to maintain a web app in several different languages Based on the language setup on the client side, the web app will automatically switch. This is achieve in Struts through Java Resource Bundles Instead of having to make a ResourceBundle class for each language supported by your web app, resource bundles can be described as language resource files
13
Traditional ChineseEnglish Demo
14
View:I18n(2) Language Resource –FileName Conventions (ResourceName)_(ISO-LanguageCode)_(ISO-ConturyCode).properties –Register the Resource Name in web.xml. In order for web developers to get at the string resources we use a special Struts tag called
15
View:Example Login.jsp ApplicationResources_en_US.properti es ApplicationResources_zh_TW.properti es
16
Model ResultBean,hold information needed to generate the result page. FromBean(extend ActionForm ),hold the data passed by user either by POST or Query String. Business Logic Bean. EJB 、 JMS or other components we impl at business logic layer before.
17
Model:ActionForm JSP pages acting as the view for this LogonForm are automatically updated by Struts with the current values of the UserName and Password properties. If the user changes the properties via the JSP page, the LogonForm will automatically be updated by Struts Before an ActionForm object is passed to a controller for processing, a “ validate ” method can be implemented on the form which allows the form to belay processing until the user fixes invalid input
18
Model:Example LoginForm.java tw.edu.nccu.user.TeacherData
19
Control The controller is the switch board of MVC. It directs the user to the appropriate views by providing the view with the correct model The task of directing users to appropriate views is called “ mapping ” in struts. The Struts framework provides a base object called org.apache.struts.action.ActionServlet. The ActionServlet class uses a configuration file called struts-config.xml to read mapping data called action mappings The ActionServlet class reads the incoming URI and tries to match the URI against a set of action mappings to see if it can find a controller class which would be willing to handle the request
20
http://TeacherStudata/login.action Server configured to pass *.action 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 perform() method is called Action object handles the request and returns control to a view based where the user is within the flow of the application Controller (2)
21
Control:Example tw.edu.nccu.teacherstudata.actions.Lo ginAction Struts-config.xml LoginAction.java
22
Problems with Struts Does not work on JDK1.4.0 Steep learning curve. Problems on old Application Servers(include Tomcat3.2.1 、 Weblogic 5.1). The only output document is HTML , it didn ’ t support the XSL transform technology.(Unless we modify the source code)
23
Model 2X Model2X –Conceived by Julien Mercay and Gilbert Bouzeid on Feb 1,2002. –Replace the JSP+TagLib with XML+XSLT at presentation layer. –Using XSL Servlet as the Document Factory. –Support pipe-line processing while generating the target document.
26
Resource Struts homepage –http://jakarta.apache.org/struts/ Sun ’ s Servlet Specification –http://java.sun.com/products/servlet/download.ht ml#specs Sun ’ s JSP Specification –http://java.sun.com/products/jsp/download.html Blue Stone ’ s Struts Tutorial –http://developer.bluestone.com/scripts/SaISAPI. dll/Gallery.class/demos/trailMaps/index.jsp My Struts page –http://java.cc.nccu.edu.tw/struts/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.