Java.lang.NullPointerException от сервлета
Добрый день! Целью является вывести данные из бд на jsp страницу при помощи сервлета. Вроде все сделал согласно структуре MVC, но сервлет падает с java.lang.NullPointerException. Подскажите, в чем ошибка?
INFO: Server startup in 536 ms авг 19, 2015 11:31:08 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [base] in context with path [/russvet] threw exception java.lang.NullPointerException at russvet.BaseServlet.doGet(BaseServlet.java:25) 25 строка BaseServlet.java: List personnes = basecontact.getPersonnes();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
package russvet; import java.io.IOException; import java.util.List; import javax.servlet.*; import javax.servlet.http.*; public class BaseServlet extends HttpServlet { private BaseContact basecontact; private BaseBean basebean; public void init(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { basecontact = new BaseContact(); basebean = new BaseBean(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List personnes = basecontact.getPersonnes(); basebean.setPersonnes(personnes); HttpSession session = request.getSession(); session.setAttribute("userbase", basebean); RequestDispatcher rDispatch = getServletContext().getRequestDispatcher("/index.jsp"); rDispatch.forward(request, response); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
package russvet; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class BaseContact { public static void main(String[] args) { BaseContact basecontact = new BaseContact(); ListPersonne> l = basecontact.getPersonnes(); } public BaseContact() { } public ListPersonne> getPersonnes() { Personne personne = null; ListPersonne> personnes = new ArrayListPersonne>(); try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://127.0.0.1:3306/article"; Connection con = DriverManager.getConnection(url, "root", ""); Statement statement = con.createStatement(); String requete1 = "SELECT * FROM users"; System.out.println(requete1); ResultSet resultset = statement.executeQuery(requete1); while (resultset.next()) { personne = new Personne(); personne.setName(resultset.getString("name")); personne.setLast_name(resultset.getString("last_name")); //personne.setAge(resultset.getString("age")); personnes.add(personne); /*for (int i = 0; i < personnes.size(); i++) System.out.println(personnes.get(i).getName()+ " " + personnes.get(i).getLast_name()); >*/ } con.close(); } catch (ClassNotFoundException e) { System.err.println("Where is JDBS driver?" + e); } catch (SQLException sqle) { System.err.print(sqle); } return personnes; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
package russvet; public class Personne { private int user_id; private String name; private String last_name; private int age; public int getUser_id() { return user_id; } public void setUser_id(int user_id) { this.user_id = user_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLast_name() { return last_name; } public void setLast_name(String last_name) { this.last_name = last_name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
package russvet; import java.util.List; public class BaseBean { ListPersonne> personnes = null; public void setPersonnes(ListPersonne> personnes){ this.personnes=personnes; } public ListPersonne> getPersonnes() { return personnes; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> @ page import="java.util.*"%> @ page import="russvet.*"%> @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> @taglib uri="http://java.sun.com/jstl/core_rt" prefix="c-rt"%> html> head> meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> title>Test Russkiy Svet/title> style type="text/css"> body,table,hr { color: black; background: silver; font-family: Verdana, sans-serif; font-size: x-small; } /style> /head> body> center> table border=1> tr> th>Name/th> th>Last Name/th> th>Age/th> /tr> /table> /CENTER> P>jsp:useBean >"userbase" scope="session" class="russvet.BaseBean" /> ListPersonne> personnes = userbase.getPersonnes();%> c-rt:forEach var="person" items=""> tr> td width="200">=personne.getName()%>/td> /tr> /c-rt:forEach> /html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14
version="1.0" encoding="UTF-8"?> > > >base > >russvet.BaseServlet > > > >base > >/base > > >
java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException
I’ve installed JIRA 8.14.0 (same error on 8.13.0) on Ubuntu 16.04 Docker container with SQL server (mssql/server:2019-latest).
And on the last step when configuring E-mail at /secure/SetupMailNotifications!default.jspa (by choosing Later), JIRA crashes with the following error:
Sorry, we had some technical problems during your last operation.
Log’s referral number: b3b1076c-3369-47db-8aa0-09d724bb2400
Referer URL: http://localhost:8080/secure/SetupMailNotifications!default.jspa
java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException
java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException at com.atlassian.web.servlet.plugin.DynamicAuthorizationServletForwarder.forward(DynamicAuthorizationServletForwarder.java:55) [. ] at com.atlassian.web.servlet.plugin.DynamicAuthorizationServletForwarder.forwardSafely(DynamicAuthorizationServletForwarder.java:83) [. ] at com.atlassian.web.servlet.plugin.SanitizingServletForwarder.forwardSafely(SanitizingServletForwarder.java:48) [. ] at com.atlassian.web.servlet.plugin.RememberingServletForwarder.forwardSafely(RememberingServletForwarder.java:75) [. ] at com.atlassian.web.servlet.plugin.ResolvingServletForwarder.forwardSafely(ResolvingServletForwarder.java:50) [. ] at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.lambda$null$0(RedirectInterceptingResponse.java:50) [. ] at java.util.Optional.map(Optional.java:215) [?:1.8.0_202] at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.lambda$forward$1(RedirectInterceptingResponse.java:50) [. ] at java.util.Optional.flatMap(Optional.java:241) [?:1.8.0_202] at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.forward(RedirectInterceptingResponse.java:50) [. ] at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.sendRedirect(RedirectInterceptingResponse.java:36) [. ] at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:138) [servlet-api.jar:?] at com.atlassian.core.filters.HeaderSanitisingResponseWrapper.sendRedirect(HeaderSanitisingResponseWrapper.java:85) [atlassian-core-7.0.2.jar:?] at com.atlassian.jira.web.action.JiraWebActionSupport.forceRedirect(JiraWebActionSupport.java:498) [jira-api-8.13.0.jar:?] at com.atlassian.jira.web.action.JiraWebActionSupport.getRedirect(JiraWebActionSupport.java:460) [jira-api-8.13.0.jar:?] at com.atlassian.jira.web.action.JiraWebActionSupport.getRedirect(JiraWebActionSupport.java:411) [jira-api-8.13.0.jar:?] at com.atlassian.jira.web.action.setup.SetupComplete.doExecute(SetupComplete.java:107) [classes/:?] at webwork.action.ActionSupport.execute(ActionSupport.java:165) [webwork-1.4-atlassian-30.jar:?] at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63) [jira-api-8.13.0.jar:?] at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39) [webwork-1.4-atlassian-30.jar:?] at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31) [webwork-1.4-atlassian-30.jar:?] at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16) [webwork-1.4-atlassian-30.jar:?] at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35) [webwork-1.4-atlassian-30.jar:?] at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225) [webwork-1.4-atlassian-30.jar:?] at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:189) [webwork-1.4-atlassian-30.jar:?] at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:138) [classes/:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.57] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.57] at .
Log file: /var/atlassian/application-data/jira/log/atlassian-jira.log
80-exec-23 WARN [c.a.j.w.action.setup.SetupComplete] Unable to automatically login after setup complete: sessionStorage is nul
80-exec-23 ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] threw exception
.
Any ideas?
HTTP Status 500 — java.lang.NullPointerException
description The server encountered an internal error that prevented it from fulfilling this request.
javax.servlet.ServletException: java.lang.NullPointerException coldfusion.bootstrap.ClassloaderHelper.initServletClass(ClassloaderHelper.java:129) coldfusion.bootstrap.BootstrapServlet.init(BootstrapServlet.java:59) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:198) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException coldfusion.CfmServlet.init(CfmServlet.java:97) coldfusion.bootstrap.ClassloaderHelper.initServletClass(ClassloaderHelper.java:121) coldfusion.bootstrap.BootstrapServlet.init(BootstrapServlet.java:59) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:198) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.52 logs.