묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
errorPage500Api 함수 내에서 ex 가 null 로 return 되네요.
errorPage500Api 함수 내에서 ex 가 null 로 return 되어 postman 결과가 json 으로 오지 않고 body 가 비었습니다. 오류는 아래와 같네요. java.lang.NullPointerException: Cannot invoke "java.lang.Exception.getMessage()" because "ex" is null at hello.exception.servlet.ErrorPageController.errorPage500Api(ErrorPageController.java:39) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207) ~[spring-web-6.0.5.jar:6.0.5] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152) ~[spring-web-6.0.5.jar:6.0.5] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011) ~[spring-webmvc-6.0.5.jar:6.0.5] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.0.5.jar:6.0.5] at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:705) ~[tomcat-embed-core-10.1.5.jar:6.0] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.0.5.jar:6.0.5] at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) ~[tomcat-embed-core-10.1.5.jar:6.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.0.5.jar:6.0.5] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.0.5.jar:6.0.5] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.5.jar:6.0.5] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.5.jar:6.0.5] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:443) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:367) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:295) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:372) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:296) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:153) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.5.jar:10.1.5] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]2023-02-26T09:40:16.190+09:00 ERROR 54414 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost] : Exception Processing ErrorPage[exceptionType=java.lang.RuntimeException, location=/error-page/500] 어떻게 수정가능할까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
httpSession.setAttribute를 연속 두번 사용 했을 때 구조 질문
안녕하세요. 강의 정주행중입니다!보다가 세션의 원리에 대해 자세히 알게되었습니다만 한 가지 궁금한 점이 있어서 질문을 남깁니다.loginV3에서 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember);위 코드를 통해 세션 저장소에 세션 정보를 생성하고 response에 쿠키 정보를 담아서 클라이언트에 전달하는 것까지 이해가 되었습니다. 그래서 쿠키 저장소를 보면 잘 조회가 됩니다.만약에 위 상태에서 session.setAttribute("mem", "123"); 를 한번 더 사용하면 위 사진처럼 JSESSIONID가 아닌 다른 Name으로 row 데이터가 추가될 줄 알았는데 그게 아니더군요. (JESSIONID 하나만 있었습니다.)그래서 만약 한 컨트롤러에 session.setAttribute 를 두번 사용하게 되면 아래와 같은 구조가 되는게 맞는건가요??위 그림처럼 되면 JESSIONID 하나만 있어도 value 자체가 Map이기 때문에 HttpSession.getAttribute("SessionConst.LOGIN_MEMBER");를 조회하면 loginMember 객체가HttpSession.getAttribute("mem");를 조회하면 "123" 문자열이 반환되는 것이 맞을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 접속 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.boot '3.0.3'버전java17 버전 이용중입니다.java/hello/hellospring/controller/HelloControllerresources/static/index.htmlresources/templates/hello.html소스는 전부 교재에서 복붙하고 서버 실행 후http://localhost:8080/hello보면 이렇게 뜨네요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 부트 툴 4 사용해도 되나요
스프링부트 툴 4인텔리제이 무료버전이 아니라 spring boot 툴 사용해도됩니까?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
POST Form에 대해 질문드립니다.
안녕하세요. 강의 6분23초 쯤에 HTML을 FORM을 통해서 데이터를 입력하고 나서 전송을 해주었는데요. 이때 클라이언트의 URL이 /basic/hello-form.html에서 /request-param-v1으로 바뀌었는데, 왜 바뀌게 된건가요?HTML FORM에서 전송 버튼을 누르면 RequestMapping이 되어서 메소드가 호출되는거 같은데, 왜 해당 컨트롤러의 메소드가 호출되는것인가요? http강의자료와 이전에 학습했던 자료를 찾아봐도 해당 관련 내용이 어떤것인지 확인이 안되어 질문드립니다ㅠㅠ -구글링을 하면서 1,2번에 대한 답을 추가로 생각해봤는데, [전송]버튼을 누르면 form action으로 지정한 URL을 POST방식으로 서버에 요청하는데, 클라이언트의 URL이 /request-param-v1로 바뀐다. 즉 /request-param-v1을 POST방식으로 서버에 요청하는것이고, 이렇게되면 /request-param-v1이 호출되는것이므로 해당 컨트롤러 메서드가 실행된다.이렇게 이해하는게 맞을까요?
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
06.개발환경 구축_Git연결하기 Maven 5.0.2 RELEASE 오류
버전 변경하면 콘솔창에서 에러 메세지가 등장합니다. Maven DEpendencies 안에는 5.0.2 모두 버전이 변경된 것은 확인할 수 있는데 오류가 난 상태로 실습을 진행해도 될 지 궁금합니다. [오류 메세지]
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
service()
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.프론트 컨트롤러를 이해하는 과정에 질문이 생겨서 질문 드립니다!FrontControllerServletV1 의 생성자는 FrontControllerServletV1 가 실행될 때 실행되는데, service() 메소드는 왜 생성자처럼 FrontControllerServletV1가 실행될 때 자동으로 실행되는 지 잘 이해가 안가 질문 드립니다. 따로 service 메소드를 실행하지 않았는데도 실행되는 이유를 알고 싶습니다!!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
postman 오류 Error: getaddrinfo ENOTFOUND localhost8080
postman에서 post로 send를 했는데 ok 가 postman에 출력이 되지 않습니다. 왜 그런지 알 수 있을까요? 현재 작성한 파일들과 RequestParamServlet입니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
59강 getProperty가 뜨지 않습니다.
어떤것 때문에 getProperty가 나타나지 않는지 이상하네요
-
해결됨스프링 프레임워크는 내 손에 [스프2탄]
page의 값이 어디서 증가하는지 궁금합니다..
29강 - 리스트에 페이지 번호 구하기를 들으면서 이해가 안가는 부분이 있어 질의 드립니다.페이지 하단에 페이지번호 출력과 각 번호를 누르면 list?page=1, list?page=2 이런식으로 웹이 이동하는 방식 같은 전체적인 프로세스는 강의를 들으면서 이해가 잘되었습니다.한가지 이해가 안가는 부분이 있는데 제목에 작성한것처럼 page의 증가가 어디서 이루어지는지를 잘모르겠습니다.정상적으로 다 작동이 잘되고 디버깅을 이용해서 page가 1 - > 2 로 값이 정상적으로 들어가있는것도 확인하였습니다.코드를 전체적으로 검토를 해봤지만 page를 따로 증가시켜주는 코드는 찾지못했는데 어디서 증가가 되는건지가 궁금합니다 ㅠㅜㅠㅠ
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
mariadb 실행
mac m1 사용하고 있습니다. brew services start mariadb를 입력하면Name Status User Fileemacs nonemariadb stopped kimbongseob ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plistunbound none다른 Status 가 Started가 들어와야하는데 stopped가 들어옵니다.Can't connect to local server through socket '/tmp/mysql.sock' (2)mariadb 접속시 위와 같은 에러가 발생합니다. 기존 Mysql 사용한 적이 있어서 해당 부분 잘 삭제하고 실행 했습니다. (삭제 직접 폴더 파일 다 열어서 확인해봤는데 없었습니다.)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 데이터 베이스 mac사용자는 어디 서 다운 받나요?
데이터 베이스 h2 데이터 베이스 mac사용자는 어디 서 다운 받나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Process 'command 'C:/Program Files/Java/jdk-19/bin/java.exe'' finished with non-zero exit value 1
문제 관련해서 게시판 답변들을 참고하였습니다ctrl + shitf + s -> gradle -> build and run using (gradle로 변경) & run teset using (gradle로 변경) invalidate caches -> restart gradle로 변경을하면 classNotFoundException은 발생안하는데 아래와 같은 에러가 계속 발생하네요.혹시 놓치는 부분이 있을까요?https://drive.google.com/file/d/18n2GiksxflnW0g0svZx6jq6gUFomqSPW/view?usp=sharing 혹시 몰라 아래 사진도 첨부합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ScriptAssert 에러 문제
안녕하세요. 강의를 듣던중에 교안에 추가되지 않은 듯한 내용이 있는거 같아서 글 쓰게 되었습니다.< Bean Validation - 오브젝트 오류 > 파트에서맨처음에 @ScriptAssert 애너테이션을 이용하여 자바 스크립트 코드를 실행하는 내용이 있는데,현재 날짜 2023년 2월 23일 기준스프링 부트 버전 3.0.2 + java 버전 17.0.6 을 사용하여 실행시, 아래의 오류가 발생합니다. jakarta.validation.ConstraintDeclarationException: HV000170: No JSR-223 scripting engine could be bootstrapped for language "javascript".] with root cause org.hibernate.validator.spi.scripting.ScriptEvaluatorNotFoundException: HV000232: No JSR 223 script engine found for language "javascript".이유가 궁금해서 조금 찾아보니, JVM 이 지원하는 스크립트 엔진의 차이 때문에 해당 오류가 발생하는 것 같다는 글을 다수 발견했습니다.현재 jdk8 ~ jdk14의 JVM 상에서 사용되는Nashorn 엔진은 javascript를 지원하는데, jdk14 이후 버전부터는 javascript가 지원되지 않는 GraalVM 을 사용한다고 합니다.스프링 부트 3이후에는 java 17 이상을 사용하는 것이 필수조건으로 되어있기 때문에, 더는 스프링 부트 3에서는 @ScriptAssert를 이용한 자바스크립트 표현식을 사용할 수 없는 것 같습니다. 강의 내용중 크게 중요한 부분을 차지하지는 않는 것 같아서, 질문이 없는 것 같은데 확인해주시면 감사할 것 같습니다.reference :https://stackoverflow.com/questions/71481562/use-javascript-scripting-engine-in-java-17https://sinau.tistory.com/60
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp index.html 웰컴페이지와 jsp 404 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 공유해주신 소스코드를 실행시키는 데는 문제가 없었는데 제가 진행하던 프로젝트에서 webapp 하위에 index.html이나 다른 jsp 파일을 폴더 경로에 맞게 넣어놔도 접근이 안되고 404에러가 뜹니다.다음과 같이 경로 모두 일치하게 넣었고, index.html 자체도 웰컴페이지로 나오지 않는걸 봐선 코드 오타 문제는 아닌 것 같습니다. (모든 코드는 혹시나 싶어 제공해주신 소스 코드에서 복붙했었습니다)한 가지 다른 점이 있다면, 저는 아래와 같은 스프링 부트 버전에서 개발했다는 건데요 plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' }혹시 버전 때문에 이런 문제가 발생할 수도 있나요?버전 때문에 생기는 문제라면 나중에 혼자 개발할 때도 같은 문제가 생길 수 있을 것 같은데 구글링해보니까 내용이 잘 안나와서.. 검색 키워드나 관련 내용 참고할 수 있는 사이트가 있다면 알고 싶습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 적용후 회원등록 실패
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.우선 제 파일 링크입니다. https://drive.google.com/file/d/1n2XmTBYPylkkCA40URbdx4AEQTIqenvI/view?usp=sharing여태까지 잘따라오고있었는데 순수jdbc 강의 따라하면서 return new JdbcMemberRepository(dataSource);를 적용하고 나서 회원가입페이지에서 원하는 이름을 치고 등록을 누르면 다음과 같은 오류가 뜹니다.@Configuration public class SpringConfig { private DataSource dataSource; @Autowired public SpringConfig(DataSource dataSource){ this.dataSource = dataSource; } @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } 영한님 강의영상을 봐도 SpringConfig나 memberService글자가 회색처리되지않아있는데 제파일에선 unused라면서 회색처리 되어서 코드가 정상적으로 작동이 되지않는건가 싶은데.. 고민해봐도 해결방법을 모르겠어서 올립니다! 가능하다면 unused된 이유도 알고싶습니다.!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원목록 index 이상
안녕하세요.순수 JDBC 부분 듣고 있습니다.첫 번째 사진에 보이는 것과 같이 회원등록을 하고 회원목록을 보게되면 바로 다음 순서로 생성이 되는것이 아니라 36번쨰부터 생성이 됩니다.그래서 직접 h2 db에서 sql 문을 통해서 회원목록을 지우고 새로 등록해보았는데 그럴경우에도 순서가 초기화되지 않고, 36을 지웠으면 다음생성때는 37이 생성되는 것과같이 나타납니다. 1. db에서 직접 sql 문을 작성하여 적용하는 과정에서 문제가 발생한것일까요?2.해결 방법이 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
템플릿엔진의 역할에 관해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]안녕하세요. 질문이 있습니다. 템플릿엔진이 템플릿 양식과 입력자료를 합성하여 결과 문서를 출력하는 소프트웨어라고 하던데그럼 이 강의에서 templates 폴더 내 html 파일이 템플릿 양식이고 입력자료가 html파일로 넘겨주는 model 인걸로 이해해도 될까요? 결과 문서가 렌더링된 html이 되는것이구요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
한글 깨짐
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]System.out.println으로 출력하는 한글이 깨집니다.기존에 한글 깨짐으로 문제가 되었던 게시글을 참고하여 매니저 분들이 올려주신 링크 모두를 참고하여 수정하였습니다.(file encoding 모두 utf-8로 변경 / vm option utf-8 변경 / file->invalidate cachees -> restart / gradle -> clean -> build ..... )구글링 중에 jdk 버전을 17이하로 낮추면 깨지지 않는다고 하여 jdk도 17버전으로 다운 받아 적용 시켜도 한글이 제대로 보이지 않네요 ㅠㅠ혹시 제가 놓치는 부분이 있을까요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
css
[질문 내용]다른 html 파일을 사용해도 css는 bootstrap.min.css 이거 하나만 있으면 되는건가요?