아래 코드에서 synchronized (this)를 사용하지 않으면 어떻게됩니까? 이 서블릿이 서블릿 규칙을 올바르게 다루고 있습니까?세션의 동기화 목적은 무엇입니까
Integer counter = new Integer(0);// instance variable
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html><head><title>Calculate Number of Times Visits Using Session</title></head><body>");
HttpSession visitSession = request.getSession(true);
if(visitSession.isNew())
out.println("This is the first time you are visiting this page.");
else
out.println("Welcome back to this page");
synchronized(this) {
out.println("<br><br>You have visited this page " + (++Counter));
out.println((Counter == 1) ? " time " : " times ");
}
out.println("</body></html>");
} finally {
out.close();
}
}
'카운터'란 무엇입니까? 수업? 반원? –
'Counter '는 방문 횟수를 나타내는 정수 값이라고 생각합니다. 다중 스레드 환경에서 ur 서블릿을 사용합니까? – OO7
@ OO7 명백합니다. 그러나 그것이 정수라면 그것은 변경되지 않을 것입니다 ... – Fildor