2월 29, 2024 9:55:14 오전 org.apache.catalina.core.StandardWrapperValve invokeSEVERE: 경로 [/waguwagu]의 컨텍스트 내의 서블릿 [appServlet]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "com.springmvc.domain.Member.getMemberId()" because "member" is null]을(를) 발생시켰습니다.java.lang.NullPointerException: Cannot inv..
프로젝트에서 카카오 주소 검색을 통해 객체에 주소를 받고 그 후 문자열로 변환한 후 저장을 해주었다. 그럼 db 에서 아래와 같이 주소를 저장할 수 있었다. 그러나 주소를 출력하는 경우 문제가 발생했다. address는 객체를 받기때문에 변환하여 저장을 하는데 이때 split으로 자르면 주소마다 길이가 다르기 때문에 null 값인 경우도 존재했다. 위와 같은 문제가 발생했다. ${m.address}를 출력하는 것이 아닌 아래와 같이 zipcode와 streetAddress만을 출력하면 원하는 정보만큼 출력할 수 있었다. ${m.address.zipcode}${m.address.streetAddress}
아래의 오류 페이지를 보아 기존 변경하기 전 코드에서 오류가 발생했다는 것을 확인할 수 있었다. 오류는 쿼리문에서 발생했다는 오류 코드를 볼 수 있었다. 확인 결과 아래와 같이 작성되어 있었다. 이전 수정하기 전에는 where절이 없이 테이블의 모든 컬럼 값들을 조회하는 쿼리문이었기 때문에 query를 사용했다. 하지만 목적이 바뀌어 where 절을 추가하였다. where 절이 추가되면 where절에서 필요한 파라미터를 전달해야하는데 아래를 보면 파라미터를 전달하지 않고 있는 것을 볼 수 있다. @Override public List readAllReviewList(String lessonId) { String SQL = "SELECT * FROM l_review WHERE lessonId=?"; Lis..
리뷰 점수의 평균을 구하고 점수를 뷰 페이지에 표기하기 위해 코드를 아래와 같이 코드를 작성했다. @Override public double calculateAvgScore() { String SQL = "SELECT AVG(lr_score) FROM l_review"; Double avgScore = template.queryForObject(SQL, Double.class); return avgScore != null ? avgScore : 0.0; } avgScore이 null일 경우 0.0을 반환하도록 작성했다. 그럼 위와 같이 소숫점 4자리까지 나오는 것을 확인할 수 있다. 평균점수를 표기할 시 1자리까지 표기되도록 변경하기 위해 코드를 수정했다. 수정 후 아래와 같이 코드를 작성했다. roun..
리뷰 목록과 평균점수 두가지의 결과를 보고싶어서 아래와 같이 뷰 페이지를 똑같이 입력해주었다. @GetMapping public String requestReviewList(Model model) { List list = lessonReviewService.readAllReviewList(); model.addAttribute("reviewList",list); return "/Lesson/reviews"; } @GetMapping("/avg") public String getAvgScore(Model model){ double avgScore = lessonReviewService.calculateAvgScore(); model.addAttribute("avgScore",avgScore); return..
1. url의 id 값 null 상세정보를 클릭하면 리뷰id 값을 가져와 url에 표기되며 해당 리뷰 상세보기 페이지로 이동해야한다. id 값이 제대로 출력되지않아서 아래와 같이 id가 null 값으로 url이 발생되었다. 리뷰 Id 값이 제대로 들어갔는지 다시 확인하기 위해 console에 출력해보았다. 그럼 아래와 같이 리뷰 Id 값이 null로 뜨는 것을 알 수 있었다. 값이 제대로 들어가지 않은 것을 확인한 후 페이지 이동과 관련 있는 컨트롤러를 살펴보았다. 그 결과 아래와 같은 오류 코드를 발견할 수 있었다. @GetMapping("/detaile") public String requestReviewById(@RequestParam("id")String reviewId,Model model) {..
팀의 승률을 구하는 코드를 작성한 후 출력한 결과 아래와 같이 소수점이 출력되었다. @Override public double calculateWinningRate(String teamId) { String SQL = "SELECT COUNT(*) FROM t_score WHERE teamId=? AND ts_result='Win'"; int totalWins = template.queryForObject(SQL, Integer.class, teamId); String totalGamesSQL = "SELECT COUNT(*) FROM t_score WHERE teamId=?"; int totalGames = template.queryForObject(totalGamesSQL, Integer.class,..
- Total
- Today
- Yesterday