No mapping found for HTTP request with URI [/Project/pages/basic/item/login] in DispatcherServlet wi

问题描述:今天在使用SpringMVC写注册和登录功能时遇到了这样的一个问题,前端同样使用ajax异步请求方式请求后台数据,在controller类里写了两个方法,分别是支持注册和登录的方法,在测试时,注册能够正常注册,请求能够到达,但是注册完后转到登录时却请求不了后台。以下分别是注册和登录的JS代码:

注册:

 function sendForm() {
      var uId=document.getElementById("Id").value;
      var name=document.getElementById("name").value;
      var phone=document.getElementById("phone").value;
      var email=document.getElementById("email").value;
      var password=document.getElementById("pwd").value;
      var college=document.getElementById("college").value;
      var code=document.getElementById("check_code").value;
      var sex=document.getElementById("sex").value;
        if(uId!=0 && name!=0 && phone!=0 && email!=0 && password!=0 && college !=0 ){ 
        $.ajax({
            url:"item/register",
            type:"post",
            data:{"uId":uId,"Name":name,"Phone":phone,"Password":password,"Sex":sex,"College":college,"Code":code,"Email":email},
          success:function(data){
               if(205==data.status){
                   document.getElementById("uId_Error").innerHTML=data.msg;
                 };
                 if(200==data.status){
                   window.location.href ="pages/basic/login.jsp";
                 }
               },    
          error:function(){
             window.location.href ="pages/error/Ox7fff.jsp";
             }
            });
    }else{
    alert("请完善信息后提交");
    return false;
    }
   }

登录:

 function sendForm() {
      var Id=document.getElementById("id").value;
      var name=document.getElementById("name").value;
      var password=document.getElementById("password").value;
      var code=document.getElementById("vcodeinput").value;
       if(Id !=0 && name != 0 && password !=0 && code !=0){ 
         $.ajax({
          url:"item/login",
          type:"post",
          data:{"uId":Id,"name":name,"password":password,"code":code},
          
          success:function(data){
          
          },
         error:function(){
         
         },
         })
       }else{
         alert("请完善信息后提交!");
         return false; 
       }
    	return false;
    };

springMVC:

@Controller
@RequestMapping("/item")
public class UserController {
	@Autowired
	private IUserService userService;
	
	/**
	 * @author HMH
	 * @date 2021-3-12 下午2:10:14
	 * @dep 研发四
	 * @describe:用户注册
	 * 
	 */
	@RequestMapping(value = "/register", method = RequestMethod.POST)
	@ResponseBody
	public MessageInfo Register(User user) {
		String msg = "";
		MessageInfo messageInfo;
		String Id = user.getuId();
		System.out.println("Id:" + Id);
		List<User> dbuser = (List<User>) userService.getUserById(Id);
		System.out.println("dbuser:" + dbuser);
		if (dbuser.isEmpty()) {
			this.userService.insertUser(user);
			// 状态码 205 用户已存在注册失败 200 用户不存在注册成功
			messageInfo = new MessageInfo(user, null, 200);
		} else {
			msg = "该用户已存在!";
			messageInfo = new MessageInfo(user, msg, 205);
		}
		return messageInfo;
	}

	
	/**
	 * @author HMH
	 * @date 2021-3-12 下午2:37:14
	 * @dep 研发四
	 * @describe:用户登录
	 * 
	 */
	@RequestMapping(value="/login",method=RequestMethod.POST)
	@ResponseBody
	public String Login(User user){
		System.out.println("登录开始!");
		System.out.println("user:"+user);
		
		return null;
		
	}
	
}

经过检查,发现原来在登录页面的头部缺少了一段代码:

<base href="<%=basePath%>">

在这里插入图片描述
这段代码的作用可参考文章:
https://www.cnblogs.com/MeridaChen/p/6847777.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值