这个值为什么获取不到?

 

 输入数据库中的用户名: 杨阳 ,密码:123 ,报的错是:在LoginController.java的判断没生效,获取不到值

java.lang.NullPointerException
	controller.LoginController.loginSuccess(LoginController.java:57)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:870)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

 

 LoginController.java

UserService.java 

 

UserServiceI.java

UserMapper.xml

 

我想实现在LoginController.java中判断输入的用户类型(user_type) ,然后跳转到不同的页面。

逐步排查:

1.userService是不是空的

2.username是什么?

3. find之后的user是什么?

按照日志来看,userService是空的

很明显,findUserByName没查到数据,看看传参。

你到底用的jpa还是mybatis啊,都揉在一起了。

mybatis那边是select;

interface又是find,

 

方法一:使用jpa:findByName为findByUserName

 

 

输入用户名之后是这样的 

 

 

 

 

 

报空指针了。很明显service没有查询到用户,然后.getUserType肯定报空指针啊!你打个断点,看看username参数有没有传到后台

 输入用户名 密码后,debug得到的username是下图这样的,哪里出错了,大佬们救救菜鸟吧,不知道怎么改 

<body>
<%@include file="header.jsp" %>

<div style="width: 500px;height: 600px;margin: 0 auto;">
    <div style="width: 800px; height: 200px"></div>
    <form class="layui-form" action="${pageContext.request.contextPath}/loginSuccess" method="post">
        <div class="layui-form-item">
            <label class="layui-form-label">用户名:</label>
            <div class="layui-input-inline">
                <input type="text" name="username" id="username" required lay-verify="required" placeholder="请输入用户名"
                       autocomplete="off" class="layui-input">
            </div>
            <div id="checkUN" class="layui-form-mid layui-word-aux"></div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">密码:</label>
            <div class="layui-input-inline">
                <input type="password" name="password" id="password" required lay-verify="required" placeholder="请输入密码"
                       autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" id="submit" lay-submit lay-filter="formDemo">登录</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>

</div>
<%@include file="footer.jsp" %>
</body>
<script>

    
    layui.use(['jquery', 'layer'], function () {
        var $ = layui.$ 
            , layer = layui.layer;
        $(document).ready(function () {
            check();
        });

        function check() {

            //var username = $('#username').val();

            $.ajax({
                type: "get",
                url: "/checkUser",
                data: {"username":$('#username').val()},
                dataType: "json",
                success:function(data) {
                    if (data === true) {
                        document.getElementById("checkUN").innerHTML = "<i class=\"layui-icon layui-icon-ok-circle\" style=\"font-size: 30px; color: #39ac47;\"></i>\n";

                    } else {
                        document.getElementById("checkUN").innerHTML = "用户名不存在";

                    }
                }
            });


        }
    });