struct 2(一) 之基本原理
?
一、基本原理1.?问题?
如果是前端的静态HTML,处理网页设计的美术人员可以独立设计
如果是后端的类,程序设计人员可以独立设计而结合HTML与Java代码的JSP,处理网页设计的美术人员与程序设计人员,必须被彼此加入至视图组件中的逻辑互相干扰,开发一个JSP页面,需要双方不断交流才能够完成,开发人员的学习负担重,他们必须一人了解多个角色的工作以及相关技术。
2.?解决
Struts它试图在不同的角度上提供网页设计人员、应用程序设计人员、架构设计人员解决方案,让不同技术的人员可以彼此合作又不互相干扰。从架构设计人员的角度来看,他只需要做出一些配置与定义,定义后端bean与前端页面的关系。从网页设计人员的角度来看,Struts提供了一套像是新版本的HTML标签,但它不是静态的,而是动态的,可以与后端的动态程序结合,但网页设计人员不需要理会后端的动态部份。从应用程序设计人员的角度来看,他只需要按架构师设计人员的定义,完成后端bean的实现即可。
3.?总的来说,struct就是为了解决前台设计人员与应用程序设计人员的各自工作的解耦,尽量让另一方的工作不影响到另一方工作。
二、使用
1.?添加jar包

注:struct-spring-plugin.jar这个包是负责struct与spring进行交互,这个包是spring提供的,spring提供的这个jar包是有严谨的版本要求,spring决定是哪一个版本的struct
2,配置web.xml:?配置struts引擎
?
3,添加struts.xml到src根目录
?
所定义的action都是在package标签里面,例如:在struts.xml中定义一个action
?
4.按struts.xml中的action定义撰写一个简单的Action类,demo.mystruct.UserAction定义两个用户输入的属性(也就是页面会传过来的参数,注意页面的name要和该类对应的属性要一致),提供getter/setter,定义处理用户请求的execute方法。运行的流程是:页面使用到action--->通过web.xml的struct引擎进行过滤---->找到struct.xml,查询对应的action所对应的定义处理----->找到对应的类,执行execute方法,根据execute方法返回的内容进行跳转那个页面(跳转页面是由action定义的)。处理类execute方法的写法
?
??