- 게시판에 mybatis를 활용하여 FileUpload를 하는 과정에서 to에 null 이 받아오는 문제가 발생했다
java.lang.NullPointerException: Cannot invoke "com.example.board.dto.PdsTO.getSeq()" because "to" is null
at org.apache.jsp.WEB_002dINF.views.design_005fpds0.board_005fdelete1_jsp._jspService(board_005fdelete1_jsp.java:129) ~[na:na]
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:67) ~[tomcat-embed-jasper-10.1.31.jar:10.1.31]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.31.jar:6.0]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) ~[tomcat-embed-jasper-10.1.31.jar:10.1.31]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) ~[tomcat-embed-jasper-10.1.31.jar:10.1.31]
- 이와 같은 문제가 2번이나 발생하였으며 모두 다른 해결방안을 사용하였다
- dao에 해당 내용 추가
String filename = pdsMapper.filename(to);
int result = pdsMapper.delete_ok(to);
if (filename!=null){
new File("경로",filename).delete();
// filename 오류(null로 나옴)
System.out.println(pdsMapper.filename(to));
}
- Controller 에 to 담는 것 추가
model.addAttribute( "flag", boardDAO.boardDeleteOK( to ) );
- 처음에는 DAO부분에 코드 순서가 잘못되어서 filename을 null이 된 상태로 받아오려고 한 문제였다
- 두번째에는 Controller부분에 model.addAttribute 코드를 빼먹어서 to의 값을 담지 못하고 null만 출력하는 문제였다
- 이러한 오류를 해결할때에는 로그를 출력해서 어느 부분에서 값이 null 이 나오는지 확인이 필요하며 해당 부분에 빠진 코드는 없는지, 순서는 잘못되지 않았는지 확인이 필요하다
'SpringBoot > Error' 카테고리의 다른 글
[Error] Cause: java.sql.SQLSyntaxErrorException (1) | 2024.12.05 |
---|---|
[Error] beans.factory.BeanCreationException (0) | 2024.12.04 |
[Error] The Unicode character [참] at code point (1) | 2024.11.26 |
[Error] Whitelabel Eorror Page (1) | 2024.11.25 |
[Error] org.apache.ibatis.binding.BindingException: (0) | 2024.11.23 |