这个值为什么获取不到?

2021-02-21 20:26发布

 

 输入数据库中的用户名: 杨阳 ,密码: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) ,然后跳转到不同的页面。

7条回答
念远_
1楼-- · 2021-02-21 21:01

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

mybatis那边是select;

interface又是find,

 

方法一:使用jpa:findByName为findByUserName

 

 

Remote Sensing_
2楼-- · 2021-02-21 21:05

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

厦门辰迈智慧科技有限公司
3楼-- · 2021-02-21 21:09

 输入用户名 密码后,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>
";

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

                    }
                }
            });


        }
    });

 

 

scau_sleep(今天写b
4楼-- · 2021-02-21 21:10

输入用户名之后是这样的 

 

 

 

 

 

爱吃涮肉
5楼-- · 2021-02-21 21:11

1.F12打开前端请求,看看username有没有传值,传值了的话看方式是不是@RequestParam支撑的方式。

2.debug看看username是不是乱码,有没有值。

3.userService对象是不是null。

huang668165
6楼-- · 2021-02-21 21:15

逐步排查:

1.userService是不是空的

2.username是什么?

3. find之后的user是什么?

按照日志来看,userService是空的