ccj 发表于 2013-1-27 05:47:12

Action中需要注意的成员变量

public class testfaextends DispatchAction{    private int a;    private int b;    public ActionForward showa(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {   a=1;   b=2;   System.out.println(a);   System.out.println(b);    }    public ActionForward showb(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {   b=3;   System.out.println(a);   System.out.println(b);    }}

如果直接执行showb方法,则a为0,如果先执行showa,再执行showb,则a=2,所以我们在使用action,特别是dispatch时,注意成员变量的清空,否则会遇到一些意外。
原因:我想可能是因为一个action就是一个Servlet,当第一次访问时实例化,之后则是一直保持状态使用,所以成员变量值得以保留,而actionform则由于系统自动调用了reset方法(socpe=request时),没有该问题。
不知道在C/S模式下如何实现Servlet
页: [1]
查看完整版本: Action中需要注意的成员变量