The Model-View-Controller (MVC) Design Pattern in Struts2.0 Framework
Previous | Home | Next |
The MVC pattern provides a separation of concerns that applies well to web applications. Separation of concerns allows us to manage the complexity of large software systems by dividing them into high-level components.The MVC design pattern identifies three distinct concerns: model, view, and controller.In Struts 2, these are implemented by the action, result, and FilterDispatcher, respectively.
Model-Action:- The model is implemented by the Struts 2 action component. But what exactly is the model The model is the internal state of the application. This state is composed of both the data model and the business logic.View-Result:- The view is the presentation component of the MVC pattern. the result returns the page to the web browser. This page is the user interface these are commonly JSP pages, Velocity templates, or some other presentation-layer technology.MyAction.javapackage org.r4r; public class MyAction { private String name,password; public String execute(){ return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } }Controller-FilterDispatcher:- The role of the controller is played by the Struts 2 FilterDispatcher. The FilterDispatcher class controlling the over all work flow in the struts2.0 framework.index.jsp<%@taglib uri="/struts-tags" prefix="s"%> <s:form action="hello"> <s:textfield name="name" label="Name"/> <s:submit value="Submit"/> </s:form>web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>f1</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>f1</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
Previous | Home | Next |