structs工作原理和组件

structs是一个web Framework.
什么是framework?
将相同类型问题的解决方案进行抽象,抽出一个应用框架,使程序员从繁杂的代码工程中解脱出来,致力于业务逻辑的分析和构建.
structs framework是mvc模式的体现.
视图角度
           视图层只负责采集用户的输入数据和提交用户的http请求.
模型角度
           模型层主要有业务模型和数据模型.
控制器角度
           控制层中的中心控制器ActionServlet,接收视图层传来的http请求,委托给RequestProcessor对象,RequestProcessor对象根据struts-config.xml中的
ActionServlet控制器对象
引用

<servlet>
<servlet-name>loginservlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginservlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

配置信息找到相应的action,然后再根据
Action 对象
Action Mapping 对象
引用

<action-mappings>
  <action  path="/logonAction"
           type="com.test.LogonAction"
           name="LogonForm"
           scope="request"
           input="logoncheck.jsp"
validate="false">
<forward name="welcome" path="/welcome.jsp"/>
<forward name="failure" path="/logon_failure.jsp "/>
</action>
</action-mappings>

配置信息找到具体的业务模型类,
根据
引用
<form-beans>
  <form-bean  name="LoginForm"
type="com.test.LoginForm"/>
</form-beans>
找到业务模型需要的数据模型类,
将从视图层获得的数据模型类传递给业务模型类,执行用户请求,最后将处理结果封装到数据模型类中
根据
ActionForward 对象
引用

<action path="/editCustomerProfile"
type="packageName.EditCustomerProfileAction"
name="customerProfileForm" scope="request">
<forward name="success" path="/MainMenu.jsp"/>
<forward name="failure" path="/CustomerService.jsp"/>
</action>
规则
返回给视图层,从而返回给用户.

你可能感兴趣的:(apache,mvc,工作,框架,struts)