본문 바로가기

전체 글

(158)
012 - 어노테이션을 이용한 URL 매핑 Annotation : 클래스나 메소드에 붙여지는 주석. 컴파일러에 의해 사라지지 않음. metadata-complete="false" 모든 metadate(즉, 설정)이 web.xml에 있다는 의미. false > 여기 외에도 어노테이션을 이용해 설정한 것이 있으니 그것도 찾아봐라 라는 의미. web.xml을 이용하여 매핑하는 것보다 Annotation을 이용하여 매핑하는 것이 더 선호되는 이유 : 각자 분업화 된 내용들을 각자 처리할 수 있기에 훨씬 깔끔하게 협업이 가능함. 협업이 필요한 프로젝트에서 web.xml으로 매핑할 경우, 수정해야 하는 부분이 많아지고 좋지 않음.
011 - 이클립스를 이용한 서블릿 프로그래밍 http://localhost:8080/JSPPrj/index.html project를 개발할 때 root에 해당하는 프로젝트는 context 이름을 갖는 게 좋지 않음. 프로젝트명을 context로 쓰지 않기 위하여 프로젝트명 오른쪽 클릭 -> Properties -> Web Project Settings 에서 Context root 가 JSPPrj로 되어있는데 이를 / 로 변경. Servers에서 JSPPrj 삭제한 후 재실행 http://localhost:8080/index.html
010 - 웹 개발을 위한 이클립스 IDE 준비하기 프로젝트 관리 + 코드 편집 도구 : 코드 수정의 편리함 Ctrl + F11 : 코드수정 -> 컴파일 -> 배포 -> 톰캣 서버 재시작 -> 브라우저로 요청 eclipse EE workspace 변경시킬 때는 File -> Switch Workspace 로 변경 가능. 웹 개발 할 때 서블릿 코드를 바로 만드는 방식이 아니라 이 도구가 컴파일, 문서 관리, 실행을 해줄 것. 어떠한 통합 개발 환경도 통합 개발 환경을 쓰기 위한 환경이 필요한데 이것이 곧 프로젝트 파일. 이번 시간은 IDE를 준비하는 것까지.
200507 - 게시판 만들기 (수정 200508) 추가된 것 -회원가입할 때 중복된 ID인지 체크 -게시물 고유 번호. (한번 만들어졌던 번호는 게시글 삭제 후에도 다시 생기지 않음.) -리스트 페이징(?) 해야 하는 것 -댓글기능 개선할 것 -추천 (ID당 한 게시글에서 추천 한 번만 가능하도록) -예외 처리. 1. list 1차 완료(문자가 들어올 경우). 2차 시작(범위 외 숫자가 들어올 경우) 2. start 함수 내에서 사용할 때 코드를 최대한 줄여서 사용할 수 있는지 , 혹은 해당 커맨드 함수 내로 들어가야 하는게 나을지 생각중 -코드 줄이기 1. 줄일 수 있는 변수 찾기 2. break 대신 printList 함수 내에서 return을 쓰면 안되는지...? -배열을 미리 정해두지 않고 할 수 있도록.
009 - 서블릿(Servlet) 문자열 출력 기존 자바 프로그램과 서블릿 프로그램에서 달라지는 부분 자바 | 웹 | 프로그래밍 웹 : 담당하는 것 = 결국 UI(콘솔UI, 윈도우UI 등). 입력과 출력을 담당하는 부분이 웹으로 바뀌는 것이고, 웹이라고 하는 것은 서버에서 클라이언트로 저 멀리 있는 원격에 있는 곳에 출력 결과를 보여주는 것, 또는 클라이언트(원격)로부터 입력을 받는 방법을 다룸. 그렇기에 기존과 입력과 출력 내용이 다르다는 것 유의. service라는 함수로 2개의 인자를 전달함(request / response) printstream으로 매핑. -Nana.java 파일 수정 OutputStream os = response.getOutputStream(); PrintStream out = new PrintStream(os, true..
200507 - 게시판 만들기 완료된 기능 목록 게시판 기본 기능 게시물 삭제 게시물 수정 게시물 조회수 기록 게시물 추천 회원가입 로그인/로그아웃 로그인 한 회원만 글 작성 삭제는 작성자 본인만 가능하도록 더 구현해야 하는 것 수정은 작성자 본인만 가능하도록 게시물 페이징 이 문제를 풀면서 부족한 부분 편리한 구조 이해를 짤 수 있는 논리력. 처음에 board 클래스 없이 article 클래스만으로 풀려 했기에, 코드가 지저분하여, 주가 되는 코드를 확인하는 것에 어려움이 있었다. 글과 유저 수를 각각 100과 10으로 미리 정해놨는데 미리 정하지 않고 무한히 넣을 수 있는 방법으로 풀려 했으나, 실행이 잘 되지 않았다. 코드가 길어지면서 비슷한 기능을 구현하며 비슷한 이름의 변수들이 많아져서 계속 다시 선언했던 위치를 확인하는 과..
200507 - 게시판 만들기(코드) import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Board board = new Board(); board.setScanner(sc); board.start(); sc.close(); } } class Board { Scanner sc; Article[] articles; User[] user; int signUpRecord; int articlesLastIndex; int nowLogIn; boolean stateLogIn..
200506 - 게시물 삭제, 수정 추가 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Board board = new Board(); board.setScanner(sc); board.start(); sc.close(); } } class Board { Scanner sc; Article[] articles; int articlesLastIndex; Board() { articlesLastIndex = -1; // 아무것도 입력되지 않은 상태 articles =..