Struts是一个开源的web框架,框架提高了程序的规范,同时也约束了程序员的自由。
为什么会有struts??
因为我们对mvc理解的不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展,所以有必要用一个统一的规范来开发项目(struts)。
Struts 的好处: 程序更加规范化,开发效率提高了,可读性增加了,程序的可维护性增加了。
Struts1.X运行原理时序图:
时序图说明:
1、一个请求从浏览器发送给web服务器,http://localhost:8080/web应用/action
2、web服务器接收到请求之后:
(1)首先解析主机,本例中为localhost:8080
(2)然后解析web应用的名称,本例中为web应用
(3)再解析出资源名,本例中为action
(4)转发给总司令ActionServlet(该类由struts框架提供给我们的无需编写,只需配置)
ActionServlet说明:
ActionServlet有一个struts-config.xml文件,该文件配置了表单actionForm(军火库)和action(小队长),以及他们之间的对应关系。
(5)当ActionServlet拿到命令后去查询struts-config.xml文件,将用户提交的数据填充到表单(actionForm)里边。
(6)调用指定的action(小队长),去从表单中读取数据
(7)action调用某个model(士兵,如service)完成任务
(8)完成任务把结果返回给ActionServlet总司令(返回一个执行的结果)
(9)总司令根据结果又去查询struts-config.xml文件,决定跳转到哪个jsp页面
(10)返回一个执行结果(形成静态html文件)给web服务器。
(11)服务器再把静态页面以http响应的方式传给浏览器