분류 전체보기 45

JAVA 풀스택 45일차 - Server (JSP MVC)

JSP MVC1. 구조View JSP↓logincontroller.jsp↓DAO↓DB↓logincontroller.jsp↓View JSP 또는 result.jsp 구분파일/쿨래스역할Viewindex.jsp, adminmain.jsp, usermain.jsp, userinfo.jsp, userlistall.jsp화면 출력Controllerlogincontroller.jsp요청을 받아 command에 따라 기능 처리ModelMyMemberDao, MyMemberDto, DBDB 처리와 회원 데이터 저장2. command 값으로 기능 구분logincontroller.jsp는 command 값을 보고 어떤 기능을 실행할지 결정한다String command = request.getParameter("comman..

JAVA 풀스택 44일차 - Server (JSP MVC)

JSP 게시판 MVC 기능 구현상세 조회 / 글쓰기 / 등록 / 수정 / 삭제1. command 값으로 기능 구분 Controller가 어떤 기능을 실행할지 결정한다.command=boardlist → 목록 조회command=boarddetail → 상세 조회command=boardinsertform → 글쓰기 화면 이동command=boardinsert → 게시글 등록command=boardupdateform → 수정 화면 이동command=boardupdate → 게시글 수정command=boarddelete → 게시글 삭제 if(command.equals("boarddetail")) { ...} else if(command.equals("b..

JAVA 풀스택 43일차 - Server(JSP CRUD / MVC)

JSP 게시판 CRUD 기능 구현1. JSP 게시판 전체 흐름mylist.jsp ├─ 상세 조회 → selectone.jsp ├─ 글쓰기 → myinsert.jsp → myinsert_res.jsp ├─ 수정 → myupdate.jsp → myupdate_res.jsp └─ 삭제 → mydelete.jsp JSP 파일역할mylist.jsp게시글 목록 출력, 상세/글쓰기 페이지로 이동selectone.jsp게시글 번호를 받아 상세 내용 출력myinsert.jsp글쓰기 입력 form 화면myinsert_res.jsp입력값을 받아 DB에 게시글 등록myupdate.jsp기존 게시글 내용을 수정 form에 출력myupdate_res.jsp수정된 값을 받아 DB UPDATE 실행mydelete.jsp게시글 번호를..

JAVA 풀스택 42일차 - Server(JSP)

JSP(Java Server Pages)HTML 안에 JAVA 코드를 넣어서 동적으로 웹페이지를 만들어주는 기술HTML = 화면 작성Java = 데이터 처리JSP = Java로 처리한 결과를 HTML 화면에 출력 1. HTML 한계HTML은 화면을 만드는 언어이다.게시판안녕하세요위와 같이 사용하면 브라우저에 글자가 나온다.하지만 HTML은 정적인 화면으로 항상 똑같은 내용만 보여준다. 하지만 실제 웹사이트에서는- 새로 작성된 글- 사용자가 검색한 글- 로그인한 사용자의 이름등 웹사이트의 내용이 바뀐다.이런 내용은 HTML만으로는 만들기 어렵다.이런 데이터는 보통 DB에 저장되어 있고 화면에 보여주기 위해서는 JAVA와 같은 프로그램을 통해 데이터를 가져와야 한다.2. JSP 역할HTML 화면을 만들면서,..

JAVA 풀스택 41일차 - Algorithm2 (정렬 / 이진탐색트리)

1. 정렬여러 개의 데이터를 일정한 기준에 따라 순서대로 배치하는 것2. 삽입 정렬배열의 요소를 하나씩 선택한 뒤, 그 요소가 들어갈 알맞은 위치를 찾아 삽입하는 방식2-1 코드 public static void insertionSort(int[] a) { // i = 1부터 시작하는 이유: // 0번째 요소는 앞에 비교할 값이 없으므로 // 일단 정렬된 상태라고 본다. for(int i = 1; i 0 : 배열의 맨 앞을 넘지 않도록 하는 조건 // a[j - 1] > tmp : 앞쪽 값이 tmp보다 크면 뒤로 밀어야 함 for(j = i; j > 0 && a[j - 1] > tmp; j--) { // 앞쪽 값이 tmp보다 크므로 한 칸 뒤로 이동 a[j] = a[j - 1]; } /..

JAVA 풀스택 40일차 - Algorithm (재귀함수 / 이중연결리스트 / 스택,큐)

1. 재귀함수 (Recursion)자기 자신을 다시 호출하는 함수1-1 특징함수 안에서 자기 자신을 다시 실행종료 조건이 반드시 있어야 함1-2 팩토리얼 함수public static int factorial(int no) { return (no==1)? 1: no*factorial(no-1);}- no가 1이면 1 반환 아니면 '현재값 * factorial(no-1)' 반환2. 유클리드 호제법두 수의 최대 공약수를 구하는 알고리즘public static int eculid(int no1, int no2) { if(no2==0) { return no1; }else { return eculid(no2,no1%no2); }}- 큰 수를 작은 수로 나눈 나머지를 이..

JAVA 풀스택 39일차 - JDBC (MVC 패턴)

1. MVC 심화 구조1-1 기존 방식 기능 + 구현코드 (한 클래스에 작성)- 관리 어려움- 수정 어려움public class MemberDao { public List selectAll(Connection con){ // SQL 실행 코드 }}2. Interface - impl 구조MemberDao ← 인터페이스 (기능 정의)MemberDaoImpl ← 실제 구현 클래스 (실제 구현)MemberService ← 인터페이스 (기능 정의)MemberServiceImpl ← 실제 구현 클래스 (실제 구현) 3. Interface기능의 규칙을 미리 정의하는 것public interface MemberDao{public List selectA..

JAVA 풀스택 38일차 - JDBC (MVC 패턴)

JDBC MVC 패턴1. MVC 패턴프로그램을 역할별로 나누어 관리하는 구조이름의미M(Model)데이터 / DB 처리V(View)화면 / 사용자 입력 출력C(Controller)중간 연결 역할2. MVC 패턴 구조View ↓Controller ↓Service ↓DAO ↓DB클래스역할Run프로그램 시작View사용자 입력 / 출력ControllerView와 Service 연결Service비즈니스 로직 / commit / rollback 처리DAO실제 SQL 실행VO(Product)데이터 저장 객체JDBCTemplate공통 JDBC 기능 관리3. Run 클래스 프로그램의 시작 클래스public class Run { public static void main(String[] args) { ne..

JAVA 풀스택 37일차 - JDBC2

1. JDBCTemplateJDBC에서 반복되는 코드를 따로 모아두는 클래스 (반복되는 코드를 따로 빼기)기존 JDBC는 Class.forName(...)DriverManager.getConnection(...)con.close()위 코드들을 항상 적어야 하기 때문에 코드가 길어지기에 이를 해결하기 위한 클래스1-1 JDBCTemplate 안에 포함되는 기능기능역할getConnection()DB 연결close()연결 종료2. getConnection()Oracle DB 연결 생성 메소드public static Connection getConnection()- 드라이버 등록- DB 연결- Auto Commit 설정2-1 getConnection() 전체 코드public class JDBCTemplate {..

JAVA 풀스택 36일차 - Oracle DB 6 / JDBC

Oracle DB1. INDEX (인덱스)데이터를 더 빨리 찾기 위한 기- 검색 속도 향상용 기능1-1 장점- 검색 속도 향상- SELECT 성능 개선1-2 단점- 데이터를 수정할 때마다 다시 계산해야 함- 저장 공간 추가 사용 1-3 인덱스 정보 조회SELECT *FROM USER_IND_COLUMNS;2. 고유 인덱스 (UNIQUE INDEX)중복 없는 값CREATE UNIQUE INDEX IDX_EMP_NOON EMPLOYEE(EMP_NO);- 중복값 허용 안함- PRIMARY KEY / UNIQUE 생성 시 오라클이 자동 생성하기도 함3. 일반 INDEX자주 조회하는 컬럼 기준 인덱스CREATE INDEX IDX_DEPT_CODEON EMPLOYEE(DEPT_CODE);4. INDEX 삭제DRO..