Struts BY: Tejashri Udavant.
Preface Problem we faced when designing JSP: Familiar with HTML and expertise in web design (the content, font, color, web page layout etc.) Having Programming knowledge with Java (embedded java code in JSP)
Break down the tasks with Struts
What is Struts Norwegian word meaning ostrich A Java open source framework especially used for web application development. With Struts, developers can following the MVC design pattern to design web application
What is MVC design pattern Input Processing Output Controller Model View Calculation, database operation, connection with remote systems Application screen, web pages
Controller in Struts Called ActionServlet Its functions: - Receive http request from client (Web browser) - Invoke Model part by calling Action objects - Send the JSP file returned by Action objects back to the client
Model component in Struts In Action objects Its functions: - Carrying out business related processing (by itself or other objects) - Determining the next web page to send to the client
View component in Struts Html and JSP files with Struts tags embedded Features provided by Struts tags: - Sophisticated html form handling (validation, error display etc.) - Display localized messages stored in a resource file on web page (message tag) - And many others …
How to get M V C parts work together A configuration file called struts-config.xml in XML format Defines Action classes, Java Beans used in the project Define “virtual” paths to be used in JSP files
An example …<struts-html:form action=“action1”>… In TestWeb1.jsp: …<struts-html:form action=“action1”>… In struts-config.xml: … < action path=“action1” type=“JavaBean1”…>… <forward name=“next1" path="/nextpage1.jsp"/> If changing to use another java bean as Action class in the future,… Same Set .. To be… Then Everything is done
The whole process of a client request Call “action1” Client ActionServlet Action object JavaBean1 request ActionForward next1 find JSP / HTML files nextpage1.jsp
The architecture required for Struts Applications Struts classes / Taglib Java Application Server JSP / Servlet engine