您的位置:首页 > 编程语言 > Java开发

struts action不在是一个单例类

2016-06-13 10:54 423 查看
在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并不是一个单例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: