'Back-End/Problems'에 해당되는 글 36건

  1. 2019.08.19 getter for property named 에러 해결 방법
  2. 2019.07.23 오라클 ORA-01722: invalid number 에러
  3. 2019.07.18 오라클 에러 (ORA-02267: column type incompatible with referenced column type)
  4. 2019.06.17 Spring (STS4) <c:choose>태그 안쪽 주석 오류
  5. 2019.06.13 스프링 에러
  6. 2019.06.07 Spring resources [js, css, img] 맵핑 (No mapping for GET)
  7. 2019.06.05 Spring 에러 (No Spring WebApplicationInitializer types detected on classpath)
  8. 2019.06.02 IntelliJ 스프링 (spring-boot:run 구동) 서버 충돌 (localhost:8080 - 아이디와 비밀번호 요구)

getter for property named 에러 해결 방법

Back-End/Problems 2019. 8. 19. 17:21

에러 코드

 

There is no getter for property named 'rno' in 'class java.lang.Integer'] with root cause

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'rno' in 'class java.lang.Integer'

 

 

해결 방법

 

mybatis 관련된 쿼리에 오류가 발생되었을 경우에 발생하는 오류이고, 맞춤법이나 대소문자를 다시한번 확인해본다.

 

mapper에 적힌 쿼리에 오타나 대소문자를 다시한번 확인해보고 수정하면 해결 된다.

 

UPDATE EASY_COMMON.CM_FLOOR_INFO
        SET 
            FLOOR_NAME = #{FLOOR_NAME},
            FLOOR_PEOPLE = #{FLOOR_people}
        WHERE FLOOR_ID = #{FLOOR_ID}



출처: https://yamea-guide.tistory.com/162 [기타치는 개발자의 야매 가이드]

아래 책은 제가 공부할때 활용했던 책으로 추천드리는 책이니 한번씩 읽어보시는것을 추천드립니다!! ㅎㅎ

토비의 스프링 3.1 세트:스프링의 이해와 원리 + 스프링의 기술과, 에이콘출판

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

:

오라클 ORA-01722: invalid number 에러

Back-End/Problems 2019. 7. 23. 11:49

ORA-01722: invalid number 에러 발생할시 확인해봐야될 것들


테이블에 설정된 자료형과 내가 입력한 자료형이 맞는지 확인


ex) 테이블에는 NUMBER형식으로 저장되어 있는데 만약 문자를 넣으면 에러가 발생


테이블의 자료형은 오라클에서 확인할 수 있다.



:

오라클 에러 (ORA-02267: column type incompatible with referenced column type)

Back-End/Problems 2019. 7. 18. 11:29

오류 보고 -

ORA-02267: column type incompatible with referenced column type

02267. 00000 -  "column type incompatible with referenced column type"

*Cause:    The datatype of the referencing column is incompatible with the



1
2
3
ALTER TABLE ADMIN_BOARD_REPLY
ADD CONSTRAINT bno FOREIGN KEY (bno)
REFERENCES ADMIN_BOARD(bno);
cs


정리 : 두 테이블간의 컬럼 이름이 같아도 데이터 타입이 다르면 FK 제약조건을 설정할 수 없다.

지금보면 한쪽은 VARCHAR2 타입이고, 한쪽은 NUMBER 타입이라 참조시킬수 없다.






:

Spring (STS4) <c:choose>태그 안쪽 주석 오류

Back-End/Problems 2019. 6. 17. 14:53

HTTP Status 500 – Internal Server Error


Type Exception Report

Message <h3>Validation error messages from TagLibraryValidator for [c] in [/WEB-INF/views/home.jsp]</h3><p>56: Illegal text inside "c:choose" tag: "<!-- 초이...".</p>

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

Exception




  log 내용


  ervlet.service() for servlet [appServlet] in context with path [/spring02] threw exception [<h3>Validation error messages from   TagLibraryValidator for [c] in [/WEB-INF/views/home.jsp]</h3><p>56: Illegal text inside "c:choose" tag: "<!-- ch...".</p>] with root    

 cause

  org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for [c] in [/WEB-INF/views/home.jsp]      

  </h3>  

  <p>56: Illegal text inside "c:choose" tag: "<!-- ch...".</p>

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)





  오류 발생 이유


  <!-- -->주석은 html에서 주석을 처리하는 방식이기 때문에 jsp 코드에서는 이것을 주석으로 인식하지 않고 있는 

  그대로 코드를 읽기 때문에 <c:choose>태그 안에 있는 <!-- -->주석 방식 때문에 오류가 발생했음.

  따라서 <!-- --> 로 처리하는 방법을 <%-- -->로 처리하는 식으로 바꾸면 오류가 발생하지 않는다.


  (jsp에서는 주석처리를 <!-- -->로 해도 주석처리를 한 것과 똑같은 색깔이 되지만 실제로는 주석처리가 되지 않기 때문에 

  <%-- -->주석 방식을 사용해야 한다.


  => 하지만 <c:when>태그 안에도 <!-- -->가 있는데 오류가 발생하지 않음... 블로그에서는 안된다고 나와있지만 실행했을때 문제는 없었음





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<c:choose>
    <!-- 초이스태그는 조건에 따른 여러곳으로 분기가 가능하다. -->
<%-- 초이스태그는 조건에 따른 여러곳으로 분기가 가능하다.-->
    <c:when test="${sessionScope.userid == null }">
    
    <!-- when은 test안의 값이 참일때 실행 -->
    <!-- userid 가 null일때 실행한다. 즉 아무것도 안들어있을때 -->
        <a href="${path}/member/login.do">로그인</a> | 
        <a href="${path}/admin/login.do">관리자 로그인</a>
    </c:when>
    
    <c:otherwise>
    <!-- otherwise는 초이스태그 안에 들어가면 default문 같은 역할을 하게 된다. -->
    <!-- 그러니까 위의 초이스태그 안에 구문이 실행이되면 기본으로 나오게 되는 코드가 아래에 있다고 생각하면 된다. -->
    <!-- 로그인 중입니다. 표시와 로그아웃표시는 로그인 중에만 출력이 되야하기 때문에 oterwiser구문을 사용한다. -->
        ${sessionScope.name}님이 로그인중입니다.
        <a href="${path}/member/logout.do">로그아웃</a>
    </c:otherwise>
    
    
</c:choose>
cs


:

스프링 에러

Back-End/Problems 2019. 6. 13. 13:42

HTTP Status 500 – Internal Server Error


Type Exception Report

Message Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

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

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1013)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	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

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
	org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
	org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
	com.sun.proxy.$Proxy10.selectOne(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
	com.example.spring02.model.member.dao.MemberDAOImpl.loginCheck(MemberDAOImpl.java:20)
	com.example.spring02.service.member.MemberServiceImpl.loginCheck(MemberServiceImpl.java:26)
	com.example.spring02.controller.member.MemberController.login_check(MemberController.java:41)
	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.doPost(FrameworkServlet.java:908)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	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

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
	org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
	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.$Proxy10.selectOne(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
	com.example.spring02.model.member.dao.MemberDAOImpl.loginCheck(MemberDAOImpl.java:20)
	com.example.spring02.service.member.MemberServiceImpl.loginCheck(MemberServiceImpl.java:26)
	com.example.spring02.controller.member.MemberController.login_check(MemberController.java:41)
	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.doPost(FrameworkServlet.java:908)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	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.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
	org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:888)
	org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:721)
	org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:714)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
	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.$Proxy10.selectOne(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
	com.example.spring02.model.member.dao.MemberDAOImpl.loginCheck(MemberDAOImpl.java:20)
	com.example.spring02.service.member.MemberServiceImpl.loginCheck(MemberServiceImpl.java:26)
	com.example.spring02.controller.member.MemberController.login_check(MemberController.java:41)
	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.doPost(FrameworkServlet.java:908)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	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







6월 13, 2019 11:57:14 오전 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet [appServlet] in context with path [/spring02] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check] with root cause
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for member.login_check


:

Spring resources [js, css, img] 맵핑 (No mapping for GET)

Back-End/Problems 2019. 6. 7. 14:27

17:29:01.023 [http-nio-8090-exec-8] WARN [org.springframework.web.servlet.PageNotFound.noHandlerFound:1248]-

No mapping for GET /spring02/include/style.css



리소스 맵핑 방법


1. webapp/resources 폴더에 js, img, css 파일들을 저장한다.


2. servlet-context.xml에 <resources mapping="resources/**"location="resources/" /> 경로를 추가시킨다.


3. jsp 페이지에 ${pageContext.request.contextPath}/resources/css/style.css 경로 지정을 한다.


하지만 이렇게 하면 기존에 path경로를 사용하던 페이지의 경로를 전부다 바꿔주어야해서 경로의 공통부분만 path를 사용하고 나머지 부분은

<link ~href> 링크를 사용해 따로 지정해준다.






문제 (맵핑이 안됨) 해결


servlet-context.xml 내용중 일부


1
<resources mapping="/resources/**" location="/resources/" /> //리소스 맵핑을 하는 경로가 resources파일 내로 되어있는데
//css파일이 include파일 하위에 있어서 맵핑이 되지 않았었다.
//css파일을 resources파일 내부로 옮겨주었다.
cs

 

header.jsp 내용중 일부


1
<c:set var = "path" value = "${pageContext.request.contextPath}" /> <!-- 경로설정을 편하게하기 위함 (contextPath태그를 자주쓰니까 간단하고, 호출하기 편하게 path로 만들어놓음) -->
cs


1
<link rel = "stylesheet" href="${path}/resources/style.css" />  //css파일의 경로를 resources폴더 하위로 설정해준다.
cs


:

Spring 에러 (No Spring WebApplicationInitializer types detected on classpath)

Back-End/Problems 2019. 6. 5. 18:19

메모를 작성후 확인을 누르면 저장이 되어야되는데 저장이 되지 않음..



첫번째 오류 - Spring 에러 (No Spring WebApplicationInitializer types detected on classpath)



두번째 오류 -17:29:01.023 [http-nio-8090-exec-8] WARN [org.springframework.web.servlet.PageNotFound.noHandlerFound:1248]-

No mapping for GET /spring02/include/style.css



첫번째 오류 해결중







두번째 문제 (맵핑이 안됨) 해결


servlet-context.xml 내용중 일부


1
<resources mapping="/resources/**" location="/resources/" /> //리소스 맵핑을 하는 경로가 resources파일 내로 되어있는데
//css파일이 include파일 하위에 있어서 맵핑이 되지 않았었다.
//css파일을 resources파일 내부로 옮겨주었다.
cs
 

header.jsp 내용중 일부


1
<c:set var = "path" value = "${pageContext.request.contextPath}" /> <!-- 경로설정을 편하게하기 위함 (contextPath태그를 자주쓰니까 간단하고, 호출하기 편하게 path로 만들어놓음) -->
cs


1
<link rel = "stylesheet" href="${path}/resources/style.css" />  //css파일의 경로를 resources폴더 하위로 설정해준다.
cs


:

IntelliJ 스프링 (spring-boot:run 구동) 서버 충돌 (localhost:8080 - 아이디와 비밀번호 요구)

Back-End/Problems 2019. 6. 2. 23:31

IntelliJ 스프링 (spring-boot:run 구동) run하고 localhost:8080 접속시 아이디와 비밀번호를 요구하는 창이 뜨는 문제





오라클 db와 tomcat이 서로 충돌해서 발생하는 문제였음


아래와 같이 오라클 db의 서비스를 중지 시키면 해결 된다.





정상구동 확인



출처

https://aboutprogramming.tistory.com/25

: