에러 메세지 수집

JoJo·2023년 7월 27일
0

💡 1. java.sql.SQLException: Listener refused the connection with the following error:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


✔️ 원인

JDBC URL 오타


✔️ 해결 방안

url 에 @ 추가

String url = "jdbc:oracle:thin:localhost:1521:xe";

-> 

String url = "jdbc:oracle:thin:@localhost:1521:xe";



💡 2. java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name


✔️ 원인

테이블 명 부적합

✔️ 해결 방안

쿼리 스트링 수정

String query = "DELETE * FROM MEMBER_TBL WHERE MEMBER_ID = ?";

->

String query = "DELETE FROM MEMBER_TBL WHERE MEMBER_ID = ?";



💡 3. java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended


✔️ 원인

SQL 쿼리문 CULNUM 사이에 , 빠짐

✔️ 해결 방안

쿼리 스트링 수정

UPDATE MEMBER_TBL SET MEMBER_PW = ? MEMBER_EMAIL = ?, MEMBER_PHONE = ?
, MEMBER_ADDRESS = ?, MEMBER_HOBBY = ?, UPDATE_DATE = DEFAULT WHERE MEMBER_ID = ?

-> 

UPDATE MEMBER_TBL SET MEMBER_PW = ?, MEMBER_EMAIL = ?, MEMBER_PHONE = ?
, MEMBER_ADDRESS = ?, MEMBER_HOBBY = ?, UPDATE_DATE = DEFAULT WHERE MEMBER_ID = ?



💡 4. org.apache.jasper.JasperException: /member/myinfo.jsp (행: [36], 열: [90]) 종료되지 않은 [<c:if] 태그


✔️ 원인

<c:if>문에 " 오타

✔️ 해결 방안

" 잘못 들어간 부분 삭제

<input type="radio" id="member-gender" name="member-gender" value="M" 
<c:if test=""${ member.memberGender eq 'M' }">checked</c:if>>
-><input type="radio" id="member-gender" name="member-gender" value="M" 
<c:if test="${ member.memberGender eq 'M' }">checked</c:if>>



💡 5. java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended


✔️ 원인

쿼리문 문법 오류

✔️ 해결 방안

쿼리문 수정

SELECT * FROM MEMBER_TBL 
WHERE MEMBER_ID = ?, MEMBER_PW = ?
->
SELECT * FROM MEMBER_TBL 
WHERE MEMBER_ID = ? AND MEMBER_PW = ?



💡 6. java.lang.NumberFormatException: For input string: "6'"


✔️ 원인

네비게이션 생성하는 DAO 클래스에서, a 태그 경로에 ' 누락

✔️ 해결 방안

DAO 코드 수정

if(needNext) {
	result.append("<a href=/inquiry/list.do?currentPage="+(endNavi+1)+"'>[다음]</a>");
}
-> 
if(needNext) {
	result.append("<a href='/inquiry/list.do?currentPage="+(endNavi+1)+"'>[다음]</a>");
}



💡 7. WARN : org.springframework.web.servlet.PageNotFound - No mapping for GET /member/register.do


✔️ 원인

controller Bean 등록을 안함

✔️ 해결 방안

servlet-context.xml -> <context:component-scan base-package="kr.co.coupang" /> 코드 추가하고,
controller 파일의 class 위에 @Controller 라는 어노이테이션(Annotation) 추가!

* servlet-context.xml

<context:component-scan base-package="kr.co.coupang" />

* MemberController

@Controller // bean등록
public class MemberController {

...
}



💡 8. java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for


✔️ 원인

1. StoreLogic 클래스에 매퍼 입력 안함
2. mybatis-config.xml 에 mapper 등록 안함

✔️ 해결 방안

텍스트

1. 
@Override
public int insertMember(SqlSession sqlSessoin, Member member) {
	int result = sqlSessoin.insert("", member);
	return result;
}
->
@Override
public int insertMember(SqlSession sqlSessoin, Member member) {
	int result = sqlSessoin.insert("MemberMapper.insertMember", member);
	return result;
}
2.
* mybatis-context.xml에 추가되었는지 확인!

<mappers>
<mapper resource="mappers/member-mapper.xml" />
</mappers> 



💡 9. org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:oracle:this:@127.0.0.1:1521:XE'


✔️ 원인

root-context.xml 파일에 작성한 jdbc url 오타

✔️ 해결 방안

텍스트

<property name="url" value="jdbc:oracle:this:@127.0.0.1:1521:XE"></property>
->
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XE"></property>



💡 10. java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for MemberMapper.deleteMwmvwe


✔️ 원인

StoreLogic id 에 id값 오타

✔️ 해결 방안

id값 수정

@Override
public int deleteMember(SqlSession sqlSession, String memberId) {
	int result = sqlSession.delete("MemberMapper.deleteMwmvwe", memberId);
	return result;
}
->
@Override
public int deleteMember(SqlSession sqlSession, String memberId) {
	int result = sqlSession.delete("MemberMapper.deleteMember", memberId);
	return result;
}



💡 11. Cannot load JDBC driver class 'net.sf.log4jdbc,sql.jdbcapi.DriverSpy'


✔️ 원인

root-context.xml 파일 driverClassName의 value 오타

✔️ 해결 방안

driverClassName의 value 수정

<property name="driverClassName" value="net.sf.log4jdbc,sql.jdbcapi.DriverSpy"></property>

->

<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>



💡 12. Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy' for connect URL 'jdbc:log4jdbc:oracle:@127.0.0.1:1521:XE'


✔️ 원인

root-context.xml 파일 url value 오타

✔️ 해결 방안

url value 수정 (url 주소에 thin 추가)

<property name="url" 			 value="jdbc:log4jdbc:oracle:@127.0.0.1:1521:XE"></property>

->

<property name="url" 			 value="jdbc:log4jdbc:oracle:thin:@127.0.0.1:1521:XE"></property>



💡 13. java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for NoticeMapper,searchNoticeByWriter


✔️ 원인

StoreLogic 매개변수 오타

✔️ 해결 방안

mapper의 namespace 와 id 사이의 , 을 . 으로 수정

List<Notice> searchList = session.selectList("NoticeMapper.selectNoticeByTitle", searchKeyword);

->

List<Notice> searchList = session.selectList("NoticeMapper.selectNoticeByTitle". searchKeyword);



💡 14.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



💡 15.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



💡 16.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



💡 17.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



💡 18.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



💡 19.


✔️ 원인

텍스트

✔️ 해결 방안

텍스트



profile
꾸준히

0개의 댓글