急求!!为什么我的返回值永远都是这样显示 各个接口都试了 不会变
来源:6-9 用户模块所有功能自测试

李个浪
2019-06-05
如图永远是这样的一个返回界面 管理员登陆以及注册重复等等都不会提示 检查了controller service 等层没发现错啊 项目也已经成功启动了 请问下老师怎么解决 已经困在这里一天了
写回答
5回答
-
geelylucky
2019-06-06
加qq吧:835683985,我给你看看
00 -
李个浪
提问者
2019-06-05
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoding>UTF-8</encoding> <encoder> <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> </appender> <appender name="mmall" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--<File>d:/mmalllog/mmall.log</File>--> <File>/developer/apache-tomcat-7.0.73/logs/mmall.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/developer/apache-tomcat-7.0.73/logs/mmall.log.%d{yyyy-MM-dd}.gz</fileNamePattern> <append>true</append> <maxHistory>10</maxHistory> </rollingPolicy> <encoder> <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern> </encoder> </appender> <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--<File>d:/mmalllog/error.log</File>--> <File>/developer/apache-tomcat-7.0.73/logs/error.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/devsoft/apache-tomcat-7.0.73/logs/error.log.%d{yyyy-MM-dd}.gz</fileNamePattern> <!--<fileNamePattern>d:/mmalllog/error.log.%d{yyyy-MM-dd}.gz</fileNamePattern>--> <append>true</append> <maxHistory>10</maxHistory> </rollingPolicy> <encoder> <pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <logger name="com.mmall" additivity="false" level="INFO" > <appender-ref ref="mmall" /> <appender-ref ref="console"/> </logger> <!-- geelynote mybatis log 日志 --> <logger name="com.mmall.dao" level="DEBUG"/> <!--<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" >--> <!--<appender-ref ref="console"/>--> <!--</logger>--> <!--<logger name="java.sql.Connection" level="DEBUG">--> <!--<appender-ref ref="console"/>--> <!--</logger>--> <!--<logger name="java.sql.Statement" level="DEBUG">--> <!--<appender-ref ref="console"/>--> <!--</logger>--> <!--<logger name="java.sql.PreparedStatement" level="DEBUG">--> <!--<appender-ref ref="console"/>--> <!--</logger>--> <root level="DEBUG"> <appender-ref ref="console"/> <appender-ref ref="error"/> </root> </configuration>
db.driverLocation=E:/javasoft/mysql-connector-java-5.1.6-bin.jar db.driverClassName=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost/mmall_learning?characterEncoding=utf-8 db.username=root db.password=root db.initialSize = 20 db.maxActive = 50 db.maxIdle = 20 db.minIdle = 10 db.maxWait = 10 db.defaultAutoCommit = true db.minEvictableIdleTimeMillis = 3600000
00 -
李个浪
提问者
2019-06-05
package com.mmall.service.impl; import com.mmall.common.Const; import com.mmall.common.ServerResponse; import com.mmall.common.TokenCache; import com.mmall.dao.UserMapper; import com.mmall.pojo.User; import com.mmall.service.IUserService; import com.mmall.util.MD5Util; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpSession; import java.util.UUID; @Service("iUserService") public class UserServiceImpl implements IUserService { @Autowired private UserMapper userMapper; @Override public ServerResponse<User> login(String username, String password) { int resultCount = userMapper.checkUsername(username); if ((resultCount == 0)) { return ServerResponse.createByErrorMessage("用户名不存在"); } //todo 密码登录MD5 String md5Password = MD5Util.MD5EncodeUtf8(password); User user = userMapper.selectLogin(username, md5Password); if (user == null) { return ServerResponse.createByErrorMessage("密码错误"); } user.setPassword(StringUtils.EMPTY); return ServerResponse.createBySuccess("登陆成功", user); } public ServerResponse<String> register(User user) { ServerResponse validResponse = this.checkVaild(user.getUsername(), Const.USERNAME); if (!validResponse.isSuccess()) { return validResponse; } validResponse = this.checkVaild(user.getEmail(), Const.EMAIL); if (!validResponse.isSuccess()) { return validResponse; } user.setRole(Const.Role.ROLE_CUSTOMER); //MD5加密 user.setPassword(MD5Util.MD5EncodeUtf8(user.getPassword())); int resultCount = userMapper.insert(user); if (resultCount == 0) { return ServerResponse.createByErrorMessage("注册失败"); } return ServerResponse.createBySuccess("注册成功"); } public ServerResponse<String> checkVaild(String str, String type) { if (StringUtils.isNotBlank(type)) { //开始校验 if (Const.USERNAME.equals(type)) { int resultCount = userMapper.checkUsername(str); if ((resultCount > 0)) { return ServerResponse.createByErrorMessage("用户名已存在"); } } if (Const.EMAIL.equals(type)) { int resultCount = userMapper.checkEmail(str); if ((resultCount > 0)) { return ServerResponse.createByErrorMessage("用户邮箱已存在"); } } } else { return ServerResponse.createByErrorMessage("参数错误"); } return ServerResponse.createBySuccess("校验成功"); } public ServerResponse selectQuestion(String username) { ServerResponse validResponse = this.checkVaild(username, Const.USERNAME); if (validResponse.isSuccess()) { //用户不存在 return ServerResponse.createByErrorMessage("用户不存在"); } String question = userMapper.selectQuestionByUsername(username); if (StringUtils.isNotBlank(question)) { return ServerResponse.createBySuccess(question); } return ServerResponse.createByErrorMessage("找回密码的问题是空的"); } public ServerResponse<String> checkAnswer(String username, String question, String answer) { int resultCount = userMapper.checkAnswer(username, question, answer); if (resultCount > 0) { //说明这个问题及答案是这个用户且是正确的 String forgetToken = UUID.randomUUID().toString(); TokenCache.setKey(TokenCache.TOKEN_PREFIX + username, forgetToken); return ServerResponse.createBySuccess(forgetToken); } return ServerResponse.createByErrorMessage("问题答案错误"); } public ServerResponse<String> forgetRestPassword(String username, String passwordNew, String forgetToken) { if (StringUtils.isBlank(forgetToken)) { return ServerResponse.createByErrorMessage("参数错误,token需要传递"); } ServerResponse validResponse = this.checkVaild(username, Const.USERNAME); if (validResponse.isSuccess()) { //用户不存在 return ServerResponse.createByErrorMessage("用户不存在"); } String token = TokenCache.getKey(TokenCache.TOKEN_PREFIX + username); if (StringUtils.isBlank(token)) { return ServerResponse.createByErrorMessage("token无效或者过期"); } if (StringUtils.equals(forgetToken,token)) { String md5Password = MD5Util.MD5EncodeUtf8(passwordNew); int rowCount = userMapper.updatePasswordByUsername(username, md5Password); if (rowCount > 0) { return ServerResponse.createBySuccess("修改密码成功"); } } else { return ServerResponse.createByErrorMessage("token错误,请重新获取重置密码token"); } return ServerResponse.createByErrorMessage("修改密码失败"); } public ServerResponse<String> resetPassword(String passwordOld,String passwordNew,User user){ //防止横向越权,要校验一下这个用户的旧密码,一定要指定是这个用户,因为我们会查询一个count(1),如果不指定id,那么结果就是true啦 int resultCount = userMapper.checkPassword(MD5Util.MD5EncodeUtf8(passwordOld),user.getId()); if(resultCount ==0){ return ServerResponse.createByErrorMessage("旧密码错误"); } user.setPassword(MD5Util.MD5EncodeUtf8(passwordNew)); int updateCount = userMapper.updateByPrimaryKeySelective(user); if(updateCount >0){ return ServerResponse.createBySuccess("密码更新成功"); }else { return ServerResponse.createByErrorMessage("密码更新失败"); } } public ServerResponse<User> update_information(User user){ //username是不能被更新的 //email也要进行一个校验,检验新的email是不是已经存在,并且存在的email如果相同的话,不能是我们当前这用户的 int resultCount = userMapper.checkEmailByUserId(user.getEmail(),user.getId()); if(resultCount >0){ return ServerResponse.createByErrorMessage("email已经存在,请更换email再次尝试更新"); } User updateUser = new User(); updateUser.setId(user.getId()); updateUser.setEmail(user.getEmail()); updateUser.setPhone(user.getPhone()); updateUser.setQuestion(user.getQuestion()); updateUser.setAnswer(user.getAnswer()); int updateCount = userMapper.updateByPrimaryKeySelective(updateUser); if(updateCount>0){ return ServerResponse.createBySuccess("更新个人信息成功",updateUser); } return ServerResponse.createByErrorMessage("更新个人信息失败"); } public ServerResponse<User> get_information(Integer userId){ User user = userMapper.selectByPrimaryKey(userId); if(user == null){ return ServerResponse.createByErrorMessage("找不到当前用户"); } user.setPassword(StringUtils.EMPTY); return ServerResponse.createBySuccess(user); } }
00 -
李个浪
提问者
2019-06-05
package com.mmall.controller.portal; import com.mmall.common.Const; import com.mmall.common.ResponseCode; import com.mmall.common.ServerResponse; import com.mmall.pojo.User; import com.mmall.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpSession; @Controller @RequestMapping("/user/") public class UserController { @Autowired private IUserService iUserService; /** * 用户登录 * * @param username * @param password * @param session * @return */ @RequestMapping(value = "login.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<User> login(String username, String password, HttpSession session) { ServerResponse<User> response = iUserService.login(username, password); if (response.isSuccess()) { session.setAttribute(Const.CURRENT_USER, response.getData()); } return response; } @RequestMapping(value = "logout.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> logout(HttpSession session) { session.removeAttribute(Const.CURRENT_USER); return ServerResponse.createBySuccess(); } @RequestMapping(value = "register.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> register(User user) { return iUserService.register(user); } @RequestMapping(value = "check_valid.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> checkVaild(String str, String type) { return iUserService.checkVaild(str, type); } @RequestMapping(value = "get_user_info.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<User> getUserInfo(HttpSession session) { User user = (User) session.getAttribute(Const.CURRENT_USER); if (user != null) { return ServerResponse.createBySuccess(user); } return ServerResponse.createByErrorMessage("用户未登录,无法获取当前用户信息"); } @RequestMapping(value = "forget_get_question.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> forgetGetQuestion(String username) { return iUserService.selectQuestion(username); } @RequestMapping(value = "forget_get_answer.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> forgetCheckAnswer(String username, String question, String answer) { return iUserService.checkAnswer(username, question, answer); } @RequestMapping(value = "forget_reset_password.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> forgetRestPassword(String username, String passwordNew, String forgetToken) { return iUserService.forgetRestPassword(username, passwordNew, forgetToken); } @RequestMapping(value = "rest_reset_password.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<String> resetPassword(HttpSession session, String passwordOld, String passwordNew) { User user = (User) session.getAttribute(Const.CURRENT_USER); if (user == null) { return ServerResponse.createByErrorMessage("用户未登陆"); } return iUserService.resetPassword(passwordOld, passwordNew, user); } @RequestMapping(value = "update_information.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<User> update_information(HttpSession session, User user) { User currentUser = (User) session.getAttribute(Const.CURRENT_USER); if (currentUser == null) { return ServerResponse.createByErrorMessage("用户未登陆"); } user.setId(currentUser.getId()); user.setUsername(currentUser.getUsername()); ServerResponse<User> response = iUserService.update_information(user); if (response.isSuccess()) { session.setAttribute(Const.CURRENT_USER, response.getData()); } return response; } @RequestMapping(value = "get_information.do", method = RequestMethod.POST) @ResponseBody public ServerResponse<User> get_information(HttpSession session) { User currentUser = (User) session.getAttribute(Const.CURRENT_USER); if (currentUser == null) { return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "未登录,需要强制登陆status= 10"); } return iUserService.get_information(currentUser.getId()); } }
package com.mmall.controller.backend; import com.mmall.common.Const; import com.mmall.common.ServerResponse; import com.mmall.pojo.User; import com.mmall.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpSession; @Controller @RequestMapping("/manage/user") public class UserManageController { @Autowired private IUserService iUserService; @RequestMapping(value="login.do",method = RequestMethod.POST) @ResponseBody public ServerResponse<User> login(String username, String password, HttpSession session){ ServerResponse<User> response = iUserService.login(username,password); if(response.isSuccess()) { User user = response.getData(); if (user.getRole() == Const.Role.ROLE_ADMIN) { //说明登陆的是管理员 session.setAttribute(Const.CURRENT_USER, user); return response; } else { return ServerResponse.createByErrorMessage("不是管理员,无法登陆"); } } return response; } }
00 -
geelylucky
2019-06-05
同学,把代码放上来,“检查了controller service 等层没发现错啊”也可能是你的主观想法,把实际的代码放上来才好判断。
012019-06-05
相似问题