[英]How to avoid share of variable across different user in singleton Class
public class CompanyServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private static org.apache.log4j.Logger log = Logger.getLogger(Company.class);
/**
* This string holds the filename of the file.
*/
String fileName = null;
Details detailsById = null;
Page page = null;
String date = null;
HttpServletRequest request = null;
/**
* This holds the bytes of the file to be written .
*/
Workbook wb = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request, response);
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
}
類 CompanyServlet 是一個單例,因此成員字段請求在用戶之間共享。 結果是一個用戶可以看到另一個用戶的數據。 如何避免這個問題。
不要在 servlet 中保留狀態,如果需要將它們存儲在某個地方,請將它們保留在會話中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.