Ⅰ jsP怎样避免刷新页面时重复提交表单数据
一、页面重定向。
二、token防止重复提交。
建议使用第二种
Ⅱ 如何让jsp页面禁止刷新,后退
struts2令牌机制, 解决的是重复提交的问题,跟刷新无关系。
刷新与后退是浏览器行为,单纯的jsp页面是不能禁止这些的。
Ⅲ jsp页面怎么防止刷新页面又提交表单
JSP刷新页面表单重复提交问题解决办法,使用sessionID和时间戳作为标识,关键代码如下:
java">{
publicStringexecute(){
/**业务代码**/
................
//设置标识
this.setSessionToken();
//转到添加页面
return"toAdd";
}
publicStringreSave(){
if(this.token!=null&&this.token.equals(this.getSessionToken())){
/**设置新标识**/
this.setSessionToken();
/**业务代码**/
..............
return"toAdd";
}else{
printWriterout=null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out=httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表单!');</script>");
out.flush();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(out!=null){
out.close();
}
}
}
returnnull;
}
}
{
/**jsp页面标识**/
protectedStringtoken;
publicStringgetToken(){
returntoken;
}
publicvoidsetToken(Stringtoken){
this.token=token;
}
publicStringgetSessionToken(){
if(null!=httpSession.getAttribute("Token")){
returnhttpSession.getAttribute("Token");
}else{
returnnull;
}
}
/**标识生成**/
publicvoidsetSessionToken(){
Stringflag=useMd5(httpSession.getId()+System.currentTimeMillis());
httpSession.setAttribute("Token",flag);
httpServletRequest.setAttribute("SessionToken",flag);
}
/**MD5加密**/
privateStringuseMd5(Stringstr){
byte[]bs=str.getBytes();
Stringresult=null;
try{
MessageDigestmd5=MessageDigest.getInstance("MD5");
md5.update(bs);
result=md5.digest().toString();
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
}finally{
}
returnresult;
}
}
JSP页面设置标识隐藏域:
<form>
<inputtype="hidden"name="token"value="${SessionToken}"/>
</form>
Ⅳ jsp分页显示 怎样可以点击下一页不会刷新整个页面
这个要借助后台语言,点击按钮,通过AJAX请求一个方法,通过方法返回下一页数据JSON,就可以更改前端JS获取json,更改DIV内容;
$.ajax({
type: "POST",
url: "getPageDate.php", //调用的php文件
data: "page=1",
success: function(msg){ //回调函数
alert( "Data Saved: " + msg ); //这里是操作
$("#content").html(
);
}
});
Ⅳ 在jsp页面上改变页面的数据,但页面不刷新的方法有哪些
在jsp页面上改变页面的数据,只要不跟服务器有交互,都不会刷新数据的。
屏蔽刷新的方法:
public String reSave(){
if(this.token != null && this.token.equals(this.getSessionToken())){
/**设置新标识**/
this.setSessionToken();
/**业务代码**/
..............
return "toAdd";
}else{
printWriter out = null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out = httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表单!');</script>");
out.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
if(out != null){
out.close();
}
}
Ⅵ JSP 如何不刷新页面更新数据
以前,抄基于 Web 的用户界面(包括页袭面和应用程序)要求用户所做的每个请求都强制执行一次页面刷新,这消耗了大量的时间和带宽。重复的页面刷新的后果是 Web 体验变得异常缓慢和沉闷,即使对于那些具有高速的宽带连接的用户也是如此。现在,各地的开发人员都在寻找新的技术和技巧,以便显著提高基于 Web 的应用程序的性能和用户体验。用 Ajax 编写的 Web 应用程序允许数据在后台被异步地发送给服务器,而同时又能在不重载页面的情况下更新此 Web 页面的各个部分.给你个参考网站http://www.ibm.com/developerworks/cn/ajax/index.html?S_TACT=105AGX52&S_CMP=content
Ⅶ 如何实现页面禁止刷新jsp
//禁止 浏览器 前进、后退
<body onbeforeunload="history.go(0)">
<script language="JavaScript">
<!--
javascript:window.history.forward(1);
file://-->
</script>
<script language="javascript">
//禁止用F5键
function document.onkeydown()
{
if(event.keyCode==116){
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}