输入数据库中的用户名: 杨阳 ,密码: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 = "用户名不存在";
}
}
});
}
});