본문 바로가기

리스너, 필터, 서블릿 리스너: 서버를 켰을 때 자동으로 실행되는 것 --> 요청과 상관 X 서블릿: 웹 브라우저에서 호출 가능한 자바 클래스 --> 요청과 상관 O필터: 일반적인 서블릿보다 조금 더 앞쪽에 있는 서블릿 + 역할 다름
싱글톤 객체 성능 향상 --> LazyHolder 사용 public class Singleton { private static Singleton test = new Singleton(); public static Singleton getInstance() { return test; } private Singleton() { } }--> 필요없는 메모리 낭비 발생 public class Singleton { private static class LazyHolder { public static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return LazyHolder.INSTANCE; } private Singleton() { } }--> 최초 1번 호..
MySQL에서 Merge Into(데이터가 있으면 수정, 없으면 삽입) 사용하기 쿼리를 잘 몰라, 특정 데이터가 있다면 수정, 없다면 삽입해야 하는 경우 아래와 같이 해결했다. /** * DB에 데이터가 없다면 = insert */ if (service.selectBoard(seq) == null) { service.insertBoard(board); /** * 있다면 = update */ } else { service.updateBoard(board); } Oracle에는 이를 간단히 해결하기 위해 Merge Into라는 기능이 있고,Mysql에서는 아래와 같이 사용하면 된다. INSERT INTO TB_BOARD ( COULUMN_1, COULUMN_2, COULUMN_3 ) VALUES ( VALUE_1, VALUE_2, VALUE_3 ) ON DUPLICATE KEY UPDA..
ajax통신 응답 for문 돌리기(JSON 응답) for (let key in response) { } : response의 키값들을 하나씩 읽어온다.
jsp 같은 name을 가진 파라미터 리스트 던지기 관리자 페이지의 게시물관리, 가령 특정 게시물 관리에 들어갔을때, 그 게시물에 해당하는 댓글, 혹은 파일목록을 관리해주는 기능이 필요한 경우가 많다. 동일한 네이밍을 해야 할 것 같은데, 여러개를 보내야 할것 같으면 위와 같이 보낸 후 모델에서는 seq라는 배열 필드를 만들어 받아주면 된다.
session vs cookie 차이점 추가 쿠키도 시간을를 설정해주지 않으면(setMaxAge 등..) 브라우저가 종료될때 삭제된다.
requst객체의 parameter, attribute 차이 parameter : 브라우저(사용자) 요청에서 넘어온 값attribute : 개발자가 코딩으로 설정하는 값--> setAttribute 는 있지만 setParameter 는 없다. parameter: 클라이언트가 get, post등 으로 보내는 것attribute: 서버에서 셋
form 태그 안 button 태그 사용시, 페이지 리로드 현상 여러 버튼을 form태그 안에 넣어야 하는 상황이 발생했는데, 해당 버튼의 이벤트가 전부 submit으로 되어있고, 페이지가 자동으로 리로드되어서 애를 먹었다. 해결법은 1. button태그 type에 "button"을 준다. gogo 2. form태그 onsubmit에 "return false"를 준다. gogo