【发布时间】:2016-05-24 17:30:42
【问题描述】:
我有一个登录页面,我想重定向到一个注册页面。但是我明白了
HTTP Status 404 - /registration.jsp 错误。路径或项目层次结构:snapshot
我想要的是,如果用户没有被拒绝,他们可以通过点击注册
我做错了什么
main.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>
错误日志
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)
【问题讨论】:
-
根据您的代码,我想指出您在 index.jsp 上调用 view.forward 的一件事,后来您编写了一些代码。在我看来,一旦您在请求调度程序上调用了转发方法,您就无法编写任何代码。
标签: java jsp servlets model-view-controller