Synchronize JSP
-
I have a I have homework about "synchronization'. This is my demo : NumberX.java
import java.io.Serializable;
public class NumberX implements Serializable{
int myNumber;
public NumberX() {}
public NumberX(int myNumber) {this.myNumber = myNumber;}
public int getMyNumber() {return myNumber;}
public void setMyNumber(int myNumber) { this.myNumber = myNumber;}
public void newNumber(){myNumber = myNumber +10;}
}ProcessServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
int x = Integer.parseInt(request.getParameter("txtNumber"));
NumberX n = new NumberX(x);
n.newNumber();
System.out.println(n.getMyNumber());
request.setAttribute("number", n.getMyNumber());
request.getRequestDispatcher("index.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}
finally {
out.close();
}
}index.jsp
<body>
My Test
<% if(request.getAttribute("number")!=null){ int i= (Integer)request.getAttribute("number"); %>
<%=i%>
<% } %> <form action="ProcessServlet" method="POST"> <input type="text" name="txtNumber"/> <input type="submit" value="+"/> </form> </body>
My prolem is when I open this demo in 2 browser as 2 users . How to synchronize 'myNumber' when : User1 -> input(5) + clicks -> 15 User2 -> Will see 15 (<-- not refesh page ) and Otherwise . :( Can anyone help me ,pls ?
-
I have a I have homework about "synchronization'. This is my demo : NumberX.java
import java.io.Serializable;
public class NumberX implements Serializable{
int myNumber;
public NumberX() {}
public NumberX(int myNumber) {this.myNumber = myNumber;}
public int getMyNumber() {return myNumber;}
public void setMyNumber(int myNumber) { this.myNumber = myNumber;}
public void newNumber(){myNumber = myNumber +10;}
}ProcessServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
int x = Integer.parseInt(request.getParameter("txtNumber"));
NumberX n = new NumberX(x);
n.newNumber();
System.out.println(n.getMyNumber());
request.setAttribute("number", n.getMyNumber());
request.getRequestDispatcher("index.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}
finally {
out.close();
}
}index.jsp
<body>
My Test
<% if(request.getAttribute("number")!=null){ int i= (Integer)request.getAttribute("number"); %>
<%=i%>
<% } %> <form action="ProcessServlet" method="POST"> <input type="text" name="txtNumber"/> <input type="submit" value="+"/> </form> </body>
My prolem is when I open this demo in 2 browser as 2 users . How to synchronize 'myNumber' when : User1 -> input(5) + clicks -> 15 User2 -> Will see 15 (<-- not refesh page ) and Otherwise . :( Can anyone help me ,pls ?
I guess you want something like user hit count of any web site. If yes then you have think about the
init()
of the servlet . Because its only executed when the servlet is called for the first time.So if you define a variable inside this block , and increment that value inprocessRequest()
, you will get the hit count.Regards Shubhashish
-
I guess you want something like user hit count of any web site. If yes then you have think about the
init()
of the servlet . Because its only executed when the servlet is called for the first time.So if you define a variable inside this block , and increment that value inprocessRequest()
, you will get the hit count.Regards Shubhashish
-
think this might help you ... http://www.tutorialspoint.com/jsp/jsp_hits_counter.htm[^]
Regards, Anantha Sharma