묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크 핵심 기술
강의 수강 커리큘럼 부탁드립니다.
안녕하세요. 백기선님의 강의를 듣고 스프링관련 강의를 모두 구매한 주니어 개발자입니다.앞으로 수강할 강의가 '스프링 기반 REST API 개발', '스프링부트 개념과 활용', '스프링 웹 MVC' 이 있는데 어떤 순서로 들어야할지 잘 모르겠어서.. 조언 부탁드립니다.
-
해결됨스프링 웹 MVC
노트 중에...
노트에 보면(이 기능 자체는 스프링프레임워크의 기능임....) 이런 내용이 있는데의존성 추가를 하면 자동으로 컨버터로 등록되는게부트가 아닌 스프링프레임워크의 기능이라는 뜻으로 이해하면 되나요?
-
해결됨자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
@Autowired 에 대해 질문있습니다.
@Autowired를 멤버변수와 생성자위에 선언하는 방법 두가지를 알려주셨습니다.appContext.xml에서 bean 객체가 여러개일 경우 @Qualifer를 활용하여 에러를 해결할 수 있다고설명하셨는데@Autowired@Qualifer("usedDao")멤버 변수 위에는 선언이 가능하지만 생성자 위에서는 선언이 에러를 일으키드라구요.@Qualifer를 사용하기 위해서는 멤버변수에서만 사용이 가능한가요?
-
미해결스프링 부트 개념과 활용
경고문이 뜹니다.
A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []이 경고는 어떻게 해결하면 되나요??? 단순히 '/'만 쓰지않고 뒤에 다른것을 써주면 문제가 해결되나요?그리고 2.1.1RELEASE에서는 톰켓실행이 안되는데2.0.3.RELEASE에는 문제없이 실행이 되는것을 확인할 수 있었습니다.톰켓버전의 문제가 있는것같습니다.
-
해결됨스프링 데이터 JPA
단방향 관계와 양방향 관계 관련되어 문의 드립니다.
@ManyToOne 단방향으로 관계 설정하는 경우와@ManyToOne+@OneToMany를 통해 양방향 관계로 설정하는 경우, DB 상으로 생성된 컬럼이나 데이터가 동일한데 이 두가지에 대한 차이점은 무엇인가요?DB 상에 데이터가 동일한데 굳이 양방향 관계를 사용하는 이유가 궁금합니다.감사합니다
-
미해결스프링 부트 개념과 활용
docker에서 postgres를 사용할 때, role 에러.
기선님께서 올려주신 docker로 postgres사용하는 부분 중에서, su - postgres 명령어를 입력하고 psql spring boot를 하게되면, FATAL: role "postgres" does not exist라는 응답이 나오던데, 기선님도 이런 오류가 있으셨나요? 이 오류가 발생해서 여러가지 찾아본 결과 해결방법으로는 root에서 psql -U keesun springboot를 하게되면, DB에 연결이 되는걸 확인할 수 있었습니다. 추가로, Windows유저는 l을 해서 DB를 확인하면, OWNER가 docker run에서 POSTGRES_USER에서 설정한 유저로 바뀌어 있는 걸 확인했습니다. 혹시, Windows 10으로 이 강의를 보시면서, docker for windows를 통해 docker를 실습하시려는 분들은 이 오류가 발생하면 위에 해결방법을 활용해주세요.
-
미해결스프링 부트 개념과 활용
심각: A child container failed during start
어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? 소스코드 어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? package com.dope; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; import org.apache.catalina.startup.Tomcat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class Application { public static void main(String[] args) throws LifecycleException { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); Context context = tomcat.addContext("/", "/"); HttpServlet servlet = new HttpServlet() { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter(); writer.println("<html><head><title>"); writer.println("헬로, 톰캣"); writer.println("</title></head>"); writer.println("<body><h1>Hello Tomcat</h1></body>"); writer.println("</html>"); } }; String servletName = "helloServlet"; tomcat.addServlet("/", servletName, servlet); context.addServletMappingDecoded("/hello", servletName); tomcat.start(); tomcat.getServer().await(); } } 에러코드 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)`
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
안녕하세요 질문있습니다.
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application오류가 이렇게 나는데..jstl jar파일이 없기 때문에 오류가 난다고 생각하는데요.강사님은 다른 작업 없이 잘되는데, 제가 강사님 따라서 실행하면 이런 오류가 떠서 jar 파일을 web-inf아래 lib 폴더 안에 넣어주면 잘 실행 되는데요, 폴더에 안 넣어주고 바로 실행 해도 잘 되는 비법이 뭔가여
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
처음 해보는 스프링 프로젝트 중 pom.xml
컨테이너생성시에 import가 안되서 pom.xml의 modelVersion, dependency>version을 스프링 버전인 5.0.0으로 바꾸니까 되네요. 맞게한건가요?두개의 버전이 어떤 버전을 뜻하는지 궁금하구요.그리고, build>version은 어떤 버전을 뜻하는지 궁금합니다.
-
미해결JSP 강의평가 웹 사이트 개발하기
이 에러 어떻게 해결하나요? 회원가입 버튼 누르니 이런 에러 뜨네요
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.Thu Jun 14 00:00:33 KST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.java.sql.SQLException: The server time zone value '´???¹?±¹ ???ؽ?' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444)at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at util.DatabaseUtil.getConnection(DatabaseUtil.java:14)at user.UserDAO.join(UserDAO.java:14)at org.apache.jsp.userJoinAction_jsp._jspService(userJoinAction_jsp.java:139)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '´???¹?±¹ ???ؽ?' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2201)at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2225)at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1391)at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:993)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)... 36 morejava.lang.NullPointerExceptionat user.UserDAO.join(UserDAO.java:15)at org.apache.jsp.userJoinAction_jsp._jspService(userJoinAction_jsp.java:139)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)
-
미해결누구나 따라하면서 배우는 JSP 커뮤니티 게시판 만들기
저같은 사람에게 도움을 주고자 남깁니다.
String dbURL = "jdbc:mysql://localhost:3306/BBS?serverTimezone=UTC";Class.forName("com.mysql.cj.jdbc.Driver");저는 계속해서 -2에 걸려 데이터 베이스 오류가 났습니다.MySQL 은 8.~버전을 이용중이고이제는 com.mysql.jdbc.Driver 에서 com.mysql.cj.jdbc.Driver 로 바뀌었고Time Zone 때문에 구글링 해봤더니String dbURL = "jdbc:mysql://localhost:3306/BBS?serverTimezone=UTC";하라고 나옵니다. 저와 같은 증상이신 분에게 도움이 됬으면 합니다.
-
미해결신입 프로그래머를 위한 실전 JSP 강좌
한글이 자꾸 깨집니다..
response.setContentType("text/html; charset=EUC-KR"); PrintWriter writer = response.getWriter(); writer.print(""); writer.print(""); writer.print(""); writer.print(""); writer.print("Post방식입니다. 따라서 doPost메소드가 호출 되었습니다"); writer.print(""); writer.print(""); 분명 보기와 똑같이 쳣는데도 한글만 깨져요.. 실행 결과가 Post?????. ??? doPost???? ?? ????? 이렇게 나옵니다.. 그리구 실행결과 항상 첫줄에 Served at: /hbk0514 이렇게 나오는데 이건 왜 나오는거죠..? 동영상 강의보면 두겟 메소드 아래 안보이는 소스가 재 이클립스 상에서는 존재합니다. response.getWriter().append("Served at: ").append(request.getContextPath()); 위에 소스코드는 신경 안써두 되나요...?