国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP刷新頁面表單重復(fù)提交問題解決辦法分享

2024-09-05 00:21:55
字體:
供稿:網(wǎng)友
最近做項目中有多附件上傳及信息多次添加功能,其中就遇到了刷新頁面導(dǎo)致上次提交的數(shù)據(jù)重復(fù)保存的問題,以下是解決方法,有需要的朋友可以參考一下

使用sessionID和時間戳作為標(biāo)識,關(guān)鍵代碼如下:

復(fù)制代碼 代碼如下:


public class SswpdjAction extends BaseAction{

      public String execute(){
        /**業(yè)務(wù)代碼**/
        ................
        //設(shè)置標(biāo)識
        this.setSessionToken();
        //轉(zhuǎn)到添加頁面
        return "toAdd";
      }
  
      public String reSave(){
        if(this.token != null && this.token.equals(this.getSessionToken())){
          /**設(shè)置新標(biāo)識**/
          this.setSessionToken();
      
          /**業(yè)務(wù)代碼**/
          ..............
          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();
                }
            }
        }
        return null;
  }
}

public class BaseAction extends ActionSupport{

    /**jsp頁面標(biāo)識**/
    protected String token;

    public String getToken(){
        return token;
    }

    public void setToken(String token){
        this.token = token;
    }

    public String getSessionToken(){
        if(null != httpSession.getAttribute("Token")){
            return httpSession.getAttribute("Token");
        }else{
            return null;
        }
    }

    /**標(biāo)識生成**/
    public void setSessionToken(){
        String flag = useMd5(httpSession.getId() + System.currentTimeMillis());
        httpSession.setAttribute("Token", flag);
        httpServletRequest.setAttribute("SessionToken", flag);
    }

    /**MD5加密**/
    private String useMd5(String str){
        byte[] bs = str.getBytes();
        String result = null;
        try{
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            md5.update(bs);
            result = md5.digest().toString();
        }catch(NoSuchAlgorithmException e){
            e.printStackTrace();
        }finally{

        }
        return result;
    }
}

JSP頁面設(shè)置標(biāo)識隱藏域:

復(fù)制代碼 代碼如下:


<form>
  <input type="hidden" value="${SessionToken}" />
</form>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桓仁| 右玉县| 余江县| 夏邑县| 锡林郭勒盟| 固原市| 河西区| 日土县| 从化市| 明溪县| 宁强县| 金山区| 平和县| 临江市| 达州市| 雷州市| 西城区| 红桥区| 博白县| 寿宁县| 林西县| 山东| 宕昌县| 临夏县| 东宁县| 滨州市| 正定县| 庐江县| 双柏县| 轮台县| 雅江县| 广汉市| 株洲县| 攀枝花市| 惠东县| 双江| 桃源县| 客服| 涞水县| 清流县| 宁都县|