SEVERE: Servlet.service() for servlet [package] in context with path [/portal] threw exception java.lang.NullPointerException
64,357
You constructed URL that redirects to not existing JSP page, but you should use URL that maps to a servlet acting as a controller.
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/main</url-pattern>
</servlet-mapping>
Now you should create a link
<a class="btn btn-info" href="${pageContext.request.contextPath}/main?action=register">Register Here</a>
In the controler you get parameter for register
action and use dispatcher to forward to registration.jsp
.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if(action != null && action.equals("register")) {
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/Views/System/registration.jsp");
view.forward(request, response);
} else {
PrintWriter out = response.getWriter();
out.print("Served at: "+request.getContextPath());
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/Views/System/index.jsp");
view.forward(request, response);
}
}
Author by
lord-ivan
Updated on July 09, 2022Comments
-
lord-ivan almost 2 years
I have a login page and I want to redirect to a registration page.But I get
HTTP Status 404 - /registration.jsp
error. the path or project hierarchy: snapshotwhat i want is,if a user is not resisted they can register by clicking
what i am not doing rightmain.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().append("Served at: ").append(request.getContextPath()); RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/Views/System/index.jsp"); view.forward(request, response); String action = request.getParameter("action"); if(action.equals("register")) { view = request.getRequestDispatcher("/WEB-INF/Views/System/registration.jsp"); view.forward(request, response); } }
index.jsp
<legend> Login to Jupiter </legend> <table class="table" border="1" width="30%" cellpadding="3"> <thead> <tr> <th colspan="2">Login Here</th> </tr> </thead> <tbody> <tr> <td>User Name</td> <td><input type="text" name="username" /></td> </tr> <tr> <td>Password</td> <td><input type="password" name="userpass" /></td> </tr> <tr> <td colspan="2">New Employee!! <a class="btn btn-info" href="/registration.jsp?action=register">Register Here</a></td> </tr> </tbody> </table> <input type="submit" name="action" value="Login" /> </fieldset> </center> </form> </body> </html>
Error logs
Feb 13, 2016 4:40:33 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [com.greensun.jupiter.controller.main] in context with path [/Jupiter] threw exception java.lang.NullPointerException at com.greensun.jupiter.controller.main.doGet(main.java:32) at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 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)