inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

@ArgumentResolver = ReturnValueHandler 같은 말인가요?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

위 관계도에서 @ResponseBody의 경우에 ReturnValueHandler를 사용한다고 합니다. @ResponseBody가 있으면 ArgumentResolver를 사용한다고 합니다. 이 관계도를 보고 ArgumentResolver와 ReturnValueHandler는 서로 관련없다고 생각했었는데요. 사실은 ArgumentResolver = ReturnValueHandler 이런식이여서 @ResponseBody가 있으면 ArgumentResolver를 사용한다는게 ReturnValueHandler를 사용한다는 말과 같다는뜻인가요?

  • MVC
  • mvc
  • spring
유찬희 댓글 1 좋아요 1 조회수 644

생성오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 안내에 따라 파일을 다운로드 받고 진행했는데 만들자마자 오류가 났습니다 제가 무엇을 잘못한 걸까요?

  • spring-boot
  • java
  • mvc
  • spring
  • MVC
블라불루 댓글 1 좋아요 0 조회수 435

ArgumentResolver,returnValueResolver 이해한게 맞을까요?

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

코드를 복습하다가 공통점과 강사님께서 설명하는 부분이 제가 이해한게 맞는지 확인하고 싶어서 문의를 남겨요 public class ControllerV4HandlerAdapter implements MyHandlerAdapter { @Override public ModelView handler(HttpServletRequest request,HttpServletResponse response,Object Hnadler){ ControllerV4 controller = (ControllerV4) handler; //createParamMap,model ==> ArgumentResolver 역할 Map<String,String> paramMap = createParamMap(request); Map<String,Object> model = new HashMap<>(); String viewName = controller.process(paramMap); //아래 로직이 ==> returnValueResolver ModelView mv = new ModelView(viewName); mv.setModel(model) return mv; } } 이렇게 이해해도 될까요 ??

  • spring
  • mvc
  • MVC
티벳로보 댓글 1 좋아요 0 조회수 338

로그인 폼을 만들고 로컬 스토리지에 jwt저장하기 강의에서 질문입니다!

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

import React, { useState } from "react"; import { Card, Button, Form, Input, notification } from "antd"; import { useHistory } from "react-router-dom"; import Axios from "axios"; import { SmileOutlined, FrownOutlined } from "@ant-design/icons"; import useLocalStorage from "utils/useLocalStorage"; export default function Login() { const history = useHistory(); const [jwtAccessToken, setJwtAccessToken] = useLocalStorage( "jwtAccessToken", "" ); console.log("loaded Token: ", jwtAccessToken); // 왜 이게 두번이나 출력되는 것이지? const onFinish = (values) => { async function fn() { const { username, password } = values; const data = { username, password }; try { //응답을 꼭 받아야 한다. 토큰을 받아야 하니까 const response = await Axios.post( "http://127.0.0.1:8000/accounts/token/", data, { headers: { "Content-Type": "application/json" } } ); // const { data: token } = response; 이런 방식은 아래랑 다르다 response에서 data을 꺼내서 이름을 token이라 짓는 것 // const token = response.data 와 일치하며 밑에 녀석은 // const jwtAccessToken = response.data.access 과 일치한다 const { data: { access: jwtAccessToken }, } = response; setJwtAccessToken(jwtAccessToken); notification.open({ message: "로그인 성공!", icon: <SmileOutlined style={{ color: "#108ee9" }} />, }); // history.push("/accounts/login"); //TODO: 이동주소 } catch (error) { console.log(error); if (error.response) { notification.open({ message: "로그인 실패!", icon: <FrownOutlined style={{ color: "#ff3333" }} />, description: "아이디/암호를 확인해 주세요.", onClick: () => { console.log("Notification Clicked!"); }, }); } } } fn(); }; return ( <Card title="login"> <Form labelCol={{ span: 8 }} //부트스트랩은 한 행이 12 컬럼인데 antd는 24컬럼임 wrapperCol={{ span: 16 }} style={{ maxWidth: 600 }} onFinish={onFinish} autoComplete="off" > <Form.Item label="Username" name="username" rules={[{ required: true, message: "Please input your username!" }]} //rules을 통해 유효성검사로직이 들어가 잇다 > <Input /> </Form.Item> <Form.Item label="Password" name="password" rules={[ { required: true, message: "Please input your password!" }, { min: 5, message: "5자리 이상 해주세요" }, // 한글자 한글자 들어갈때마다 검사해준다. ]} > <Input.Password /> </Form.Item> {/* //8칸 이동하고 16칸을 쓰겠다 */} <Form.Item wrapperCol={{ offset: 8, span: 16 }}> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> </Card> ); } 안녕하세요 강사님!! 위에서 15번째 줄에 있는 console.log("loaded Token: ", jwtAccessToken); 이 부분이 페이지의 콘솔창에서 두번이나 나타납니다... 왜 그런지 알 수 있을까요?? 새로고침을 했을때도 두번 나타나고 submit을 했을 때도 2번 출력됩니다. 아 ! 그리고 simplejwt토큰을 사용중 입니다!

  • docker
  • django
  • python
  • react
꺼넝 댓글 1 좋아요 0 조회수 715

스프링부트 3.0에서 실행할때.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 질문드릴려고합니다. 스프링부트 3.0에서 영한님의 강좌에서 jpa실습중 그레이들 추가했음에도 불구하고.. EntityManager import가 되지 않아서 ... 찾아보니까.. import javax.persistence.EntityManager; 을 지원하지않더라구요 대신 import jakarta.persistence.EntityManager; 찾았는데.. 에서 에러가 나옵니다 이것을 변경하는 방법이 있을까요? Querydsl부분은 잘 모르겠는데.. 처음부터 어렵게 등장해 당황스럽네요 ㅠ.ㅠ 혹시 아시는분계시면 부족한 제 견해 좀 깨달음을 주셨으면합니다.

  • spring
  • mvc
  • spring-boot
  • java
  • MVC
이경용 댓글 1 좋아요 0 조회수 948

study 파일 어떻게 해야되나요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 1.study 파일이 없네요 제가 만들어서 해야되는건가요? study 빌더 파일 은 어디서 가지고 와야되나요?

  • spring-boot
  • spring
  • mvc
  • MVC
  • java
오상수 댓글 1 좋아요 0 조회수 500

model.addAttribute / .addAttribute 가 자동완성에 안뜹니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 모델은 자동완서으로 가능. .add에 .addAttribute 가 나오지않고 타자로 써도 빨간글씨로 뜹니다ㅠㅠ

  • MVC
  • spring
  • mvc
  • spring-boot
  • java
박혜란 댓글 2 좋아요 1 조회수 1325

안녕하세요. 다른 풀이도 풀었는데 괜찮을까요?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

정답은 제대로 나오긴 했는데 시간 초과라던가 하는 문제가 없을까요? 4중 for문은 생각지도 못했네요..ㅠㅠ sudoku = [list(map(int, input().split())) for _ in range(9)] def solution(sudoku): length = len(sudoku) a, b, c, = list(), list(), list() # 행열 검사 for i in range(length): row, col = list(), list() for j in range(length): row.append(sudoku[i][j]) col.append(sudoku[j][i]) if len(set(row)) != 9 or len(set(col)) != 9: return "NO" # 3x3 격자판 검사 a.extend(row[0:3]) b.extend(row[3:6]) c.extend(row[6:]) if i == 2 or i == 5 or i == 8: if len(set(a)) != 9 or len(set(b)) != 9 or len(set(c)) != 9: return "NO" a, b, c, = list(), list(), list() return "YES" print(solution(sudoku))

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
HTCho1 댓글 1 좋아요 0 조회수 461

1068번: 트리

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

제가 다음과 같이 코드를 작성했는데, 100%까지 가다가 틀립니다.. 어떤게 문제일까요? 반례를 제시해주실 수 있나요? 감사합니다. https://www.acmicpc.net/problem/1068 import sys input = sys.stdin.readline n = int(input()) g = list(map(int, input().split())) m = int(input()) cnt = 0 def DFS(x): g[x] = -1 for i in range(n): if g[i] == x: DFS(i) DFS(m) for i in range(n): if g[i] != -1 and i not in g: cnt += 1 print(cnt)

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
이도열 댓글 1 좋아요 1 조회수 378

errorPage500Api 함수 내에서 ex 가 null 로 return 되네요.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

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] 어떻게 수정가능할까요?

  • spring
  • mvc
  • MVC
moonseok.shin 댓글 2 좋아요 0 조회수 1114

httpSession.setAttribute를 연속 두번 사용 했을 때 구조 질문

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요. 강의 정주행중입니다! 보다가 세션의 원리에 대해 자세히 알게되었습니다만 한 가지 궁금한 점이 있어서 질문을 남깁니다. 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" 문자열이 반환되는 것이 맞을까요??

  • spring
  • mvc
  • MVC
Aurora 댓글 1 좋아요 3 조회수 930

http://localhost:8080/hello 접속 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. boot '3.0.3'버전 java17 버전 이용중입니다. java/hello/hellospring/controller/HelloController resources/static/index.html resources/templates/hello.html 소스는 전부 교재에서 복붙하고 서버 실행 후 http://localhost:8080/hello 보면 이렇게 뜨네요 ㅠㅠ

  • spring-boot
  • mvc
  • MVC
  • java
  • spring
한진희 댓글 1 좋아요 0 조회수 1269

스프링 부트 툴 4 사용해도 되나요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링부트 툴 4 인텔리제이 무료버전이 아니라 spring boot 툴 사용해도됩니까?

  • MVC
  • java
  • mvc
  • spring-boot
  • spring
오상수 댓글 1 좋아요 0 조회수 1591

POST Form에 대해 질문드립니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. 강의 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이 호출되는것이므로 해당 컨트롤러 메서드가 실행된다. 이렇게 이해하는게 맞을까요?

  • spring
  • mvc
  • MVC
오리쉐리 댓글 1 좋아요 0 조회수 499

06.개발환경 구축_Git연결하기 Maven 5.0.2 RELEASE 오류

해결됨

스프링 프레임워크는 내 손에 [스프1탄]

버전 변경하면 콘솔창에서 에러 메세지가 등장합니다. Maven DEpendencies 안에는 5.0.2 모두 버전이 변경된 것은 확인할 수 있는데 오류가 난 상태로 실습을 진행해도 될 지 궁금합니다. [오류 메세지]

  • spring
  • mvc
  • MVC
  • jsp
  • spring-security
  • Spring Security
optional94 댓글 1 좋아요 0 조회수 523

service()

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 프론트 컨트롤러를 이해하는 과정에 질문이 생겨서 질문 드립니다! FrontControllerServletV1 의 생성자는 FrontControllerServletV1 가 실행될 때 실행되는데, service() 메소드는 왜 생성자처럼 FrontControllerServletV1가 실행될 때 자동으로 실행되는 지 잘 이해가 안가 질문 드립니다. 따로 service 메소드를 실행하지 않았는데도 실행되는 이유를 알고 싶습니다!!

  • spring
  • mvc
  • MVC
ml505050 댓글 1 좋아요 1 조회수 477

안녕하세요 리뷰복습하다가, 발견했습니다

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

최근에 다시 자바스크립트로 돌리면서, 기존에 파이썬으로 했던 것들 다시 모두 자바스크립트로 풀어보면서 문제 풀어보니, 발견했습니다. 이거 첫번째 가정을, 그리디로 접근하면 해결 안되는 문제인것같습니다. 이후 가정들은 당연히 그리디 관념으로 최적값 찾을 수 있는데, 첫번째 가정부터 그리디로 접근하면 해결되는 문제가 아니라서 어긋나기때문에, 그리디관념이 통하지 않는 문제인것같습니다. 완전탐색해버리거나, 시간 더 줄이려면 백트래킹 가지치기 해야하는 문제인것같습니다. 입력입니다! 7 172 67 183 65 179 61 178 62 177 63 170 72 181 60 기존 풀이(무조건 183선발) 가 내주는 답 : 3 감독 현수가 원할 것 같은 답 : 6 그리디로 가장 키 큰 사람 무조건 선발하는 과정이 풀이에서 오류인것같습니다. 183 선발 가정하고 cnt 값 구하고, 그다음 181 선발 가정하고 cnt값 구하고, 쭉 다음 순으로 선발 가정하고 cnt값 구하는데, 만약 어떤 사람 선발 가정하고 cnt값 구하는데 남은 사람 수 다 합해도 기존 Max cnt보다 적을 경우, 백트레킹 가지치기로 break 혹은 return 끊어버리는게 맞는것같습니다. 풀이1. 이중포문 const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); let cnt = 0; let largest = 0; let res = 0; for (let i = 0; i < n; i++) { largest = arr[i][1]; cnt += 1; if (res >= n - i) { break; } for (let j = i + 1; j < n; j++) { if (arr[j][1] > largest) { largest = arr[j][1]; cnt += 1; } } res = Math.max(res, cnt); cnt = 0; } console.log(res); } solution(n, arr); 풀이2. DFS const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } let cnt = 0; let res = 0; //const list = []; function DFS(s, weight) { if (s < 0) return; if (cnt + n - s <= res) { cnt -= 1; s -= 1; return; } for (let i = s; i < n; i++) { if (arr[i][1] > weight) { cnt += 1; //list.push(arr[i][1]); DFS(i + 1, arr[i][1]); //list.pop(); } } res = Math.max(res, cnt); //console.log(list); cnt -= 1; } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); DFS(0, 0); console.log(res); } solution(n, arr);

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
ncprog1 댓글 2 좋아요 1 조회수 456

postman 오류 Error: getaddrinfo ENOTFOUND localhost8080

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

postman에서 post로 send를 했는데 ok 가 postman에 출력이 되지 않습니다. 왜 그런지 알 수 있을까요? 현재 작성한 파일들과 RequestParamServlet입니다.

  • mvc
  • MVC
  • spring
rlaalsghks8 댓글 1 좋아요 0 조회수 4458

로드맵상 다음강의? 크롤링? 퀀트1?

해결됨

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

안녕하세요.. 멋지고 깔끔한 강의 덕분에 2주만에 완강했습니다! 좋은 강의 준비해주셔서 감사합니다. 로드맵상 다음강의가 퀀트part1 으로 되어 있는데, 크롤링을 모르고 가도 상관이 없을까요? 아니면 크롤링 강의 먼저 듣고 가는게 나을까요?

  • python
wk 댓글 1 좋아요 0 조회수 272

59강 getProperty가 뜨지 않습니다.

미해결

스프링 프레임워크는 내 손에 [스프1탄]

어떤것 때문에 getProperty가 나타나지 않는지 이상하네요

  • MVC
  • mvc
  • Spring Security
  • spring-security
  • jsp
  • spring
형종 댓글 1 좋아요 0 조회수 415

인기 태그

인프런 TOP Writers

주간 인기글