使用ssm框架开发,一直跳转不到controller层。。。不报错。。。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
   <c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="${ctx}/css/style.css" type="text/css" media="all"/>
<title>请假的实战记录</title>
<style type="text/css">
    body{
        background-color: #fff;
    }
    </style>
</head>
<body>
    <center>
    <div style="width:350px;">
        <form id="myForm" action="${ctx}/lr/lrAdd">----这就是跳转的地址
            <h1>添加请假记录</h1>
            <table>
                <tr>
                    <td>姓名</td>
                    <td><input type="text" name="name" 
                        datatype="s6-16" errormsg="姓名长度为6-16位" nullmsg="请输入姓名"/>
                    </td>
                </tr>
                <tr>
                    <td>请假时间</td>
                    <td>
                        <input type="text" name="time" onclick="WdatePicker();" nullmsg="请输入时间"/>
                    </td>
                </tr>
                <tr>
                    <td>请假原因</td>
                    <td>
                        <textarea name="reason" datadype="s1-200" errormsg="最长字数为200" nullmsg="请假原因"></textarea>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <input type="submit" name="" value="提交"/>&nbsp;&nbsp;
                        <input type="reset"  name="" value="清空"/>
                    </td>
                </tr>
            </table>
        </form>
    </div>
    </center>
    <scritpt type="text/javascript" src="${ctx}/js/jquery-1.9.1.min.js"></scritpt>
    <scritpt type="text/javascript" src="${ctx}/js/Validform_v5.3.2_min.js"></scritpt>
    <scritpt type="text/javascript" src="${ctx}/js/My97DatePicker/WdatePicker.js"></scritpt>
    <scritpt type="text/javascript" src="${ctx}/js/My97DatePicker/calendar.js"></scritpt>
    <script type="text/javascript">
        $(function(){
            $("#myFrom").Validform();
        });
    </script>
</body>
</html>
 package com.sxt.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.sxt.pojo.Leaver;
import com.sxt.service.LrService;
import com.sxt.util.DateUtil;

@Controller()
@RequestMapping("/lr")
public class AddController {

    @Autowired
    LrService lrService;

    @RequestMapping("/lrAdd")
    public String lrAdd(Leaver leaver,HttpServletRequest request){
        //接收前台传送的数据
        String name = request.getParameter("name");
        String time = request.getParameter("time");
        String reason = request.getParameter("reason");
        //设置时间模式
        String patten ="yyyy-MM-dd";
        //将信息整合成一个对象进行传递
        Leaver lea = new Leaver(name, DateUtil.str2Date(time, patten), reason);
        //对后台数据进行调用
        int count = lrService.addLea(lea);
        if(count > 0){
            return "redirect:/index";
        }else{
            return "redirect:/add";
        }
    }
}

控制台不报错,F12页面信息老是显示的是404,就进不了Controller层,老是显示
lrAdd好像有问题。。

图片说明
控制台不报错就是浏览器就成这样了。。。很伤啊。。一下午了,搞不定。。

F12的url链接是多少。贴出来看看。404是找不到资源。应该是url路径有错。

图片说明
控制器类上注解这里有问题,改为以下内容就好:

@Controller
@RequestMapping(value="/lr")
public class AddController {

@Controller
@RequestMapping(value="/lr")
这么写才是正确的......

应该是@RequestMapping的问题

    public String lrAdd(Leaver leaver,HttpServletRequest request){

把Leaver leaver删掉试试,post提交在用对象接

像这种情况有三种原因造成,第一个是你的跳转路径问题,看看是不是写错了,第二个是看看你的springMVC的配置里面是否开启了注解式扫描控制器,第三个是看看是不是有路径冲突问题
注解式扫描开启:/context:component-scan

楼主 贴出spring 配置文件 看看是不是因为注解没有扫描到,

图片说明项目运行时,画圈部分显示注入进去了吗?如果注入的话,Controller中打印输出一下是{}取到,还有,if()else{}中跳转前加语句,看是否执行到此处,还有你重定向时,要return "redirect: /index.jsp";

细节方面的问题,上官方文档上找答案啊

应该是leaver实体化的时候,数据没有映射成功,可能是数据类型错误,可尝试删除此参数项测试。

应该是controller吧,没有小括号

可能是你提交了日期类型 这个需要在Controller里转换一下 或者在xml文件里面配置一下。。。。。。

400的话,可能是因为参数的数据格式或数据类型不匹配,你的参数如果是实体,可以看看那个请假时间是否有
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JSONField(format = "yyyy-MM-dd")
这两个注解,
@JSONField作用在Fileld上时,定义了输入和输出
@DateTimeFormat定义@ResponseBody时返回json的日期格式