详解Struts1.x的运行机制及命名规则
Struts1.x 调用一个action的大致流程:
1)首先前端发送 *.do的一个action请求(通过点击表单提交按钮,js 事件等);
2)web.xml 文件通过 *.do 找到 ActionServlet 这个中心控制器;
3)中心控制器ActionServlet 查找它的初始化参数(应该是通过 getInitParameter方法) config,找到配置文件(从这点就可知,这个config 是绝对不能改的字符串),默认是struts-config.xml;
4)解析配置文件;
5)通过action 的 path 定位到是哪个action,将提交过来的表单数据通过name属性找到对应的FormBean封装好,调用action的execute方法同时将FormBean传过去;
6)执行完具体相关操作后,通过mapping.findForward("XXX")返回视图(返回null表示不跳转)。
action 中 return null表示不跳转,action中可以通过response对象进行输出
(1) global forwards:配置全局转向目的地(forward)
1 <global-forwards> 2 <forward name="list" path="/userlist.jsp" /> 3 </global-forwards>
(2) formbean命名的问题,不要搞的太复杂,比如:User 就用 User ,不要用UserFormBean或UserBean
(3) action的命名方式,根据功能命名,比如 AddUserAction
path="/addUser" type="action.AddUserAction" ,在 execute方法中调用DAO - addUser