本文发表在 rolia.net 枫下论坛1) 有两个入口A与B的, 例如:http://127.0.0.1/A/welcome.do 与 http://127.0.0.1/B/welcome.do
2) 3个配置文件,Struts-config.xml, Struts-config-A.xml 和 Struts-config-B.xml.
放在Web.xml中,deploy时加载到内存中以对象形式存在.
3)ActionServlet 接到 http://127.0.0.1/A/welcome.do后传给RequestProcessor.
4)RequestProcessor的process()函数用它的processPath()解析URI得到A/welcome字段.
5)RequestProcessor的process()函数用它的processMapping(request response path)从内存中得到Struts-config-A.xml 的对象.
6)在session中保存path中的A标志.
7)观众填完后按钮发送http://127.0.0.1/login.jsp的request请求(注意,这里URI没有A的标志).
8)ActionServlet 接到 http://127.0.0.1/login.jsp后传给RequestProcessor.
9)RequestProcessor的process()函数用它的processPath()解析URI得到login字段.
10)RequestProcessor的process()函数用它的重写的processMapping(request response path)从Request得到session,从session中的到A的标志,然后前缀在path中的login字段前象A/login, 然后再processMapping(request response path)从内存中得到Struts-config-A.xml 的对象.
11)观众下次按钮循环.
12)直到结束.更多精彩文章及讨论,请光临枫下论坛 rolia.net
2) 3个配置文件,Struts-config.xml, Struts-config-A.xml 和 Struts-config-B.xml.
放在Web.xml中,deploy时加载到内存中以对象形式存在.
3)ActionServlet 接到 http://127.0.0.1/A/welcome.do后传给RequestProcessor.
4)RequestProcessor的process()函数用它的processPath()解析URI得到A/welcome字段.
5)RequestProcessor的process()函数用它的processMapping(request response path)从内存中得到Struts-config-A.xml 的对象.
6)在session中保存path中的A标志.
7)观众填完后按钮发送http://127.0.0.1/login.jsp的request请求(注意,这里URI没有A的标志).
8)ActionServlet 接到 http://127.0.0.1/login.jsp后传给RequestProcessor.
9)RequestProcessor的process()函数用它的processPath()解析URI得到login字段.
10)RequestProcessor的process()函数用它的重写的processMapping(request response path)从Request得到session,从session中的到A的标志,然后前缀在path中的login字段前象A/login, 然后再processMapping(request response path)从内存中得到Struts-config-A.xml 的对象.
11)观众下次按钮循环.
12)直到结束.更多精彩文章及讨论,请光临枫下论坛 rolia.net