묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결스프링 프레임워크는 내 손에 [스프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 다운받았더니 계속 오류에 이클립스도 햇더니 오류가 계속 나서어쩔 수 없이 인텔리제이로 해야할 것 같아요 . 괜찮은 수업 아시는분 계시면 추천 부탁드립니다ㅜㅜ
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
일반적으로 로그인 상태 판정을 쿠키로 하나요?
안녕하세요, 강의 잘 듣고 있습니다.본 영상에서는 memberId가 쿠키에 존재하면 로그인이 된 상태라고 간주하는데요실무에서도 이와 같은 방식으로 로그인 여부를 판정하는지 궁금합니다. 만약 쿠키를 사용하여 로그인 여부를 판정하게 된다면사용자 측에서 쿠키를 조작할 수 있기 때문에로그인이 되어 있지 않더라도 loginOk 페이지에 접근할 수 있을 것으로 보입니다. 간단하게 로그인을 성공했는지 여부만 따질때는본 예제처럼 쿠키 값을 이용하여 판별하는 경우도 많은지 궁금합니다.
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
mysql 설정에서 키가 먹지 않습니다
use database를 하거나 show databases를 해도 계속 사진과 같은 화살표만 다음줄에 나옵니다.어느 것을 입력해도 저러는데 왜그러는건가요?
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
MVC02에서 List 화면이 나오지 않습니다
안녕하세요, 강의 실습을 따라서 진행하는 중에 화면이 잘 안나오는 문제가 있어서 질문 드립니다.지난번에 MVC01에서 화면이 로드되지 않는 문제에 대해 maven clean, install을 알려주셔서 이후에는 화면 부분을 생성할 때마다 maven clean, install을 진행했습니다ㅜㅜ하지만 이번에는 maven clean,install을 실행하거나 프로그램을 껐다가 다시 해봐도 List가 나오지 않습니다.브라우저의 결과는 아래와 같습니다.List 출력 전 json 알림까지도 잘 나왔고 http://localhost:8080/controller/boardList.do에서도 아래 이미지처럼 나왔습니다.main.jsp 파일입니다. 제가 보기에는 오타 없는 것 같아요. 32번줄 table부분은 var listHtml="<table class='table table-boardered'>";로도 바꿔봤는데 결과는 같습니다.controller 부분입니다.또한 pom.xml dependency도 추가했습니다.서버도 문제 없이 작동되고 있습니다.어디가 문제일까요... 강의를 너무 잘 듣고 있는데 환경 설정 때문인지 자꾸 실행되지 않는 부분이 생겨서 질문 남깁니다ㅜㅜegov 4.0으로 초기 셋팅은 강사님과 동일합니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
시큐리티 프로젝트..
부트말고 스프링프레임워크에서 시큐리티 기능을 이용한 회원별 권한 부여된 게시판 기능을 만들려고 하는데 SPRING MVC02와 03, 04 를 한 프로젝트 안에 다 작업해도될까요??필요한 기능이 관리자 - 글쓰기(사진 멀티업로드) 이용자 - 조회, 찜기능 비회원- 조회이런것들입니다.시큐리티 기능을 활용해서 사이트를 만들어보려고 하는데 어떤 챕터를 활용하면 좋을지 의견 부탁드립니다..!기존 세팅은 되어 있어서 MVC01 은 제외하고 작업하면 될 것 같은데이렇게 되면 MVC02부터 실행해도 괜찮은지도 말씀 부탁드립니다..!감사합니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
org.springframework.beans.factory.UnsatisfiedDependencyException
MVC06 소스 톰캣 실행 시 아래 오류가 발생합니다. ERROR: org.springframework.web.servlet.DispatcherServlet - Context initialization failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController': Unsatisfied dependency expressed through field 'memberUserDetailsService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'kr.ody.apps.security.MemberUserDetailsService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1344) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) 구글링으로 파악이 안되네요.원인이 무엇일까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP 문의입니다.
안녕하세요. JSP 좀 더 연습해보려고 따로 해보는데,Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Tue Dec 19 12:10:12 KST 2023There was an unexpected error (type=Not Found, status=404). 와 같은 오류가 발생하여 문의드립니다.http://localhost:8081/ 에서는 작동이 잘 되는데http://localhost:8081/test1 하고http://localhost:8081/sub/test2위 2개에서 위 오류가 발생합니다.dependencies도 3.0 버전에 맞춰 설정까지 다 했는데도 안되어서 문의드립니다ㅠㅠ실행은 Ex05JspUseApplication로 하면 됩니다. 해당 프로젝트를 압축하여 구글 드라이브에 올렸습니다https://drive.google.com/file/d/1p57CC71yQg-b3f1JYFOAUkdkdPD0rXVg/view?usp=sharing
-
미해결JSP 강의평가 웹 사이트 개발하기
오류에 conn is null 이라고 떠요
실행하면 오류나면서 Cannot invoke "java.sql.Connection.prepareStatement(String)" because "conn" is null 이라고 뜨는데 구글 서치 해봐도 안되네요ㅠㅠ
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
강의내용대로 실행중인데 boardForm.do가 안나옵니다.
어디가 잘못된건지 못 찾겠습니다. 일단 boardList.jsp 에 boardForm.do를 작성했는데 저는 계속해서 404에러와 아래 문구가 콘솔창에 찍힙니다. 도와주세요. 제 눈에는 잘못된 부분이 보이지 않습니다.... 현재 화면을 캡처해서 올립니다.servlet-context.xmlBoardControllerboardList.jspboardForm.jsproot-context.xml결과창 : boardList는 잘 나옵니다.
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
강의 재생 오류 문의
안녕하세요. JSP 내장객체 강의만 재생이 안됩니다. 확인 후 답변 부탁 드립니다. 감사합니다.
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
13강 test.jsp 질문 드려요
강의 잘 듣고 있습니다. ^^현재 13강에서 test.jsp 를 만들었는데요. 화면에 출력은 되는데 html 형태로 출력이 되지않아서 무언가 셋팅이 안된건가 문의를 드려봅니다. // 20231202114331// http://localhost:8080/MVC01/test.jsp55 위처럼 출력이 되어져서 좀 당황했습니다. 그리고, HelloStart.java 는 다음 처럼 화면이 출력이 됩니다. // 20231202120202// http://localhost:8080/MVC01/h.do100 환경셋팅 좀 알려주시면 감사하겠습니다.저는 3.10 버전으로 공부중입니다. ^^ 좋은 주말 되세요.
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
3강 mysql 질문입니다
제가 mac으로 수업중인데 윈도우로 start, stop 하시는데 Mac 으로는 어떻게 하는지 모르겠어요...똑같이 start, stop 있는데 .sh 파일입니다.
주간 인기글
순위 정보를
불러오고 있어요