有段时间没有用Struts编程了,感觉很多细节都有点生疏.今天特抽取一些时间对Strust开发做点总结,以加强与巩固对struts的理解.所谓温故而知新可以为师矣!!!呵呵..
一.Struts简介
Struts是一个流行的MVC框架,相对于采用Serlvet+jsp来做控制器,结构清新可见.令WEB开发的程序员看到了新到希望..
二.Struts原理
由浏览器(视图层)发送一个请求至服务器,服务器调用Struts核心控制器ActionServlet对请求参数进行处理.同时根据Struts-config.xml找到相应的Action以及将表单数据填充至ActionForm中,最后调用excute()方法对业务进行处理并返回ActionForward对象,Struts根据返回的ActionForward将请求转发至相应页面.
三. 如何操作Struts1.2
1.导入Struts1.2的包.
2.编写ActionForm 以及 Action类
3.修改web.xml以及在WEB-INF目录下创建struts-config.xml.
web.xml: 注册Struts的核心控制器ActionServlet.
struts-config.xml:配置ActionForm ----<form-beans> ,Action-----<Action-mappings> ,ActionForward----<Action>.
a. form-bean标签属性: name ActionFrom的注册名 ; type ActionFrom 的类路径
b. Action 标签属性 : path: Action的访问路径,用"/"开始 type : 类路径 parameter: 当Action继承 DispatcherAction时使用 input: 遇到错误时的跳转页面 scope: 请求的作用域,默认为request,表单数据自动清空. name: Action关联的ActionForm名称
c. forward 标签属性: name:注册名 path: 页面路径
4.创建jsp页面,设置表单提交路径
注意: 本人在配置Form表单的Action属性时经常出错,但经过多次总结,有如下经验:
a. 如果jsp页面直接位于WEB-INF目录下,可直接采用 **.do 或 **.do?paramter=**,也可采用 /工程名/**.do的形式.
b. 若页面位于WEB-INF下的子目路下,如在WEB-INF/aa/bb下的Login.html,则应该采用 ../../**.do 或 /工程名/**.do的形式