본문 바로가기

분류 전체보기

(158)
020 - 서블릿 필터 수문장같은 역할. (인증과 권한 같은 걸 할 때 사용 가능) 모든 서블릿이 갖고 있는 기본적인 설정을 여기서 한 번만 설정하면 어차피 거쳐가기에 여기(서블릿 필터)서 설정한 것이 다 (서블릿에) 영향을 줄 수 있음. 서블릿보다 먼저 실행되기도 하지만, 실행된 결과를 반환하는 과정에서도 실행될 수 있음. 코드를 입력한 후 실행하면 localhost:8080/notice-reg 창에선 아무것도 뜨는 게 없고, 해당 사이트를 새로고침하면 프로그램 콘솔창에서 "hello filter" 가 뜨는 걸 볼 수 있음. 왜 필터는 출력이 되는데 NoticeReg는 실행되지 않는 걸까. 필터가 실행된 후 이 요청을 서블릿 실행하는 쪽으로 전이를 할까말까는 FilterChain 에서 결정. chain.doFilter(req..
웹서버(NGINX, APACHE) NGINX 1. Event Driven 방식 (프로그램의 흐름이 이벤트에 의해 결정) : 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른요청을 처리하는 방식 모든 IO들을 전부 Event Listener로 미루기 때문에, 흐름이 끊기지 않고 응답이 빠르게 진행이 되어 1개의 프로세스로 더 빠른 작업이 가능. => 메모리적인 측면에서 Nginx가 System Resource를 적게 처리 APACHE 1. 스레드 / 프로세스 기반 구조 클라이언트 요청 하나당 스레드 하나가 처리하는 구조. 사용자가 많을 시(=요청이 많을 시), 스레드 생성, 메모리/CPU 낭비가 심하여 성능이 저하될 수 있다. 2. MPM (Multi Processing Module : 다중처리모듈) 방식 처리 1) Prefork M..
200518 - 게시판 만들기 구현한 것 1. 기본 게시판 명령어 리스트 게시물 추가 게시물 리스트 게시물 상세 게시판 종료 2. 추가 요구사항 게시물 삭제 게시물 수정 게시물 조회수 기록 게시물 추천 회원가입 로그인/로그아웃 로그인 한 회원만 글 작성 삭제와 수정은 작성자 본인만 가능하도록 게시물 페이징 3. 심화 요구사항 프로그램이 시작하자마자, 게시판 2개가 이미 존재 (free, notice) 초기에는 자유게시판이 선택 각각의 게시판에는 이미 글 1개씩 존재(게시판 이용수칙) 게시판의 리스팅 시 한 페이지에 글이 최대 10개 (10개 초과시 페이징 처리) 리스팅 시, 최신 게시물일수록 먼저 나와야 함. 회원가입을 해야 게시물 작성, 댓글 작성 가능 (>로그인 상태여야 노출되도록 변경하여 적용) 글 삭제, 수정은 권한있는 사람만..
019 - 한글 입력 문제 한글이 전달되는 것을 서버에서 받지 못하는 문제 1. 서버쪽에서 문서를 만들면서 한글이 깨진 것인지 2. 전달한 내용에서 한글이 깨져서 전달된 것인지 1은 지난번에 해결했으니 아마 문제가 발생한 것은 2의 경우라 판단. 멀티 바이트 문자 전송문제 : 사용자로부터 값 입력 받아서 전송하기 UTF-8은 기본적으로 멀티 바이트 문자. 영문자는 문자 1개당 1바이트. 한글은 문자 1개당 2바이트. 톰캣은 Encoding된 문자를 UTF-8로 인식하는 것이 아닌, ISO-8859-1의 인코딩 방식으로 인식함. 즉, 읽어들이는 과정에서 UTF-8로 읽으라고 요청을 해야 함. 방법1 서버 설정에 손댈 수 없는 경우 Servlet => request.setCharacterEncoding("UTF-8"); //입력도구에..
Dynamic Web Project sts 에서 Dynamic Web Project 참고 : https://victorydntmd.tistory.com/159
C언어 - strcpy strcpy 문자열 복사 #include (이용시 string 헤더 필요) 형태 : strcpy(복사한 문자열을 넣을 문자열, 복사할 문자열);
C언어 - 문자열 변수와 문자열 상수 문자열을 표현하는 방법에는 2가지가 존재. char str1[5] = "abcd"; //문자열 변수 char *str2 = "ABCD"; //문자열 상수 문자열 변수 대입 연산자 왼쪽 : char형 배열 (이름: str1) 따라서 str1이 저장하고 있는 문자열은 변수 str1 : 문자열 전체를 저장 변경 가능 문자열 상수 대입 연산자 왼쪽 : char형 포인터 이는 포인터 str2를 이용하여 문자열 상수 "ABCD"를 가리키겠다는 의미. str2는 문자열의 첫 문자 'A'를 가리킴. str2 : 메모리에 저장되어 있는 문자열 상수 "ABCD"를 단순히 가리킴. 변경 불가
018 - 입력할 내용이 많은 경우는 POST 요청 요청과 제출, 두 단계로 나누어서 일을 처리하려고 할 때의 두 가지 요청 문제점1 URL 길이에 제한이 있기에, 작성한 내용을 전부 URL에 붙인다는 것은 문제임. 문제점2 장문의 내용을 쿼리스트링으로 보내는 것은 바람직하지 않음. 해결 방법 method="post"