일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JPQL
- 페치조인
- JPA
- javascriptcalendar
- 엔티티직접사용
- jQuery값전달
- fullcalendar
- jQuery값전송
- 자바서블릿
- javaservlet
- 프로젝트생성
- 대량쿼리
- paging
- 제네릭
- 스프링데이터흐름
- joinfetch
- namedQuery
- jscalendar
- springflow
- fetchjoin
- JQuery
- values()
- Generic
- LIST
- Hibernate
- 페이징
- 벌크연산
- calendar
- jQueryUI
- 제너릭
- Today
- Total
가자공부하러!
5. Spring Boot 자유게시판 만들기 본문
개요 : Spring Boot 자유게시판 제작
2차 시도
[목차]
1. 설정
1-1. spring boot dependencies
> pom.xml : 소스코드 링크(Github)
> Spring Boot DevTools
> Lombok
> MySQL Driver
> MyBatis Framework
> Spring Web Starter
> JSP
> JSTL
2. 메뉴(views)
2-1. 자유게시판 메인(views/freeboard/freeboard.jsp)
2-2. 계정 관련 기능(bootstrap modal form)
2-3. 글 상세보기(views/freeboard/postdetail.jsp)
2-4. 새 글 작성(views/freeboard/writenew.jsp)
2-5. 글 수정(views/freeboard/modifypost.jsp)
2-1. 자유게시판 메인(templates/freeboard.jsp)
> Header
- 메뉴바
- 메인 배너 이미지
> Main Contents
- 게시글 테이블
- 글 상세보기
- 새 글 작성
- 글 수정
> Side menu
- 로그인, 회원가입, ID/PW 찾기
2-2. 계정 관련 기능(bootstrap modal form)
> 공통 기능
- 정규식 활용 입력값 검사
- modal shown, hidden 이벤트
2-3. 글 상세보기
0. error
0-1. url attribute
> 발생시점 : 기초설정(pom.xml, application.yml, index.html, Controller) 직후 Run
> 내용 :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
> 해결 :
- <dependency> ojdbc6, h2, HikariCP 추가 : 실패
- OracleDBConfiguration 작성을 안했음 : 성공
- src/main/resources/mapper 폴더 생성
- 폴더 내에 mapper DOCTYPE 파일 생성
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">
- </mapper>로 끝나야 함
- <mapper>태그에 namespace가 비어있으면 안됨
1차 시도 - 중단
pom.xml : 소스코드 링크(Github)
1. 자유게시판 메인(templates/freeboard.html)
2. 로그인 기능
3. 글 상세보기(templates/fbsub/viewpost.html)
4. 새 글 작성(templates/fbsub/writenew.html)
5. 글 수정(templates/fbsub/modifypost.html)
6.
0. 에러 및 해결방법 기록
에러 및 해결방법 기록
1. Required a bean
***************************
APPLICATION FAILED TO START
***************************
Description:
Field freeBoardService in com.minhjFreeBoard.controller.FreeBoardController required a bean of type 'com.minhjFreeBoard.service.FreeBoardService' that could not be found.
The injection point has the following annotations:
- @javax.inject.Inject()
Action:
Consider defining a bean of type 'com.minhjFreeBoard.service.FreeBoardService' in your configuration.
> 해결완료
- 방법 : @Service 명시되어 있는지 확인
2. DB 값을 못받아옴
> Controller -> template 값 전달하는지 확인
- 잘 전달됨 확인
> DB에서 값 잘 빼오는지 확인
- 못받아오고있음
- DTO, DAO, Service, Controller 확인 -> 이상 없음
> 해결 완료
- 방법 : DB에 test data들 Commit이 안되어있었음...
3. template에서 DTO 또는 VO객체를 컨트롤러에 매핑할 때 오류
> 상태 : form태그까지는 정상적으로 동작하는데 th:field="*{변수}" 내용을 추가하면 500에러 발생
- 다른 사람들은 이렇게 쓰면 다 된다고들 하는데... 우주가 나를 속이고 있나보다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <form action="#" th:action="@{/freeboard.writenew.savepost}" th:object="${PostsDTO}" method="GET"> <table border="1"> <tr> <td><label th:text="ggg"></label></td> <!-- <td><input type="number" th:field="*{seq}"/></td> <td><input type="text" th:field="*{id}"/></td> <td><input type="text" th:field="*{title}"/></td> <td><input type="text" th:field="*{content}"/></td> <td><input type="date" th:field="*{post_date}"/></td> <td><input type="number" th:field="*{del}"/></td> <td><input type="number" th:field="*{readcount}"/></td> --> </tr> </table> </form> | cs |
> 오류메시지 :
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/fbsub/writenew.html]")
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.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/fbsub/writenew.html]") org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1013) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
> 해결방법
- 방법 1(실패)
- <html>태그에 아래 내용 확인
1 2 | <html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"> | cs |
- 방법 2
-
'공부 > Spring Boot' 카테고리의 다른 글
7. Spring boot Oracle DB연동(Thymeleaf, Hikari CP 활용) (0) | 2019.07.23 |
---|---|
6. Thymeleaf 활용 방법(Spring Boot) (0) | 2019.07.19 |
4. Spring Boot Oracle DB 연동(JSP, MyBatis) (2) | 2019.07.15 |
3. Spring Boot 어노테이션 관련 정보 모음 (0) | 2019.07.13 |
2. Spring Boot Controller 작성 (0) | 2019.07.12 |