STS4 http 500 에러

Back-End/Problems 2019. 5. 31. 10:49
728x90
반응형

HTTP Status 500 – Internal Server Error


Type Exception Report

Message Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CPreparedStatement.isClosed()Z is abstract

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CPreparedStatement.isClosed()Z is abstract
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

Root Cause

java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CPreparedStatement.isClosed()Z is abstract
	oracle.jdbc.driver.T4CPreparedStatement.isClosed(T4CPreparedStatement.java)
	net.sf.log4jdbc.sql.jdbcapi.StatementSpy.isClosed(StatementSpy.java:860)
	org.apache.ibatis.executor.BaseExecutor.closeStatement(BaseExecutor.java:285)
	org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65)
	org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:326)
	org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
	org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
	org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:136)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
	com.sun.proxy.$Proxy8.selectList(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:222)
	com.example.spring01.model.dao.MemberDAOImpl.memberList(MemberDAOImpl.java:29)
	com.example.spring01.service.MemberServiceImpl.memberList(MemberServiceImpl.java:20)
	com.example.spring01.controller.MemberController.memberList(MemberController.java:28)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

Note The full stack trace of the root cause is available in the server logs.


Apache Tomcat/8.5.41







5월 31, 2019 10:46:54 오전 org.apache.catalina.core.StandardWrapperValve invoke

심각: Servlet.service() for servlet [appServlet] in context with path [/spring01] threw exception [Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CPreparedStatement.isClosed()Z is abstract] with root cause

java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CPreparedStatement.isClosed()Z is abstract




  에러 해결


  메이븐 프로젝트는 pom.xml에서 라이브러리를 기본적으로 다운받아 사용하는데 

  JRE 라이브러리 안에 JDBC 2개가 중복해서 존재하였고, 이 점때문에 서로 충돌해서 안되었던 것이었다. 

  JRE 라이브러리 안에 JDBC 2개를 삭제하였더니 정상적으로 출력되었음



728x90
반응형
: