2012-01-16 3 views
0

새 줄무늬 작업을 만드는 동안 로그 파일에서 다음 오류를 발견했습니다.net.sourceforge.stripes.exception.StripesServletException : ActionBean 유형의 인스턴스를 만들 수 없습니다.

**net.sourceforge.stripes.exception.StripesServletException: ***Could not create instance of ActionBean type*** [site.person.inspector.finaid.budget.ManageSession].** 
    at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:368) 
    at net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBean(NameBasedActionResolver.java:264) 
    at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:293) 
    at net.sourceforge.stripes.controller.DispatcherHelper$1.intercept(DispatcherHelper.java:106) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158) 
    at.site.stripesext.ConnectionContextSetupInterceptor.intercept(ConnectionContextSetupInterceptor.java:17) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
    at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
    at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) 
    at net.sourceforge.stripes.controller.DispatcherHelper.resolveActionBean(DispatcherHelper.java:102) 
    at net.sourceforge.stripes.controller.DispatcherServlet.resolveActionBean(DispatcherServlet.java:238) 
    at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:141) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.person.PersonAuditFilter.doFilter(PersonAuditFilter.java:44) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.security.AuthorizationFilter.doFilter(AuthorizationFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.session.SessionTrackingFilter.doFilter(SessionTrackingFilter.java:41) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:39) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.downtime.DowntimeFilter.doFilter(DowntimeFilter.java:41) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.QueueFilter.doFilter(QueueFilter.java:23) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.TransactionFilter.doFilter(TransactionFilter.java:82) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:42) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.PdfFilter.doFilter(PdfFilter.java:42) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.PreventCacheResponseFilter.doFilter(PreventCacheResponseFilter.java:25) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at site.QuiesceFilter.doFilter(QuiesceFilter.java:91) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.HqlTraceFilter.doFilter(HqlTraceFilter.java:43) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.AuditFilter.doFilter(AuditFilter.java:61) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
    at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:500) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) 
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
    at java.lang.Thread.run(Thread.java:619) 

아래는 현재 현재 작업하고있는 수업입니다. 당신은 내가 getViewSessionUrl (즉 actionBean.viewSessionUrl)를 호출하는 링크를 클릭 할 때 내가 뭘하려고 오전

@UrlBinding("/person/inspect/finaid/budget/manage-session-budget.page") 
public class ManageSession extends AbstractAidApplicantYearSessionTab{ 
//The class AbstractAidApplicantYearSessionTab has a hierarchy and the last one extends from UIAction 
    private static final String MANAGE_JSP_FILE="person/inspect/finaid/budget/manage-session-budget.jsp" ; 
    @Override 
    @DefaultHandler 
    public Resolution show() { 
     return new MauiForwardResolution(MANAGE_JSP_FILE); 
    } 

    public ManageSession(PersonInspectorAction personInspector, String group, String title) { 
      super(personInspector, group, title); 
     } 

} 


@UrlBinding("/person/inspect/finaid/budget/cost-of-attendance.page") 

public class CostOfAttendanceTab extends AbstractAidApplicantTab { 

public String getViewSessionUrl() { 
     return "/person/inspect/finaid/budget/manage-session-budget.page"; 
    } 

public CostOfAttendanceTab(PersonInspectorAction personInspector, String group, String  title) { 
    super(personInspector, group, title); 
} 


} 

이다. 그러면 Manage- Session-budget.page (즉, ManageSession 클래스)로 이동합니다.이 클래스에는 show()라는 기본 해결책이 있습니다.이 해결책은 manage-session-budget.jsp ...로 전달합니다. 하지만 왜 그 jsp 파일 또는 sth ManageSession 페이지에 잘못되지 않습니다 모르겠어요 ...

당신은 어떤 생각이 있으십니까?

답변

2

액션 빈 클래스 (ManageSession)에는 인수가없는 생성자가 없으므로 Stripes는이 클래스의 인스턴스를 만들 수 없습니다.

+0

음. You 're right 'ManageSession'에는 인수가없는 생성자가 없습니다. 그래서 'CostOfAttendance'와 같은 다른 클래스는 잘 작동합니다. 심지어 기본 생성자를 ManageSession에 넣으려고했는데 site.person.inspector.finaid.AbstractAidApplicantYearSessionTab (ManageSession의 부모)에서 사용할 수있는 기본 생성자가 없다는 컴파일 시간 오류가 있습니다. AbstractAidApplicantYearSessionTab에서 동일한 작업을 수행 할 때도 부모 클래스로 계속 이동합니다. ManageSession을 제외한 다른 클래스를 변경할 권한이 없습니다. 어떻게해야합니까? – WowBow

+0

CostOfAttendanceTab 클래스에는 arg가없는 생성자가 있습니다.이 생성자는 아무 것도없고,이 경우 Java 컴파일러가'super()'를 호출하기 때문에 생성자를 생성합니다. 인수가없는 생성자 **는 반드시 슈퍼 생성자를 첫 번째 명령어로 호출해야합니다. 수퍼 클래스에 인수가없는 생성자가 없다면 명시 적으로 다른 하나를 호출해야합니다 :'public ManageSession() {super (null, null, null); // ...}'. http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html –

+0

죄송합니다. CostOfAttendanceTab에는 이미 생성자가 있습니다. 나는 나의 질문을 편집했다. public CostOfAttendanceTab (PersonInspectorAction personInspector, String group, String title) { super (personInspector, group, title); } – WowBow

관련 문제