게시판 만들었을 때 오류들

todayisyolo·2022년 7월 25일
0

막 쓰는 글

목록 보기
1/3

jsp/spring-boot/gradle/mysql/heidiSQL/jpa

오류1

Path with “WEB-INF” or “META-INF”

해결 templete 파일 제거 or jsp와 같은이름의 html이 있는지 확인
Spring Boot에서 내장된 Tomcat을 사용 하는 경우 JSP 를 처리하는 서블릿을 추가하지 않아 발생하는 것으로 의존성(dependency)을 추가해주면 된다.
출처: https://haenny.tistory.com/299 [Haenny:티스토리]

오류2

JdbcSQLSyntaxErrorException: Syntax error in SQL statement ... expected "identifier"

-spring boot + jpa + h2 사용시 에러 발생
-해결 domain안에 order, group과 같은 예약어가 있으면 테이블이 생성할 수 없어 에러가 발생된다고 합니다.그래서 아래와 같이 하이버네이트의 globally_quoted_identifiers를 활성화하였습니다.

오류3

스프링부트 'com.mysql.jdbc.Drvier'. This is deprecated

해결방법
com.mysql.jdbc.Driver가 옛날 버전이기 때문에

com.mysql.cj.jdbc.Driver로 바꿔달라는 내용


배운점

jsp 쪽에서 form 액션에 메서드를 명시해야 스프링에서 GetMapping,PostMapping... 사용가능
아니면 다 RequestMapping으로 해야됨

controller랑 통산하려면 form action 사용!! >버튼은 input sumit으로//버튼으로 하면 안됨
메서드 필요 없으면 링크연결 그냥 사용
컨트롤러에서 바로 데이터 뿌려주려면 model/modelandview 사용

jsp 쪽에서 표현될 값이 없어도 오류 발생
${}

LocalDatetime 표시 방법

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 선언 후
<small><fmt:parseDate value="${board.modifiedAt}" pattern = "yyyy-MM-dd'T'HH:mm" type="both"/>
<fmt:formatDate pattern = "dd.MM.yyyy HH:mm" value="${parseDateTime}"/></small>

jsp안에 자바스크립트 사용법

<script type="text/javascript">
  alert("아이디가 틀렸습니다.");
  history.go(-1);
</script>

name에 변수 이름만 잘 넣어주면 객체든, 그냥 파라미터든 잘감

에러페이지

server.error.whitelabel.enabled=false 스프링 부트에서 제공하는 에러페이지 false로 하기

에러페이지로 지정할 곳

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>

에러나는 곳

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="error.jsp"%>

redirect시 Model은 전달 안됨
따라서

@PostMapping("/insertComment")
    public String insertComment(Comment comment,
                                @RequestParam("boardId") Long boardId,
                                RedirectAttributes redirectAttributes) {
        commentService.saveComment(comment.getReply(), comment.getReplyWriter(), boardId);
        redirectAttributes.addAttribute("id",boardId);
        return "redirect:/getDetail";

이런식으로 쓰면 url 파라미터 값으로 데이터가 보내짐
~/getDetail?id=1

profile
백엔드 주X100니어

0개의 댓글