19. november 2005 - 22:13
Der er
2 kommentarer og
1 løsning
Servlet der forwarder tilbage til JSP sider
Jeg har følgende kode:
// JSP udsnit - index.jsp
<html>
<body>
<%
Boolean failed = (Boolean) request.getAttribute("loginFailed");
if (failed != null)
{
if (failed.booleanValue() == true)
{
%>
<p>
<strong>Could not log in! Please try again.</strong>
<p>
<%
}
}
%>
<body>
</html>
// servlet udsnit
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
if ((loginName.equals("")) || (password.equals("")))
{
writeForm(request, response, true);
}
private void writeForm(HttpServletRequest request, HttpServletResponse response, boolean showError) throws ServletException, IOException
{
request.setAttribute("loginFailed", new Boolean(showError));
RequestDispatcher disp = this.getServletContext().getRequestDispatcher("/index.jsp");
}
Jeg får en java.lang.NullPointerException. Det jeg prøver er at hvis brugeren taster ingenting ind i password og brugernavn så forwarder min servlet tilbaget til JSP siden der tjekker om en boolean er sat hvis den er = true skulle JSP siden skrive
Could not log in! Please try again.</strong>
Er der nogen der ved hvad jeg gør galt eller er der nogen der har et bedre eksemple på, hvorndan jeg forwarderer tilbaget til min index.jsp side ???
19. november 2005 - 22:33
#2
Fik det ikke med i spørgsmålet. Men jeg har koden:
disp.forward(request, response); med i metoden writeform.
Får stadigvæk fejlen:
java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:159)
at servlets.LoginServlet.writeForm(LoginServlet.java:94)
at servlets.LoginServlet.doGet(LoginServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)