亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用戶刷新時如何處理Spring Boot控制器中的非jsp方法

用戶刷新時如何處理Spring Boot控制器中的非jsp方法

烙印99 2024-01-17 16:40:33
我幾天前剛剛開始研究 java spring boot,目前我正在研究 Spring Boot Web 應用程序。到現在為止我已經Signup,Singin并且Dashboard(Home Page)。當用戶注冊成功時,我將用戶重定向到登錄頁面,當用戶成功登錄時,我將用戶重定向到儀表板。問題是當注冊頁面加載時,我正在調用register()方法@RequestMapping,完整的方法如下。注意:全部大寫字母的單詞是靜態字符串。@RequestMapping(REGISTER)public String register() {    System.out.println("Register Working!!!!");    return REGISTER;}在上面的方法中,網址變為http://localhost:8080/register 但在注冊/注冊頁面上,當用戶單擊“注冊”按鈕時,我正在調用另一個名為“registerUser(Users user)完整方法”的方法,如下所示@PostMapping("registerUser")public ModelAndView registerUser(Users user) {    ModelAndView mv = new ModelAndView();    user.setIpAddress(AppUtils.getCurrentIp());    if (isUserByUsernamePresent(user.getUsername()) || isUserByEmailPresent(user.getEmail())) {        mv.setViewName(REGISTER);        mv.addObject(MESSAGE_TYPE_ST, MESSAGE_TYPE_DANGER);        mv.addObject(MESSAGE_Body_ST, "This username or email alreary exit!");    } else {        repo.save(user);        Users tempUser = getUserDetail(user, "RegisterUser");        if (user.getUsername().equals(tempUser.getUsername())) {            mv.setViewName(INDEX);            mv.addObject(MESSAGE_TYPE_ST, MESSAGE_TYPE_SUCCESS);            mv.addObject(MESSAGE_Body_ST, "You have successfully created an account! check your email to confirm your registration");        } else {            mv.setViewName(REGISTER);            mv.addObject(MESSAGE_TYPE_ST, MESSAGE_TYPE_DANGER);            mv.addObject(MESSAGE_Body_ST, "Something went wrong, please try again or contact us!");        }    }所以這里registerUser不是一個jsp頁面,而是注冊新用戶的方法?,F在 url 變為http://localhost:8080/registerUser。此時如果用戶刷新頁面,用戶會收到一堆錯誤代碼,因為registerUser不是jsp頁面,因此用戶無法直接調用它。這是我的問題,在這種情況下如何處理http://localhost:8080/registerUser如果它不是 jsp 頁面。我想到的一種解決方案是我應該只有一種方法register,或者registerUser檢查用戶對象是否為空,然后考慮調用來自加載頁面,或者如果用戶對象不為空,則調用來自注冊按鈕,所以我應該這樣做保存用戶的東西。如果有更好的方法請告訴我。任何努力都會受到贊賞。如果需要公開更多代碼,請告訴我。編輯: @PostMapping("registerUser")如果注冊成功,我將索引設置為視圖名稱,如果注冊不成功,我將設置索引作為視圖名稱。那么url不應該分別是index或者register嗎?
查看完整描述

1 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

您可以通過這種方式來解決刷新錯誤。完成處理后,從 registerUser 方法調用 GET 方法(重定向到控制器其他 GET 方法)以重定向到所需頁面,因此,如果刷新頁面,調用將針對該 get 方法而不是 post(registerUser)



查看完整回答
反對 回復 2024-01-17
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號