월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
servletContext에 setServletContext(servletContext)
제가 따로 공부하다 @EnableWebmvc를 붙이면 servletContext 에다가.setServletContext(servletContext)를 추가해야 된다고들었는데 따로 추가를 안해도 괜찮나요?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
37:55 질문드립니다.^^
@GetMapping("/modify") model.addAttribute("board_info_idx", board_info_idx); model.addAttribute("content_idx", content_idx); 강의중에 model 에 담긴 이걸 쓸걸 ~! 라고 하셨는대요. 수정 페이지에 히든으로 <form:hidden path="content_idx"/> 되어있는데요. 여기에 값이 왜 안들어 오는지 궁금합니다.
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
JAVA에 ContentBean의 content_data가 int형이여도 되는이유가 뭔가요
안녕하세요. 현재 강의에서 XML, JAVA 모두 kr.co.softcampus.beans 패키지 안에 ContentBean.java 클래스에서 content_data변수를 String으로 사용하고 있습니다. 하지만, java프로젝트에서 String이 아니라 int로 설정하여도 작동되어서 문의드립니다. 왜 그런가요? XML의 경우는 안된다고 나옵니다.(당연히..)
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
xml 설정파일에서 에러나는 이유 문의
안녕하세요. 선생님. 강의 보고 스프링 프로젝트 잘 따라하고 있다가 에러가 나서 문의드립니다. 구글링을 하고 해결책을 찾아봐도 해결되지 않더라고요 서버 연결한 뒤 index 화면까지는 나오는데 이후 test 화면이나 result 화면으로 이동하려면 아래와 같은 에러가 뜹니다. 빈 주입이 안됐다는 것 같은데 root-context.xml 에서 <bean class="kr.co.softcampus.beans.DataBean1" scope="session"/> <bean class="kr.co.softcampus.beans.DataBean2" id="sessionBean2" scope="session"/> 이렇게 넣어주었는데 왜 안되는건지 모르겠습니다. EVERE: Servlet.service() for servlet [dispatcher] in context with path [/RequestScopeBeanXml] threw exception [Request processing failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'kr.co.softcampus.beans.DataBean1' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.context.annotation.Lazy(true)}] with root cause org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'kr.co.softcampus.beans.DataBean1' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.context.annotation.Lazy(true)}
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
@SelectKey 를 사용하는 이유를 알수 있을까요?
글 수정할때 시퀀스 값에 원래 content_seq.nextval 로 @INsert에 넣으면 문제가 되나요? 잘 이해가 안되네요 . 아래는 해당 코드입니다. @SelectKey(statement = "select content_seq.nextval from dual", keyProperty = "content_idx", before = true, resultType = int.class) @Insert("insert into content_table(content_idx, content_subject, content_text, " + "content_file, content_writer_idx, content_board_idx, content_date) " + "values (#{content_idx}, #{content_subject}, #{content_text}, #{content_file, jdbcType=VARCHAR}, " + "#{content_writer_idx}, #{content_board_idx}, sysdate)") void addContentInfo(ContentBean writeContentBean);
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
질문입니다.
혼자 해결해보려다 답이 안나와서 질문드립니다.<c:forEach /> 사용하여 top_menu 의 게시판 링크를 작성하는 부분에서 ${topMenuList} 가 제대로 동작하지 않는 것 같습니다.게시판 이름별로 링크가 생성되지 않고 ,${obj.board_info_name} 만 화면에 출력됩니다.어느 부분에서 놓치고 있는 건지 모르겠습니다.
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
result1에서 모델로 불러올 때
1번 질문.Bean설정을 sessionScope로 하고 요청이 생기면 세션 영역만 만들어지고 AutoWired으로 생성된Bean은 세션 영역에 들어가지 않는다는 거죠?? 그래서 17분 20초에 result1컨트롤러에서세션에 있는게 아니라 그냥 객체sessionBean1을가져오려고 모델을 쓰는 거구요여기까지 맞나요???? 2번 질문..그렇다면 jsp에서 표현할 때 ${sessionScope.---}로표현하고 싶으면 session에서 값을 가져와야 하는거죠?그러면 test1에서 session.set으로 값을 넣고 result1에서 session.get으로 값을 가져오면 ${sessionScope.---}로 받을 수 있는건가요? 3번 질문...그럼 2번에 질문에서test1에서 session에 객체나 값이 들어갔다면어디서든 session.get을 하게되면 값을${sessionScope.---}로 가져올 수 있는거죠??질문이 좀 많아요 ㅠㅠ이해가 잘 안가서 정리를 해봤는데맞는지 몰르겠네요
- 해결됨윤재성의 만들면서 배우는 Spring MVC 5
url에 대한 질문이 있습니다
강의를 진행하실때 board/main.jsp에서 글쓰기 버튼 url을 적으실때 <a herf="${root }board/write" class="btn btn-primary">글쓰기</a> 로 진행하셨습니다 근데 공부하면서 생각해보니깐 위와 같이 적지않고 그냥 현재 페이지가 board/main이므로 상대경로인 <a herf="write" class="btn btn-primary">글쓰기</a> 와 같이 적어도 되는데 이건 개발자의 개발 스타일인가요? 아니면 혹시나 url이 꼬일 수 있으니 절대경로로 url 지정해주는건가요?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
dynamic web project를 생성할 때 WebContent가 생성이 되지 않고 webapp이 생성이 됩니다. 도와주세요 ㅠㅠ
안녕하세요 강사님. 개발을 공부하고 있는 학생입니다. eclipse에서 Dynamic Web Project를 생성할 때 WebContent 대신에 src/main/webapp이 생성 되는데요. 구글링을 통해서 그 이유가 저의 eclipse가 Maven 형식으로 세팅이 되어 있기 때문이라고 알아냈습니다.(사실 지금 이 수업을 듣기 전에 "윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정" 을 듣고 왔으며 전에 있던 수업에서 사용하던 eclipse를 현재의 수업에서도 사용하고 있는 중 입니다.) 그러나 아무리 구글링을 하여도 webapp에서 다시 WebContent로 바꾸는 방법은 알아내지 못했습니다. 항상 친절하게 답변을 해주셔서 너무 감사드립니다.
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
질문있습니다
context-servlet.xml 설정 파일을 설정하실때 초반 <beans:beans ....... > 이 설정인데요 그냥 <beans .......> 이렇게 설정하는것과 <beans:beans ...... > 이렇게 설정하는것은 어떤차이인지 알고 싶습니다. 강의에선 기본스키마를 다른곳에 두기떄문이라고 했는데 이해를 못하겠습니다
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
8강 xml셋팅시 오류 질문있습니다.
12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 서버 버전 이름: Apache Tomcat/9.0.55 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: Server 빌드 시각: Nov 10 2021 08:26:45 UTC 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: Server 버전 번호: 9.0.55.0 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 운영체제 이름: Windows 10 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 운영체제 버전: 10.0 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 아키텍처: amd64 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 자바 홈: C:\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149\jre 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: JVM 버전: 16.0.2+7-67 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: JVM 벤더: Oracle Corporation 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: C:\tomcat 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: -Dcatalina.base=C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: -Dcatalina.home=C:\tomcat 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: -Dwtp.deploy=C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: --add-opens=java.base/java.lang=ALL-UNNAMED 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: --add-opens=java.base/java.io=ALL-UNNAMED 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: --add-opens=java.base/java.util=ALL-UNNAMED 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: -Dfile.encoding=UTF-8 12월 01, 2021 1:25:25 오전 org.apache.catalina.startup.VersionLoggerListener log INFO: 명령 행 아규먼트: -XX:+ShowCodeDetailsInExceptionMessages 12월 01, 2021 1:25:25 오전 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: APR 버전 [1.7.0]을(를) 사용한, APR 기반 Apache Tomcat Native 라이브러리 [1.2.31]을(를) 로드했습니다. 12월 01, 2021 1:25:25 오전 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: APR 용량정보들: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true]. 12월 01, 2021 1:25:25 오전 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: APR/OpenSSL 설정: useAprConnector [false], useOpenSSL [true] 12월 01, 2021 1:25:25 오전 org.apache.catalina.core.AprLifecycleListener initializeSSL INFO: OpenSSL이 성공적으로 초기화되었습니다: [OpenSSL 1.1.1l 24 Aug 2021] 12월 01, 2021 1:25:25 오전 org.apache.coyote.AbstractProtocol init INFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다. 12월 01, 2021 1:25:26 오전 org.apache.catalina.startup.Catalina load INFO: [918] 밀리초 내에 서버가 초기화되었습니다. 12월 01, 2021 1:25:26 오전 org.apache.catalina.core.StandardService startInternal INFO: 서비스 [Catalina]을(를) 시작합니다. 12월 01, 2021 1:25:26 오전 org.apache.catalina.core.StandardEngine startInternal INFO: 서버 엔진을 시작합니다: [Apache Tomcat/9.0.55] 12월 01, 2021 1:25:27 오전 org.apache.jasper.servlet.TldScanner scanJars INFO: 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다. 12월 01, 2021 1:25:27 오전 org.apache.catalina.core.ApplicationContext log INFO: No Spring WebApplicationInitializer types detected on classpath 12월 01, 2021 1:25:27 오전 org.apache.coyote.AbstractProtocol start INFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다. 12월 01, 2021 1:25:28 오전 org.apache.catalina.startup.Catalina start INFO: 서버가 [1997] 밀리초 내에 시작되었습니다. 8강에서 home controller를 만들고 나면 500에러가 뜨고, 콘솔창에 test1이라던지 home이 나와야되는데 500에러가 뜨지 않고, jsp파일을 만들어도 400에러만 뜹니다. 오타가 있나해서 올려주신 소스를 복붙해서 진행했는데도 같아요... 문제가 뭘까요?...ㅠㅠ
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
질문이요
java se kit 2021년 최신버젼이 17.0.1 인데 이거 다운받아서 해두 되나요 ?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
개인 프로젝트 할 때 참고하려고 하는데 XML에서 ROWBOUNDS가 안되는 것 같습니다..
SERVICE DAO 이렇게 하고 MAPPER에는 아무것도 안건드렸는데 ROWBOUND 가 되지 않습니다.. 혹시 다른 문제가 있을까요?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
xml형식으로 파일데이터 전송하기
안녕하세요 파일데이터를 전송하기위해 multipart로 변경하여 폼을 보내는 부분을 xml 로 설정하여 테스트하는데 오류가 납니다. java설정으로 할때는 잘동작하는데 오류를찾아봐도 잘 모르겠어서 여쭤봅니다. 현상은 빈값,값을 넣어서 제출하던 동일하게 아래와같이 나옵니다. servlet-context.xml web.xml ContentBean.java get,set메소드까지 설정하였습니다. write.jsp
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
8강 XML 세팅 오류 관련 문의드립니다.
안녕하세요 pom.xml web.xml 다 강의 자료에서 붙혀 넣었는데 이런 에러가 뜨는데 무슨 문제인지 모르겠습니다. org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/config/root-context.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/config/root-context.xml] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:345) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:305) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:637) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/config/root-context.xml] at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:159) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:331) ... 42 more 9월 27, 2021 1:47:38 오전 org.apache.catalina.core.StandardContext listenerStart 심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/config/root-context.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/config/root-context.xml] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:345) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:305) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:637) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/config/root-context.xml] at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:159) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:331) ... 42 more 9월 27, 2021 1:47:38 오전 org.apache.catalina.core.StandardContext startInternal 심각: 하나 이상의 리스너들이 시작하지 못했습니다. 상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다. 9월 27, 2021 1:47:38 오전 org.apache.catalina.core.StandardContext startInternal 심각: 이전 오류들로 인해 컨텍스트 [/SpringMVCXml]의 시작이 실패했습니다. 9월 27, 2021 1:47:38 오전 org.apache.catalina.core.ApplicationContext log 정보: Closing Spring root WebApplicationContext 9월 27, 2021 1:47:38 오전 org.apache.catalina.core.StandardContext listenerStop 심각: 클래스 [org.springframework.web.context.ContextLoaderListener]의 인스턴스인 리스너에게 contextDestroyed 이벤트를 전송하는 중 예외 발생 java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:177) at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1060) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1029) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:978) at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:517) at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4816) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5477) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:187) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) 9월 27, 2021 1:47:39 오전 org.apache.coyote.AbstractProtocol start 정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다. 9월 27, 2021 1:47:39 오전 org.apache.catalina.startup.Catalina start 정보: 서버가 [4942] 밀리초 내에 시작되었습니다. 문의하기를 이용해주세요.
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
session에 넣어도 가능한데 굳이 request에 저장한 이유가 있나요?
sessionScope인데 굳이 request영역에 설정하는 이유가 있나요?
- 미해결윤재성의 만들면서 배우는 Spring MVC 5
XML이란 data set을 사용하는 이유가 무엇인가요?
유익한 강의 감사합니다! 이클립스 IDE 내 Spring Web MVC 프로젝트를 다루면서 서블릿 또는 bean 설정할 때 java configuration class 파일말고 XML 파일을 사용하는 이유(장점)가 궁금합니다. 개인적으로 구글링을 해보니 프로젝트 실행할 때 컴파일을 하지않는 이점이 있다고 하는데 저한테 크게 와닿지 않아서 질문드립니다
- 해결됨윤재성의 만들면서 배우는 Spring MVC 5
궁금한게 있네요 servlet-context와 root-context 관련 질문
root-context가 모든 서블릿이 공유할 수 있는 bean들이 모인 공간이라고 알고 있어 db 연동할 때에 root-context에 작성을 해줘야 하는 줄 알고 있었는데, 상관이 없는 건가여? 뭔가 servlet-context와 root-context의 개념이 헷갈려서요..
- 해결됨윤재성의 만들면서 배우는 Spring MVC 5
DataBean1.data2 질문입니다.
처음부터 input_data.jsp에서 값을 입력 했을 때에 등록되었던 빈의 객체에 값이 들어가서, input_success.jsp에 값이 넘어와야 하는데 문제는 분명 bean에 int data2라고 선언해놨음에도 불구하고(유효성 검사 위반 했을 시에) input_data.jsp에서 text type으로 받아올때 String으로 문자의 형식이 바뀌어 data2의 값이 채워지지 않습니다. data2에 저장될 때에 String으로 저장되어 본래 int 값인 data2에서 에러가 나는거 같아요. 다만, 의문인 점은 유효범위 (max 10)안의 값을 넣으면 값이 넘어오긴 합니다. (유효성 검사 위반하지 않았을 경우) <-- data1 : dfdsfsdfsdf data2 : 0 --> 데이터가 아예 넘어오지 않음(123123123123입력 typeMismatch 에러 발생) BindingResult : org.springframework.validation.BeanPropertyBindingResult: 2 errors Field error in object 'dataBean1' on field 'data2': rejected value [123123123123]; codes [typeMismatch.dataBean1.data2,typeMismatch.data2,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dataBean1.data2,data2]; arguments []; default message [data2]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'data2'; nested exception is java.lang.NumberFormatException: For input string: "123123123123"] Field error in object 'dataBean1' on field 'data1': rejected value [dfdsfsdfsdf]; codes [Size.dataBean1.data1,Size.data1,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dataBean1.data1,data1]; arguments []; default message [data1],10,2]; default message [크기가 2에서 10 사이여야 합니다] 메시지 : Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'data2'; nested exception is java.lang.NumberFormatException: For input string: "123123123123" code : typeMismatch object name : dataBean1 typeMismatch.dataBean1.data2 typeMismatch.data2 typeMismatch.int typeMismatch --> 에러 메시지 --> jsp 에서 나타나는 에러 메시지
- 해결됨윤재성의 만들면서 배우는 Spring MVC 5
Locale 관련 질문입니다.
다른 properties를 읽을 때에 ServletAppContext에 res.setBasenames("/WEB-INF/properties/data1", "/WEB-INF/properties/data2"); 이렇게 properties 파일을 Message로 등록해서 그걸 컨트롤러에 주입 받아 res.getMassage로 사용하였습니다. (질문) Locale일 경우 그냥 getMassage("이름", null, locale) 하면 되는 건가요? ServletAppContext 에 위치를 지정하지 않아도 사용이 가능한 부분인지 궁금해서 질문드립니다. data1_en.properties 와 data1_ko.properties는 이름이 같아서 그 페이지의 언어 따라 변하는 점은 이해가 갑니다.