这种情况是这样的,我接受用户在网页上的一个unicode字符串,并点击提交按钮控件移动到下一页,其中处理字符串的完整逻辑是通过在bean类内部调用DAO类的函数来将字符串插入到数据库中以便维护日志,同时使用bean类编写。在点击提交按钮时仅插入唯一值
问题在于,当用户刷新结果页面时,bean类会一再地被调用,因此相同的字符串会被同一用户多次插入到数据库中。
我应该怎么做,以便只有当用户在刷新结果页时不按下提交按钮时,同一用户插入的字符串才会插入到数据库中。 或者我应该维护cookie的字符串作为来自用户的值,并在页面加载时检查它。
我试图维持对先前由用户输入的字符串客户端的cookie,并相应检查
private void fnSetCookieValues(HttpServletRequest request,
HttpServletResponse response) {
Cookie[] cookies=request.getCookies();
for (int i = 0; i < cookies.length; i++) {
System.out.println("" + cookies.length + "Name" + cookies[i].getName());
if(cookies[i].getName().equals("DNString")) {
System.out.println("Inside if:: " + cookies[i].getValue() +
"" + cookies.length);
cookies[i].setValue(request.getParameter("txtString"));
} else {
Cookie ck = new Cookie("DNString", ";");
response.addCookie(ck);
}
}
}
这段代码写在小服务程序都会调用上提交按钮点击 但是这个servlet的每个处理都会显示1NameJSESSIONID它没有显示cookie DNString
任何人都可以找出我正在做的错误吗?