在servlet中,servlet类是一个单例,在servlet中的成员变量,将会被所有请求共享,同时也有可能存在线程安全问题,如有一个成员变量num,每次方法后市的num自增
package action; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class TestServelt extends HttpServlet{ private int num; @Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.getWriter().println(++num);
}
}
没访问一次,num就会自增一次,输出为1,2,3,4......
而如果是struts的action
public class ShowWords { private int num=0;
public int getNum(){
return this.num;
}
public String execute(){
num++;
}
}
在JSP页面添加
${num}
每次输出的都是1,也就是多struts中action并不是一个单例