亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

麻煩幫我看下寫的這個登陸報空指針是哪里錯了

麻煩幫我看下寫的這個登陸報空指針是哪里錯了

zoeyqq 2016-04-26 14:20:34
錯誤信息:四月 26, 2016 2:15:22 下午 org.apache.catalina.core.StandardWrapperValve invoke嚴重: Servlet.service() for servlet [LoginServlet] in context with path [/MessageBoard] threw exceptionjava.lang.NullPointerException at servlet.LoginServlet.doPost(LoginServlet.java:61) at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)username = lisi ?password= 123 ?params長度:2代碼如下:1. servlet包下的package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.LoginService;/**?* Servlet implementation class LoginServlet?*/@WebServlet("/LoginServlet")public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; private LoginService service;? ? ? ?? ? /**? ? ?* @see HttpServlet#HttpServlet()? ? ?*/? ? public LoginServlet() {? ? ? ? super();? ? ? ? // TODO Auto-generated constructor stub? ? }? ??? ? public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub? String path = request.getContextPath(); ?? ? ? ? request.setCharacterEncoding("UTF-8"); ?? ? ? ? response.setContentType("text/html; charset=utf-8"); ?? ? ? ? PrintWriter out = response.getWriter(); ??? String username = request.getParameter("username"); String password = request.getParameter("password");? ? ? ? List<String> params = new ArrayList<String>(); ?? ? ? ? params.add(username); ?? ? ? ? params.add(password);? ? ? ? System.out.println("username = " +username+ " ?password= " + password +" ?params長度:"+params.size()); boolean flag=service.loginUser(params); if(flag) { response.sendRedirect(path+"/login_success.jsp"); out.println("成功"); } else { response.sendRedirect(path+"/login_failure.jsp"); out.println("失敗"); } } public void init() throws ServletException { // Put your code here }}2.接口package service;import java.util.List;public interface LoginService {? ?public boolean loginUser(List<String> params);}3.實現接口package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.List;import service.LoginService;import util.JdbcUtils;public class UsersDao implements LoginService{ public boolean loginUser(List<String> params){ PreparedStatement stmt = null; ResultSet rs = null; boolean flag = false;? ? ? ?? //Connection conn; try { Connection conn = JdbcUtils.getConnection(); String sql = "select * from zoey_oper where usrname=? and password=?"; // SQL語句 stmt = conn.prepareStatement(sql); int index=1; if(params != null && !params.isEmpty()) { for(int i=0; i<params.size(); i++){ ? ? ? ? ? ? ? ? ?stmt.setString(index++, params.get(i));? ? ? ? ? ? ? ? ?System.out.println(params.get(i)); ? ? ? ? ? ?} rs = (ResultSet) stmt.executeQuery(); if (rs.next()) ? { ? ?flag = true; ? ?rs.close(); ? ?stmt.close(); ? } ? else? ? { ? ?flag = false ; ? ?rs.close(); ? ?stmt.close(); ? } ? conn.close(); ? return flag; } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return flag; }}
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 1680 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號