목록전체 글 (49)
Today I Learned
web.xml 에 설정 추가(한글깨짐 방지 코드 밑에) 500 /error/500 404 /error/404 java.io.IOException /error/IOException 2. Controller에 해당 요청에 대한 메서드 추가 @RequestMapping(value = "/error/404") public String notFound(Model model) { model.addAttribute("msg", "원하시는 요청 또는 페이지가 없습니다."); return "error"; } @RequestMapping(value = "/error/500") public String serverError(Model model) { model.addAttribute("msg", "서버에서 처리중 문제가 발..

Ajax Asynchronous JavaScript And Xml : 비동기로 통신 하는 JavaScript(json) 와 xml 이라는 뜻 *동기화와 비동기화 방식의 차이점 * *동기화 요청한 일이 끝날 때 까지 다른 일을 하지 못한다. 이전까지 한 내용 다 동기화 방식 / Form 방식을 통해서 값을 입력하고 실행하면 값이 사라짐 *비동기화 요청 해 놓고 다른일을 자유롭게 할 수 있다. (이거하면서 다른것도 할 수 있음) 중간에 누가 존재 너는 할일해 기다리는건 내가할게 : xmlhttprequest 객체필요 Form 을 사용하지 않음 값을 입력하고 실행을 해도 입력한 값이 남아있음 (아이디 중복체크할 때 씀 ) 필요한 라이브러리 pom.xml 잭슨 라이브러리 의 역할 : 자바코드를 자바스크립트로 바..

파일 업로드다운로드를 위한 설정 1,2,3 1. 파일 업로드,다운로드에 필요한 라이브러리 추가 - pom.xml 라이브러리 다운만 받으며 알아서 해줌 ioc제어역행 관련 commons-io commons-io 2.6 commons-fileupload commons-fileupload 1.3.3 Multipartfile 라이브러리 필요한 이유 : 파일인 바이너리 데이터랑 텍스트랑 구분이 필요하다 enctype="multipart/form-data" 를 쓰기위해서인듯 2 . 라이브러리 관련 설정 - root-context.xml - Bean 에 클래스 등록해두면, 스프링이 필요하다 판단될 때 가져다 씀 : 의존성주입 root-context.xml : 서버가 켜지면 읽게되는 설정 파일(web.xml 에 경로가..

게시판이 중요한 이유!! : 웹서비스의 기본이다 (카카오도 게시판 기능) 게시판 만드는 순서 1.리스트 보기 (번호,제목,작성자,조회수,작성일) 2.글쓰기 - 제목,작성자,내용 / 글쓰기,리스트 버튼 3.삭제 - 삭제에 성공했다는 alert띄우기 4.글제목누르면 글상세보기 - 글번호,조회수,제목,작성자,내용 / 리스트,수정 버튼 + 조회수 올리기 5.상세보기에서 수정하기 - 제목,작성자,내용 / 수정,리스트 버튼 - 데이터베이스컬럼명, 파라메터 이름 ,dto의 값 다 동일하게 해야 편함 - 항상 logger로 파라메터 값이 잘들어오는지 controller에서 확인하고 service에 맡기기 - 흐름 제대로 파악하기! DB - 테이블 default 지정 Idx 게시글 번호 - pk bHit 데이터 defa..

@RequestParam : 파라메터 한 두개만 가져와야 할 때 request 로 파라메터 뽑기 귀찮잖아 주의할 점) 변수타입과 변수명이 같아야함 안그럼 안나와요! - 파라메터 두개 이상은 Request로 하기! 두개이상하면 코드가 간결하지 않고 길어져서 지저분해요 id는 pk 니까 readonly를 추가하여 고칠 수 없게 한다. 쇼핑몰 포인트 등 화면에 보여주는건 수정될 수 있다는 점을 명심하고 조심하기! 자바스크립트,html 에서 표현되는건 변조될수있는거 체크! ㄴ이런부분은 서버에서 계산 체크를 해야된대요 어떤걸 콕찝어서 수정해야 하는, 즉 pk가 걸린 데이터는 수정되면 안됨! -Detail 상세보기- 1.상세보기 클릭하면 id라는 파라메터 값을 받지 2. /detail에서 그 아이디의 모든 정보를 ..
스프링 스프링은 라이브러리를 가지고있어서 파일은 따로 안넣어줌 규모가 작으면 controller 와 view로만 하는것도 가능하긴 함 스프링 프로젝트 이름이나 패키지 이름 수정하려하지말고 그냥 삭제하고 다시 만들기(클래스는 괜찮다) 패키지명 바꾸면 어노테이션 안먹힘 (servlet-context.xml 에서 설정 다시해줘야한다) Pom.xml 16번째줄 jstl 다운받아져있음 그래서 파일 갖다놓지않는거임 (dependency : 라이브러리) 모델 (Model) - Controller 는 받은 일을 직접 처리 하거나 다른 Model에 전달 한다. - Model 은 Controller 부터 요청 받은 일을 처리하고 통지 한다. - 이때 DB 에 access 할 일이 생길 경우 우리는 DB 처리 만을 위한 c..

DB와 연결하기 위해선? 1. 필요한 라이브러리 추가 2. DB관련 설정 추가 3. 인터페이스,xml 필요 페이지 간 이동 : spring 에서는 페이지 이동조차 컨트롤러에 요청을 해야 한다. 스프링은 뷰에서 뷰로 이동하는걸 못한다.(jsp에서는 됐었지) 모든 제어권을 스프링이 가져감 (제어역행!!) 그래서 controller한테 맏겨야 된다. select문 resultType select 문은 결과값이 존재하므로 resultType을 지정 해 준다. db에서 id 데이터타입이 varchar 즉 자바에선 문자열 resultType: 내가 가져오는 타입이 이거다 resultType은 하나만 적을 수 있다 Session 로그인을 할 때는 반드시 세션 처리가 있어야함 (왜 세션에 저장하는지는 세션과 쿠키 배울..
스프링 프로젝트 만들기 1.프로젝트 만들기 - 패키지 2.자바버전 바꾸기 3.한글깨짐방지 4.필요한 라이브러리 넣기 5.패키지 만들어줌 6.db설정 7.로직 ———————————————————————— (04_Mvc1 기준) 1.레거시프로젝트 - 패키지 com.spring.main 실행(서버키고 끄고 잘하기 ) 2.자바버전 바꾸기 1. 프로젝트우클릭 - properties - project facets - 1.8 2. pom.xml 3. web.xml. 한글깨짐 방지 (src - ) encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 실행 ..

디자인 패턴이란? : 프로그램의 뼈대 - 설계 문제에 대한 해답을 문서화 하기 위해 고안된 방법 - 소프트웨어 개발 과정에서 자주 나타나는 과제를 해결하기 위한 방법 - 패턴은 특정한 상황에서 구조적인 문제를 해결하는 방식을 설명해 준다. 패턴 사용시 주의 사항 - 디자인 패턴은 일반적으로 대규모 프로그램 개발에 적합 - 작은 사이트 만들 때 쓰면 비효율적,낭비 - 각 디자인 패턴이 유용한 상황에 대해 잘 알아야 한다. - 패턴은 절대적이지 않다.(상황에 맞게 유연하게 변형이 가능 하다.) *주의할 점* - 틀에 갇힌 사고방식은 효율성이 낮은 프로그램을 생산한다. - 패턴을 그대로 사용하는 느낌보다는 차용한다는 생각으로 - 배운대로 그대로 쓰면 안맞을 수 있음. 유연하게 고쳐쓰기 mvc패턴 : Model..

+자바스크립트도 사용 가능 자바스크립트의 변수에 값 할당시 double qoute(“”)로 감싸줘야함 : 이유는 쿼터로 감싸져 있지 않으면 에러가 발생하는데 문자열로 인식하지 못하고, 변수나 숫자나 boolean 등 다른 걸로 인식 (java,java script 등의 언어에 모두 해당) 소스 확인 가능해서 보안상의 문제로 잘 사용하지 않음 - h는 자바 변수니까 자바출력문 써주기 - 쿼터로 감싸주기 : 문자열로 인식하도록 - join메서드 : 배열에서 하나하나 꺼내옴, ','로 구분하겠다. 페이지 출력을 하는 방법 1.response(내장객체) : 응답전용 객체 - 요청에 대해 응답 페이지를 전달해주는 객체 - 특정 페이지로 이동하는 것도 가능 - 페이지를 만드는(write) 객체 - 페이지 출력(그리..