본문 바로가기

프로그래밍141

[Spring] 다운 및 실행 http://spring.io/ 접속하여 맨 아래에 보면 tools 클릭 현재 OS에 맞게 다운로드를 한다 설치된 파일을 압축을 해제한 후sts-bundle -> sts-3.3.RELEASE 폴더에서 STS.exe 실행 짜잔 자신의 컴퓨터 bit와 맞지 않는 버전을 다운 받으면 오류가 떠요 새로 64bit로 받았습니당. spring에 대해서 더 관심이 간다면PROJECT에서 SPRING FRAMEWORK 클릭 스프링의 API를 볼 수 있다.. 영어로된 검색해서 찾을 수 없는 것을 찾고자 할때 참고 하자 2016. 12. 30.
[Lesson06] properties를 이용한 객체관리 설명 2 applicateion-context.properties 12345678910#1. for ApplicationContext.jndi.dataSource=java:comp/env/jdbc/studydbmemberDao=spms.dao.MySqlMemberDao/auth/login.do=spms.controls.LogInController/auth/logout.do=spms.controls.LogOutController/member/list.do=spms.controls.MemberListController/member/add.do=spms.controls.MemberAddController/member/update.do=spms.controls.MemberUpdateController/member/del.. 2016. 12. 30.
[Lesson06] properties를 이용 객체 관리 설명 1 어제까지는 MVC에 대한 구동원리를 배웠고더이상 컨트롤러를 손대지않아도 된다하지만 이제는 리스너를 손대야 한다 톰캣은 서블릿 객체를 관리하지 일반 객체를 관리하지는 않는다일반 객체를 관리하는 클래스 역할을 하는게 Spring 프레임 워크이다.mvc는 서블릿 프레임워크di는 객체관리를 편하게 해주는 프레임워크 A라는 클래스가 추가 될때 마다 리스너에 등록을 해줘야하는데리스너는 서블릿인데 서블릿은 객체를 관리역할을 하는 것이 아니다그러므로 리스너는 객체와 관련된 부분을 관여하지 않고setter를 찾아 주입을 시켜줄 것이다 결론적으로는 객체를 관리하는 메인을Dispatcher 서블릿이 리스너를 통해 가져왔다면이제는 application-context를 통해 가져오게 할 것이다. 1) MVC 프레임워크 컨트롤러.. 2016. 12. 30.
[Lesson06] 리플랙션 API를 이용 1) MVC 프레임워크 컨트롤러 자동화2) DI 객체 관리 자동화3) 에노테이션을 이용한 자동화 리플렉션을 사용 하려면 인터페이스도 써야하고 여러가지가 필요하다.controller가 '나는 응답하는게 있다' 라고 하면 필요로 하는 객체가 달라진다.어떻게 이 필요로 하는 것을 알까? 표시를 해야한다. ex) implements Controller, A Controller의 자식이자 A의 자식이다. A타입이면 무엇을 필요로 하는지 말해줘야한다. DataBinding.java인터페이스 구현 Object배열로 데이터의 이름과 타입정보를 담는다. MemberAddController.javaDataBinding 인터페이스를 선언 getDataBinders();메소드 구현return을 할때 new Member[1];.. 2016. 12. 29.
[Lesson06] 의존성 낮추기 서블릿을 하나에 모아 놓고 서블릿일 필요가 없는 것을 분리 분리된 컨트롤러를 호출 매번 호출 하게 되니 매번 호출 하지 않도록 코드 간략화 DispatcherServlet.java(수정 전)모든 컨트롤러들이 DAO를 필요로 할까? 아니다. 임의적으로 모든 컨트롤러가 주입받게 했고(강제성), 컨트롤러에 따라서 DAO 종류가 다를 수도 있다.컨트롤러가 만들어져야 디스패쳐 서블릿을 만들 수 있다(의존성 높음) 이에 sc에서 DAO를 가져왔지만 이제 sc에서 컨트롤을 가져오면 DAO를 가져올 필요가 없고new 연산자가 사라지게 된다. MemberListController.java MemberDao가 필요하기 때문에 setMemberDao 메소드를 선언하여 주입을 위한 준비 MemberAddController.j.. 2016. 12. 29.
팀원 구성 ! 황모씨 임모씨 김모씨 그리고 나 지금까지 같이 자바 웹 앱 프로그램 개발을 배워왔지만사실 아직도 서로에 잘 모르는 사이앞으로 3개월이란 시간을 함께할 팀원이 생겼다. 다들 이제 입문 이지만 경력자 같은 신입 개발자를 향해즐겁게 "잘" 해서 좋은 결과를 얻었으면 좋겠다. 미지의 세계로 출발 ! 2016. 12. 26.
[jQuery] 유효성 검사하기 jquery를 이용한 유효성 검사 예제 css를 이용해 안에 class가 myNotice인 것을 화면에 보여지지 않게 함.라디오는 중복 선택이 안되기 때문에 하나의 값만 체크하도록체크박스는 여러개일 수 있기 때문에 임의적으로 length를 사용해 체크myNotice를 함수로 선언 아무것도 적지 않았을 경우 순서대로 이름, 나이, 1개 선택, 2개 이상 선택 하라는 alert 2016. 12. 23.
controller 분리과정, 리스너, 커넥션 풀 new 라는 연산자를 사용하게 되면 클래스간의 의존성이 커져 사용을 자제하자! HTTP Lifecycle 리스너는 주로 count할때 쓰기 좋다 (세션) connectionPool예를 들면 DB 커넥션이 1초 걸린다. 매번 커넥션을 하려고 하면 url, username, password 를 확인하는데 10초가 걸린다.간단한건 괜찮은데 수천개를 만들게되면 확인하는 시간이 많이 소모가된다!!!!!!!그래서 미리 확인을 받아놓자 !! 요게 커넥션 풀 controller 를 세세하게 분리합시다 나중에 고칠 필요 없이 하지만 문제는 if 분기문은 자꾸 써야한다 해결하려면 에노테이션을 사용하면된다는데 ... 나중에 수업 ㅠㅠ 2016. 12. 21.
[Lesson05] 리스너 외부 라이브러리에 의존하는 것은 좋지 않아 DB와 관련되어있는 것들을 빼려한다.생명주기 리스너를 만들어서 톰캣이 실행 될때 종료 될때 Connection 연결과 종료를 하는것 이다. MemberListServlet.java(변경 전) ContextLoaderListener.java톰캣이 실행 될때(이벤트발생) ServletContext에 있는 정보를 가져와드라이버 로딩 및 연결을 하라는 메소드 작성,톰캣이 종료 될때(이벤트발생) Connection을 종료하라는 메소드 작성 web.xmlDB연결과 종료 역할을 하던 AppInitServlet 의 역할을 ContextLorderListener 가 하기 때문에AppInitServlet 의 삭제 및 매핑 설정도 같이 삭제 Listener 설정context-par.. 2016. 12. 21.