簡體   English   中英

如何避免在單例類中跨不同用戶共享變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM