전체 글 (197) 썸네일형 리스트형 Scanner 클래스 * next()와 nextLine()의 차이 next() 하나의 단어, 공백이 없는 문자 혹은 단어 출력 만약, 공백이 포함된다면 그 공백이 입력을 받는 다음 문장에 대한 입력으로 간주되기 때문에 주의가 필요 nextLine() 하나의 문장, 공백이 포함된 문장 package practice; import java.util.Scanner; // Scanner 클래스를 사용하기 위해 추가 public class ex1 { public static void main(String[] args) { // Scanner 클래스의 객체를 생성 // (System.in) -> 화면 입력을 받겠다 Scanner scan = new Scanner(System.in); System.out.print("정수 입력: "); .. maven 프로젝트 / IoC Spring legacy 프로젝트로 들어가기 전에 maven 프로젝트를 통해 하나씩 올려보자. * maven - 빌드를 해주는 도구 - 의존 라이브러리들을 관리해줌 - pom.xml에 있는 것을 읽어서 그것을 토대로 무엇이 필요한지 알아서 준비해주는 도구, 프로그램 스프링 프로젝트할 때, 의존 라이브러리들을 관리해주는 메이븐을 활용해야 pom.xml 태그에 내가 적은 내용을 보고 메이븐이 알아서 셋팅해줌 메이븐 프로젝트로 안하고 일반 자바 프로젝트로 하면 pom.xml 파일이 없기 때문에 내가 jar 파일 하나하나 다 다운받아서 써야됨... 매우 불편하게쬬? 1) pom.xml - 메이븐 설정 파일 - 해당 파일을 통해 이클립스가 아 이게 메이븐 프로젝트구나 라고 알아차림 - 태그로 여러 의존 라이브러리.. 트랜잭션 - 예제 [ xml, 어노테이션 ] 1. root-context.xml에 트랜잭션 환경 설정 1) JDBC 프로그래밍의 dataSource 객체 빈 컨테이너에 생성 - 트랜잭션은 DB와의 소통이기 때문에 DB 객체가 필요 2) Namespaces 에서 aop와 tx를 체크 - tx는 관련 설정할 때, aop는 실제 적용할 때 사용 2. pom.xml에 트랜잭션 환경 설정 - 왜? 실제 적용 시에 aop 사용해야하기 때문 3. root-context.xml에 트랜잭션 적용하기 - datasource / txManager / / 설정 - 컴포넌트 스캔 두 가지도 해주기 (당연하게 해줘야할 것) * 어노테이션을 사용하는 경우 - xml에 datasource / txManager / 설정만 해주면 된다) 4. ITXDAO 인터페이스 / TXMap.. 트랜잭션이란? * 트랜잭션이란? 메서드를 묶어 버리는 것 둘 중에 하나라도 실행이 안되면 둘 다 안되게 하는 것 쿼리문이 한꺼번에 실행되거나, 그렇지 못하다면 그냥 둘 다 실행하지 마!! 둘 다 실행되었다면 처리를 확정 짓고, 처리 안됐으면 롤백으로 처리해줘야 함 게시판에서 사용 가능. 어떤 식으로? -> 게시판 테이블과 댓글 테이블이 있다. 게시판의 1번 글에 대해 댓글 테이블에 댓글이 3개 달렸다고 치자. 근데 1번 게시글을 삭제해버리면, 연결된 댓글 테이블의 댓글 3개는 삭제할 수 있는 방법이 없다 (웹적으로, 디비에서는 가능) 만약, 1번 게시글 삭제가 실패했을 경우, 댓글도 삭제될 수 없다. 즉, 삭제되려면 같이 삭제되고, 삭제가 안되려면 둘 다 안되야한다. 글을 삭제하면 댓글도 삭제된다 (함께 움직임) * .. AOP - 어노테이션을 이용한 예제 1. pom.xml 의존성 설정 2. root-context.xml 환경 설정 3. IHelloService 인터페이스 / HelloService 구현 4. HelloController 작성 5. HelloMain 작성 6. LogAspect 작성 1) Advice 적용 시점 - @Before 2) Advice 적용 시점 - @After MVC2 패턴이란? * MVC1 방식- 비즈니스 로직과 프레젠테이션 로직이 뒤섞여 있음- 고도의 스킬이 필요없고, 코드가 직관적이므로 생산성 측면에서는 효율적- 하지만, 복잡해질수록 개발자와 디자이너가 협업을 하는 데 있어 어려움이 있음 * Model / View / Controller- Model : 비즈니스 로직 중심 (서비스, dao, vo, db템플릿 등)- View : 디자인 중심- Controller : Model과 View를 제어- 세 영역의 결합도를 최소화하자- 재사용성과 가독성이 높아짐 / 유지보수와 확장이 용이 * Model- 실제 업무를 처리하는 비즈니스 로직에 집중- 데이터베이스와 연동하는 비즈니스 로직을 통해 얻어온 데이터를 저장- 웹 브라우저의 요청에 따라 필요한 기능을 처리- 컨트롤러가 요청한 작.. DBCP - VO, DAO, Servlet을 이용한 회원수정 1. MemberUpdateServlet 파일의 doGet() 메서드 작성 2. memberUpdate.jsp 파일 작성 3. memberUpdate.jsp 파일 확인 / member.js 파일 작성 4. MemberDAO 작성 5. MemberUpdateServlet 파일의 doPost() 메서드 작성 DBCP - VO, DAO, Servlet을 이용한 회원가입 1. MemberVO 클래스 작성 * VO(Value Object) - 회원 정보를 저장할 공간 - 회원 정보를 하나로 묶어서 저장 = 가방 안에 다 때려 넣는다 - 자바 빈을 데이터베이스와 접목할 경우 VO라고 함 - DTO(Data Transfer Object) = VO = 자바 빈 - private 속성 / setter(저장) / getter(조회) 메서드로 구성 2. JoinServlet 파일의 doGet() 메서드 작성 - 로직의 시작과 끝을 담당하는 Servlet = Controller와 동일하다고 생각하자 - 주소창에 join.do 라는 입력이 들어오면, 해당 서블릿의 doGet() 메서드를 실행하라 -> 첫 번째 수행이 되는거지! 3. member/join.jsp 파일 작성 4. join... 이전 1 ··· 15 16 17 18 19 20 21 ··· 25 다음