严重: 在路径为[/HospitalSystem]的上下文中,servlet[web.servlet.LoginServlet]的Servlet.servic【普通用户与管理登录进不同页面的代码报错】

我想实现通过身份验证用户进入不同的页面,运行出来老是报错,然后把判断管理员,医生,和普通用户的if语句删掉程序就没问题了,是不是我自己改的这一段代码有问题?求指出问题所在。(java萌新,很多知识不会,每天沉浸在找bug的“欢乐”之中。。。)

//5.调用Service查询
        UserService service = new UserServiceImpl();
        User loginUser = service.login(user);
        //6.判断是否登录成功
        if(loginUser != null){
//            //登录成功
//            //将用户存入session
//            session.setAttribute("user",loginUser);
            if (loginUser.getIdentity()=="管理员") {
            	//将用户存入session
                session.setAttribute("user",loginUser);
				//跳转页面
            	response.sendRedirect(request.getContextPath()+"/index_manager.jsp");
			}else if (loginUser.getIdentity()=="医生") {
				//将用户存入session
	            session.setAttribute("user",loginUser);
				//跳转页面
            	response.sendRedirect(request.getContextPath()+"/index_doctor.jsp");
			}else {
				//将用户存入session
	            session.setAttribute("user",loginUser);
				//跳转页面
            	response.sendRedirect(request.getContextPath()+"/index.jsp");
			}
            
        }
        else{
            //登录失败
            //提示信息
            request.setAttribute("login_msg","用户名或密码错误!");
            //跳转登录页面
            request.getRequestDispatcher("/login.jsp").forward(request,response);

        }

控制台报错:


```java
严重: 在路径为[/HospitalSystem]的上下文中,servlet[web.servlet.LoginServlet]的Servlet.service()引发异常
java.lang.NullPointerException
	at web.servlet.LoginServlet.doPost(LoginServlet.java:38)
	at web.servlet.LoginServlet.doGet(LoginServlet.java:102)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:830)


发布了1 篇原创文章 · 获赞 0 · 访问量 4

猜你喜欢

转载自blog.csdn.net/qq_44969915/article/details/105679895