2011-07-01 3 views
0

내가 간단한 JSP 파일이 작동하지 않습니다 :JSP 대해 sendRedirect가

String url =""; 

    if(aController.find(Integer.parseInt(request.getParameter("id"))) != (null)) 
    { 
     url += request.getParameter("name") + "&id="+request.getParameter("id") + "&__locale=" + LocaleUtil.setLocaleStringMail(request, response); 
     url += "&__overwrite=true"; 
     System.out.println("this report has not been deleted"); 
     response.sendRedirect(url); 
    } 
    else{ 
    url += "error.rptdesign&__locale=" + LocaleUtil.setLocaleStringMail(request, response) + "&user="+report.getCreatorName(); 
     System.out.println("this report has been deleted"); 
     response.sendRedirect(url); 
    } 

처음 상태로 간다 시스템을 수행하고 리디렉션을 보낼 수 있습니다. 하지만 예외적으로 던지지는 않습니다 :

[#|2011-07-01T16:29:08.595+0300|WARNING|glassfishv3.0|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=29;_ThreadName=Thread-1;|StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception 
java.lang.NullPointerException 
    at org.apache.jsp.user.report_005fredirect_jsp._jspService(report_005fredirect_jsp.java from :74) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lcas.client.filters.SingleSignOutNameAddFilter.doFilter(SingleSignOutNameAddFilter.java:56) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:40) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:50) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lcas.client.filters.LCASAuthenticationFilter.doFilter(LCASAuthenticationFilter.java:111) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:104) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lrms.web.filter.LocaleFilter.doFilter(LocaleFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) 
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:329) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) 
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:229) 
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:334) 
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:814) 
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:743) 
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:936) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:682) 
    at java.lang.Thread.run(Thread.java:619) 

의견이 있으십니까? 미리 감사드립니다.

+0

제목에 따르면 sendRedirect가 작동하지 않지만 'then'블록에서 작동한다고 썼습니다. 컨트롤이 'else'블록에 도달하지 않으면 문제는 find 메서드에 있습니다. – buc

답변

1

JSP로 스크립틀릿을 작성하는 것이 가장 좋은 방법입니다. 어느 라인에서 무슨 일이 일어나고 있는지 알 수 없습니다. aController이 (가) null 일 수 있습니다. 그냥 추측.

+0

네가 맞다 aController가 null을 반환하고 예외적으로 예외가 발생한다. 나는 또한 try catch 문을 썼다. 그러나 그것은 예외를 잡아 내지 못했다. 이 경우 할 수있는 것에 대해 의견이 있으십니까? – lamostreta

+0

aController 개체를 만듭니다. Singleton 객체는 다른 곳에서 같은 aController를 재사용하기를 원하기 때문에 바람직합니다. – zawhtut