久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

瀏覽:3日期:2023-05-29 13:08:49

一、用戶名密碼都正確的情況下被登錄攔截器攔截

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

控制臺報錯:org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement ’com.spbt.mapper.EmpeeMapper.selectName’. It’s likely that neither a Result Type nor a Result Map was specified.

這個異常是在mapper文件的<select>標(biāo)簽中沒有指定 resultType 或者 resultMap,也就是說沒有指定返回值類型或者返回值類型的map集合

所以檢查自己的mapper文件:

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='com.spbt.mapper.EmpeeMapper'> <select parameterType='String'> select username from empee where username=#{username} </select> <select parameterType='String'> select password from empee where username=#{username} </select></mapper>

可以發(fā)現(xiàn)我的<select>標(biāo)簽中沒有指定 resultType,而是指定的parameterType(參數(shù)類型)

解決:將parameterType修改為resultType

登錄成功:

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

二、頁面沒有顯示傳遞的消息

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

這是LoginController的實現(xiàn)登錄代碼

RequestMapping('/empee/login')public String login(@RequestParam('username') String username, @RequestParam('password') String password, Model model, HttpSession session){ if (empeeMapper.selectName(username)!=null){ //用戶名存在 if (empeeMapper.selectPwdByName(username).equals(password)){ //密碼也正確 session.setAttribute('loginEmpee',username); return 'redirect:/main.html'; }else { model.addAttribute('msg','密碼錯誤'); return 'redirect:/index'; } }else { model.addAttribute('msg','用戶名不存在,請注冊'); return 'redirect:/index'; }}

我輸入錯誤的信息,而點(diǎn)擊登錄之后應(yīng)該會反饋給頁面

解決:這其實是一個非常低級的錯誤,因為我設(shè)置了重定向redirect:/index,所以重新定回這個頁面當(dāng)然就沒有反饋信息了,去掉多余的redirect:/就可以了

三、添加(注冊)成功卻跳轉(zhuǎn)到空白頁

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

點(diǎn)擊添加,出現(xiàn)空白頁

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

但是查看自己的數(shù)據(jù)庫發(fā)現(xiàn)注冊是成功的

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

控制臺報錯:org.apache.ibatis.binding.BindingException: Mapper method ’com.spbt.mapper.EmpeeMapper.insertEmpee’ has an unsupported return type: class com.spbt.pojo.Empee

可以發(fā)現(xiàn)出錯原因在于EmpeeMapper文件的insertEmpee方法,而且是返回值類型的錯誤

檢查EmpeeMapper:

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

我使用的是Empee類型的返回值類型,而我的Controller文件中并沒有寫他的返回值

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

解決方法:把EmpeeMapper文件的insertEmpee方法修改為void類型

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

添加成功并且成功跳轉(zhuǎn)

SpringBoot實現(xiàn)登錄注冊常見問題解決方案

我還在網(wǎng)上看見另一種解決方法,是修改為int類型,經(jīng)過驗證確實可行

由于之后沒有進(jìn)行其他操作,因此不清楚這樣做會對之后的操作是否有影響,總之還是一步一個腳印的改下去吧

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 汉寿县| 堆龙德庆县| 沈阳市| 壤塘县| 乐昌市| 韩城市| 津南区| 白城市| 新宾| 南雄市| 乌拉特后旗| 区。| 远安县| 钟祥市| 邵阳市| 杭州市| 连州市| 长白| 沙洋县| 江北区| 乐业县| 礼泉县| 尉犁县| 太谷县| 灯塔市| 苍梧县| 合水县| 云林县| 平凉市| 乌鲁木齐市| 柘荣县| 逊克县| 芷江| 辛集市| 华阴市| 蕲春县| 林甸县| 富平县| 临武县| 河津市| 威远县|