title: Servlet.service() throwing NullPointerException
body: <p>I'm honestly baffled by why this is throwing this particular exception. If I have the servlet direct to another JSP, it works fine. Here is the stack trace of the error I am getting</p>
  
  <pre><code>17:13:51,190 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/ProjectServlet].[jsp]] (http-localhost-127.0.0.1-8080-2) Servlet.service() for servlet jsp threw exception: java.lang.NullPointerException
      at org.apache.jsp.createProfile_jsp._jspService(createProfile_jsp.java:74)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jbossweb-7.0.13.Final.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [jbossweb-7.0.13.Final.jar:]
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [jbossweb-7.0.13.Final.jar:]
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [jbossweb-7.0.13.Final.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:840) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:622) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:560) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:488) [jbossweb-7.0.13.Final.jar:]
      at ecollaborator.Servlet.CreateAccountServlet.gotoPage(CreateAccountServlet.java:55) [classes:]
      at ecollaborator.Servlet.CreateAccountServlet.doPost(CreateAccountServlet.java:45) [classes:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
      at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0]
  </code></pre>
  
  <p>Right now, I have a page where a user is prompted to create an account, the JSP looks like this. It is called createAccount.jsp</p>
  
  <pre><code>    &lt;%@ page language="java" contentType="text/html; charset=ISO-8859-1"
      pageEncoding="ISO-8859-1"%&gt;
  
  &lt;% String type = (String) request.getParameter("type");%&gt;
  
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
  &lt;html&gt;
  &lt;head&gt;
  &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;
  &lt;b&gt;&lt;font size="6"&gt;&lt;center&gt;E-Collaborator&lt;/center&gt;&lt;/font&gt;&lt;/b&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;form name='createAccount' action="CreateAccountServlet" method="post"&gt;
      &lt;table&gt;
          &lt;tr&gt;
              &lt;td&gt;Create Account&lt;td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Username:&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="username" /&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Password:&lt;/td&gt;&lt;td&gt;&lt;input type="password" name="password" /&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Type:&lt;/td&gt;
              &lt;td&gt;
                  &lt;select id="acctype" name="acctype"&gt;
                  &lt;option&gt;&lt;/option&gt;
                  &lt;option&gt;Collaborator&lt;/option&gt;
                  &lt;option&gt;Consumer&lt;/option&gt;
                  &lt;option&gt;ServiceProvider&lt;/option&gt;
                  &lt;/select&gt; 
              &lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
      &lt;input type="submit" value="Submit"/&gt;
      &lt;input type = "hidden" name="createAccount" value="true"&gt;
  &lt;/form&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>It is forwarded to this Servlet, where the error is being thrown in the gotoPage method, on the dispatcher.forward command.</p>
  
  <pre><code>package ecollaborator.Servlet;
  
  import java.io.IOException;
  
  import javax.ejb.EJB;
  import javax.servlet.RequestDispatcher;
  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 ecollaborator.Entity.*;
  import ecollaborator.Session.*;
  
  @WebServlet("/CreateAccountServlet")
  public class CreateAccountServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
  
      @EJB
      private Admin admin;
  
      public CreateAccountServlet() {
          super();
      }
  
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
      {
          boolean isForwarded = false;
  
          String createAccount = request.getParameter("createAccount");
          if(createAccount != null &amp;&amp; createAccount.equals("true"))
          {
  
              String username = (String)request.getParameter("username");
              String password = (String)request.getParameter("password");
              String type = (String)request.getParameter("acctype");
  
              User u = new User(username,password,type);
              admin.createAccount(u);
  
  
              if(!isForwarded)
              {
                  request.setAttribute("type", type);
                  isForwarded = gotoPage("/createProfile.jsp", request, response);
              }
          }
  
      }
  
      private boolean gotoPage(String address, HttpServletRequest request, HttpServletResponse response)
              throws ServletException, IOException
          {
                  RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(address);
                  dispatcher.forward(request, response);
                  return true;
          }
  
  }
  </code></pre>
  
  <p>How can I fix this code, so that I can avoid coming across this error? My other servlets use the same gotoPage function and forward to JSPs just fine.</p>