묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
My sql 비밀번호 설정 오류
ERROR 1054 (42S22): Unknown column 'password' in 'field list' 안녕하세요 코딩실력이 모자라서 질문합니다 ㅜㅜ 비밀번호 설정이 됩니다.이후 설정없이 진행하는데 오류가 나서 질문하게 됐습니다. 비밀번호 설정 오류가 나는 이유가 무엇일까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
git 연결할때 오류
06. 개발환경구축_Git 연결하기 할때에 21초 즈음에 해야하는 finish가 눌리지 않고, Target location for project SpringStart already exists, cannot move project이러한 오류가 발생합니다
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
프로젝트 생성시 Srping MVC Project 없음
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다르분 질문 봣는데 해결이 안되어 질문남깁니다. sts3로 설치해서 들어가봐도 Spring MVC Project 가 안나오는데 어떡해 진행해야할까요자세하게좀 설명부탁드립니다..
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
Oracle을 연결하고 싶은데, sql파일을 만들고나면...
Oracle을 연결하고 싶은데, sql파일을 만들고나면... 상단창에 Type을 Oracle로 지정해도 Name과 Database가 뜨지 않습니다. lib 폴더 만들어서 ojdbc6.jar 드라이버도 넣어 놨고, tnsnames.ora에 XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 127.0.0.1) (PORT = 1521) ) (CONNECT_DATA = (SERVER = dedicated) (SERVICE_NAME = orcl) ) )도 추가해두었습니다.pom.xml에는 다음과 같이 dependency도 추가하였습니다.<!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency> 뭐가 문제일까요 선생님?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
프로젝트 생성시 Srping MVC Project 없음
안녕하세요 선생님.전자정부프레임워크 4.0 다운받고,스프링 레거시 -> Spring MVC Project 하려고하는데보이지가 않습니다... Template Project에서 spring-defaults 제외하고 나머지도 다 지워봤는데 계속 안나오고,혹시 몰라서 자바 버전도 변경해봤는데 안나옵니다.. 혹시 어떻게 해야할까요?
-
미해결JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
toad가 안받아지는데 파일 따로 있나요?ㅜㅜ
toad가 안받아지는데 파일 따로 있나요?ㅜㅜ
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
화질이 계속 720p인데 1080은 안되는건가요?
계속 720p로 나와서 눈이 아픈데 1080p설정은 안되는건가요??
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
43강 age 0오류
0오류는 Memeber 를 정의할때 Int age; 말고 null타입이 들어갈 수 있는 Integer 타입으로 정의하면 되지않을까 제안드리는데 , 굳이 0으로 할 필요가 있을까요 ? Integer age ; 시 기본값이 null 이니깐 문제없지 않을까요
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
Controller의 BoardMapper 쪽에서 문제가 있습니다.
Controller에서 @Autowired로 private BoardMapper boardMapper를 해주었는데 필드 주입이 되지 않습니다.root-context에서 <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> <constructor-arg ref="mysqlHikariConfig" /> </bean> <mybatis-spring:scan base-package="com.spring.board.mapper" /> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean>mybatis-spring:scan 으로 패키지에 제대로 설정해주었는데 "/boardList.do"로 이동하면 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.spring.board.mapper.BoardMapper.getLists이러한 에러가 콘솔창에 나타납니다.
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
Spring05 버전에서 이미지를 설정했을 때 권한이 보이지 않습니다
안녕하세요. 강의를 잘 듣고 있습니다.다름이 아니라 Spring05에서 로그인 후에 ( ) 안에 권한이 보여지는 부분의 문제 때문에 질문합니다.초기에 회원가입 후 권한을 설정했을 때는 아래와 같이 권한이 잘 나옵니다.하지만 프로필 사진을 등록하면 그 이후부터는 로그아웃 후 다시 로그인을 해도 권한이 보이지 않습니다. SQL을 확인해 보면 테이블에 권한은 삭제되지 않고 있는데 나오구요...header.jsp에서 권한이 보여지는 부분은 잘 작성된 거 같고 maapper.xml도 정상인 것 같은데 왜 프로필 사진을 등록한 이후에는 권한이 보여지지 않는건지 잘 모르겠습니다ㅠㅠ도움을 부탁드립니다!
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
스프링 시큐리티 로그인 후 모달창 질문드립니다
(선생님 아래 댓글에 나름대로 해결책 적어놓았습니다!) 선생님 안녕하세요.기존 로그인 방식을 session에서 security로 바꾸면서 로그인에 성공하면 RedirectAttribute를 이용한 모달창 띄워주기는 어떻게 해야 하는지 고민됩니다.시큐리티 내부에서 /login.do 요청을 처리해주니 왠지 시큐리티 내부 필터에 설정을 해줘야 하나? 라는 생각이 듭니다.로그인에 실패하면 시큐리티에서 error를 파라미터를 넘겨주니, 로그인 성공 시 특정 파라미터를 1회성으로 넘겨주는 것이 있을까? 라는 생각도 듭니다.아니면.. 시큐리티로 로그인에 성공하는 순간 url경로를 설정하여 특정 컨트롤러에서 받아줘서 그곳에서 redirect를 해줘야 할까요? 아래의 사진은 기존 로그인 방식에서 RedirectAttributes의 addFlash를 이용한 참고사진입니다.감사합니다!
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
아이디 중복확인 NullPointerException
20:35 예시 코드처럼 입력했는데, 공백을 입력하고 중복확인을 하는 경우처럼 반환되는 Member가 없는 경우 NullPointerException이 발생합니다. memID로 찾아지는 Member가 있는 경우 0을 반환하면서 잘 동작합니다.선생님 예시에서는 작동이 잘 되는데 왜 저는 안 되는 걸까요? 옵셔널이나 예외처리를 해주어야 할까요? @RequestMapping("/memRegisterCheck.do") public @ResponseBody int memRegisterCheck(@RequestParam("memID") String memID) { //넘어오는 파라미터 이름과 받는 이름이 같은 경우 생략 가능 Member m = memberMapper.registerCheck(memID); if (m != null || m.equals("")) { //아이디가 중복이거나 공백인 경우 => 사용불가 return 0; } return 1; //사용 가능 } java.lang.NullPointerException kr.board.controller.MemberController.memRegisterCheck(MemberController.java:25) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:871) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:777) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:870) javax.servlet.http.HttpServlet.service(HttpServlet.java:489) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) javax.servlet.http.HttpServlet.service(HttpServlet.java:583) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
-
해결됨[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
53강 후반부 경로
53강 강의를 듣다가 마지막 부분에 MVC04/memberList.do에서 회원가입 완료 시 MVC03/memberList.do로 넘어가는 부분이 새로고침을 통해 해결하셨는데 저는 아무리 경로 확인하고 다시 꺼봤다 켜봐도 똑같이 MVC03으로 넘어가네요 ,, 달리 방법이 없는 걸까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
폼에서 저장 페이지로 넘어갈 때의 POST에 대한 궁금증
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]HTTP GET 방식 기능 : 조회HTTP POST 방식 기능 : 처리 , 저장 , 등록 , ...와 같이 알고 있습니다. 즉 사진에서 노란색 밑줄 친 코드는 현재 폼에서 입력된 데이터를 /servlet/members/save 경로에서 "처리"할 것을 요구하는 코드로 이해했습니다./servlet/members/save 경로에 해당되는 MemberSaveServlet 클래스에선 폼에서 발생한 데이터를 "저장"시키는 역할을 하고요. 그런데 다음과 같이 실제 폼에서 username과 age를 입력한 후 submit을 누르면 다음과 같이 /servlet/members/save페이지가 "조회"되면서 데이터가 "저장"되는 두 가지 작업이 동시에 일어나는 것을 확인할 수 있었습니다. 저는 POST 방식은 데이터 "조회"가 아닌 데이터 "처리"로 알고 있어서 폼에서 데이터를 입력하면 페이지에는 아무런 변화가 없고 그냥 데이터가 "저장"만 되는 것으로 알고 있었습니다그래서 /servlet/members/save 페이지를 "조회"해서 데이터가 잘 "저장"됐는지 확인하려면 GET 을 통하여 해당 페이지로 넘어가게끔 추가로 로직을 구성해야되는 것으로 생각하였습니다.[핵심 질문]이에 따라 앞으로 POST 방식을 쓰는 경우 페이지가 "조회"되면서 데이터 "처리"가 동시에 순차적으로 일어난다고 봐도 될지 궁금합니다 !
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
새로고침해야만 등록한 글이 리스트에 뜹니다.
게시글 입력후 새로고침 해야만 새로 등록한 게시글이 리스트에 뜹니다. 제가 놓친 코드가 있을까요? 아니면 브라우저 문제일까요? (문제 상황 gif 이미지 첨부합니다) <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@page isELIgnored="false" %> <!DOCTYPE html> <html lang="en"> <head> <title>Spring MVC02</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function () { loadList(); }); function loadList() { //서버와 통신 : 게시판 리스트 가져오기 $.ajax({ url: "boardList.do", type: "get", dataType: "json", success: makeView, error: function () { alert("error"); } }); } function makeView(data) { //콜백 함수 : 서버에서 응답으로 받은 데이터를 처리하는 함수 var listHtml = "<table class='table table-bordered'>" listHtml += "<tr>"; listHtml += "<td>번호</td>"; listHtml += "<td>제목</td>"; listHtml += "<td>작성자</td>"; listHtml += "<td>작성일</td>"; listHtml += "<td>조회수</td>"; listHtml += "</tr>"; $.each(data, function (index, obj) { listHtml += "<tr>"; listHtml += "<td>" + obj.idx + "</td>"; listHtml += "<td>" + obj.title + "</td>"; listHtml += "<td>" + obj.writer + "</td>"; listHtml += "<td>" + obj.indate + "</td>"; listHtml += "<td>" + obj.count + "</td>"; listHtml += "</tr>"; }); listHtml += "<tr>"; listHtml += "<td colspan='5'>"; listHtml += "<button class='btn btn-primary btn-sm' onclick='goForm()'>글쓰기</button>"; listHtml += "</td>"; listHtml += "</tr>"; listHtml += "</table>"; $("#view").html(listHtml); //view라는 id를 가진 div에 listHTML을 출력 $("#view").css("display", "block"); $("#wform").css("display", "none"); } function goForm() { $("#view").css("display", "none"); //숨기기 $("#wform").css("display", "block"); //보이기 } function goList() { $("#view").css("display", "block"); $("#wform").css("display", "none"); } function goInsert() { // var title = $("#title").val(); // #title에서 사용자가 입력한 value를 가져옴 // var content = $("#content").val(); // var writer = $("#writer").val(); var fData = $("#frm").serialize(); //form에 입력된 모든 데이터를 가져옴 // alert(fData); $.ajax({ url: "boardInsert.do", type: "post", data: fData, success: loadList, error: function () {alert("error");} }); } </script> </head> <body> <div class="container"> <h2>Panel Heading</h2> <div class="panel panel-default"> <div class="panel-heading">Spring MVC 02</div> <div class="panel-body" id="view">Panel Content</div> <div class="panel-body" id="wform" style="display: none"> <form id="frm"> <table class="table"> <tr> <td>제목</td> <td><input type="text" id="window-title" name="title" class="form-control"></td> </tr> <tr> <td>내용</td> <td><textarea type="textarea" rows="7" id="content" name="content" class="form-control"></textarea></td> </tr> <tr> <td>작성자</td> <td><input type="text" id="writer" name="writer" class="form-control"></td> </tr> <tr> <td colspan="2" align="center"> <button type="submit" class="btn btn-success btn-sm" onclick="goInsert()">등록</button> <button type="reset" class="btn btn-warning btn-sm">취소</button> <button type="button" class="btn btn-info btn-sm" onclick="goList()">리스트</button> </td> </tr> </table> </form> </div> <div class="panel-footer">인프런_스프1탄_박매일</div> </div> </div> </body> </html> @RequestMapping("/boardInsert.do") public @ResponseBody void boardInsert(Board vo) { boardMapper.boardInsert(vo); }
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
회원테이블과 권한테이블 간 관계
선생님 안녕하세요. 회원테이블과 권한테이블 간 관계 질문드립니다.회원 1명이 사용자, 매니저, 관리자 중 여러 권한을 가질 수 있으니, 회원테이블과 권한테이블 간 관계는 '1대다'의 관계인가요?
-
미해결JSP 강의평가 웹 사이트 개발하기
2강 null값 질문입니다
if(userID == null || userPassword == null){ PrintWriter script = response.getWriter(); script.println("<script>"); script.println("alert('입력이 안 된 사항이 있습니다.');"); script.println("history.back();"); script.println("</script>"); script.close(); return; } 이 부분이 이상하네요, 값을 안넣었는데도 회원가입이 돼요. 해결하신분 조언 부탁드립니다
-
미해결
새창으로 form submit() 할 때 csrf 토큰문제 질문드려요
<body> <form:form id="gotoPopupPreview" name="gotoPopupPreview" method="post" action=""> <input type="hidden" name="isPreview" value="Y"> <input type="hidden" name="nttId" value="${searchVO.nttId}"> ...(생략) </form:form> <script> function openPreview(url, target, otherData){ var f = $("#gotoPopupPreview"); f.attr('action', url); f.attr('target', target); ...(생략) window.open('', target); f.submit(); } $("submitBtn").click(function(){ var otherData = '어쩌구저쩌구'; openPreview("http://www.test.or.kr/", '테스트', otherData); }); </script> </body>위 코드와 같이 form 태그를 만들어두고 스크립트에서 새 창을 열어 submit을 보냈습니다.근데 서버에서 AccessDeniedException : org.springframework.security.web.csrf.MissingCsrfTokenException: Could not verify the provided CSRF token because your session was not found.result :::: {"result" : "fail", "message" : "Could not verify the provided CSRF token because your session was not found."}이렇게 csrf 토큰이 없다고 뜨네요..처음엔 <input type="hidden" name="$csrf.parameterName}" value="${csrf.token}" /> 이렇게 form태그 안에 직접 넣었다가 form taglib을 쓰면 자동으로 토큰을 넣어준다길래 위와 같이 바꾼건데요, 두 경우 모두 토큰이 잘 들어있는 것으로 보이는데 왜 저런 exception이 뜨는 지 모르겠습니다ㅠ아무래도 새 창으로 띄우는 게 문제일까요? 이 경우에는 토큰을 어떻게 넣어줘야 할까요? T.T
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
오류가 발생하였는데 왜 일까요...?
java.lang.NumberFormatException: null java.lang.Integer.parseInt(Integer.java:542) java.lang.Integer.parseInt(Integer.java:615) kr.bit.controller.MemberInsertController.service(MemberInsertController.java:19) javax.servlet.http.HttpServlet.service(HttpServlet.java:779) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) @WebServlet("/memberInsert.do")public class MemberInsertController extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1. 파라미터 수집(VO) String id=request.getParameter("id"); String pass=request.getParameter("pass"); String name=request.getParameter("name"); int age=Integer.parseInt(request.getParameter("age")); String email=request.getParameter("email"); String phone=request.getParameter("phone"); //MemberVO vo=new MemberVO(id, pass, name, age, email, phone); MemberVO vo=new MemberVO(); vo.setId(id); vo.setPass(pass); vo.setName(name); vo.setAge(age); vo.setEmail(email); vo.setPhone(phone); System.out.println(vo.toString());String형을 int형으로 변환해줬는데도 age쪽에서 오류가 발생하고 아랫부분들은 service메서드쪽에 왜 발생한 것인지 모르겠어요.. 답변 부탁드립니다
-
미해결
Spring Framework 강의중 IntelliJ - maven조합 추천좀 해주세요
안녕하세요현재 국비학원에서 스프링프레임워크를 듣는 수강생인데요너무 날라치기로 mvc패턴까지 알려주고 계셔서 , 나름 개인공부를 하고자 인프런에서 강의구매를 하려고 합니다 우선 스프링은 지금 처음 만져본거고boot는 추후에 결제해서 볼꺼구요.프페임워크에 대한 수강을 듣고싶어요그리고 제가 m1맥북을 쓰는데 원래 학생혜택으로 인텔리제이 울티를 쓰고있어서자바수업때부터 계속 인텔리제이를 썼는데요학원에선 이클립스로 수업진행을 하다보니 환경구축하는게 어렵더라구요..어디서 어디까지가 구축인지도 모르겠고STS3 다운받았더니 계속 오류에 이클립스도 햇더니 오류가 계속 나서어쩔 수 없이 인텔리제이로 해야할 것 같아요 . 괜찮은 수업 아시는분 계시면 추천 부탁드립니다ㅜㅜ