title: java.lang.NoSuchMethodException with Constructor newInstance
body: <p>I am currently working on some web dev project in Java, i have implemented a frontcontroller, which job is to instantiate new controllers, depending on the path. </p>
  
  <p>So when the user is running ?q=user/login ex. the front controller should instatiate the UserController, that i am trying to do with this piece of code.</p>
  
  <pre><code>    String q = request.getParameter("q");
  
      try {
          String[] page = q.split("/");
          // Make first char upper, to match class name conventions.
          page[0] = (page[0].substring(0, 1).toUpperCase() + page[0].substring(1).toLowerCase()).trim();
  
        Class contDes = Class.forName("dk.elvar.rocks." + page[0]+ "Controller");
        Constructor co = contDes.getConstructor();
        co.newInstance(request, response, page);
  </code></pre>
  
  <p>This results in a</p>
  
  <pre><code>java.lang.NoSuchMethodException: dk.elvar.rocks.UserController.&lt;init&gt;()
  at java.lang.Class.getConstructor0(Class.java:2706)
  at java.lang.Class.getConstructor(Class.java:1657)
  at dk.elvar.rocks.FrontController.doGet(FrontController.java:35)
  </code></pre>
  
  <p>I've tryed to look it up at google, and bugs as, declaring a constructor in loaded object, make the class public, is already there.</p>
  
  <p>UserController:</p>
  
  <pre><code>public class UserController extends HttpServlet  {
  
  private final String USERNAME = "Martin";
  private final String PASSWORD = "David";
  
      private static final long serialVersionUID = 1L;
  HttpServletRequest request;  
  HttpServletResponse response;
  
  public UserController(HttpServletRequest request, HttpServletResponse response, String[] action)  {
      this.request = request;
      this.response = response;
  
      if(action[1].equalsIgnoreCase("login")) {
          this.renderLoginAction();
      }
      if(action[1].equalsIgnoreCase("val-login")) {
          this.validateLoginAction();
      }
  }
  </code></pre>