2014/07 166

JSP. error 에러 예외 처리

/* * http://sosal.kr/ * made by so_Sal */ JSP 페이지에서 예외 처리하는방법 1. 예외 발생시 에러를 처리할 페이지를 지정하여, 그 페이지로 이동하게 한다. (page 지시어) 2. 페이지 내에서 Try / Catch 구문을 이용하여 에러를 처리한다. 1. Page 지시어를 이용한 예외처리 /* * page명령어로 오류가 발생하였을 때 이동할 페이지를 설정한다. * 1-1에서 오류를 발생시킨다. */ ====================== 예제 1-1 ====================== ====================== 예제 1-1 ====================== ====================== 예제 1-2 =================..

Web programing/JSP 2014.07.24

JSP 객체 (속성 + 메소드)

/* * http://sosal.kr/ * made by so_Sal */ 1. 객체 선언과 생성 2. 내장객체 2-1. Request 객체 2-2. Response 객체 자바는 객체지향 언어로, 대부분이 class로 이루어져있고, 이를 이용하여 프로그래밍 한다. class 객체들은 속성과 메소드로 구성되어있다. 속성(Property) : 자바스크립트 변수나 다른 객체들을 의미 메소드(Method) : 객체에서 사용되어지는 함수를 의미. 1. 객체 선언과 생성 데이터를 연산, 처리를 위해서는 각각의 객체마다 자료형(데이터 타입)이 있어야 하고, 이를 사용하기 위해 반드시 변수를 선언해야 한다. int a; // a 라는 이름으로 선언과 동시에 메모리 확보 String b; // b 라는 String Cl..

Web programing/JSP 2014.07.24

JSP 지시자 (Directive)

/* * http://sosal.kr/ * made by so_Sal */ 지시자 는 JSP 페이지 전체의 속성을 어떻게 처리할것인가? 를 지정하는 역할을 한다. 페이지 속성, 문자(언어), 버퍼 등을 설정하는 PAGE 지시자와, 다른 문서를 포함하는 include 지시자가 있다. 1. Page 지시자 현재 웹 페이지 전체에 기본적인 속성을 적용시키도록 한다. Page 지시자로 설정할 수 있는 값들이 다양하다. 1.1 contentType 속성 JSP에서 사용할 문자를 설정한다. euc-kr로 설정해주어야 한글이 나온다. 1.2 Language 속성 페이지 안에 들어갈 스크립트 언어를 지정한다. 스크립트에서 사용되는 언어는 모두 지정해줘야 하지만, JSP에서는 java를 자동으로 지정한다. 1.3 imp..

Web programing/JSP 2014.07.24

JSP 기본문법 / 식별태그, 및 주석

/* * http://sosal.kr/ * made by so_Sal */ JSP 식별태그 JSP 언어는 HTML 문서 안에 포함되어 있다. (사실 클라이언트가 보는 JSP 페이지는 HTML이다.) 서버에서 JSP 언어를 실행해낸 다음, 그 결과를 클라이언트 언어로 소화해내어 (HTML, Javascript 등) 클라이언트에게 보낸다. 따라서, 서버가 클라이언트에게 보내주기 위해 처리해야할 구문, 문단을 지정해줘야 한다. 방법 : or 주석문 일반 HTML에서 주석문은 클라이언트가 "소스보기"를 하였을 시에, 모두 보여주게 된다. 간단한 주석문임에도 불구하고, 이것이 클라이언트에게 노출될 시, 보안 상 문제가 될 수 있다. 그 외에도, 실제 JSP소스와, (또는 여러가지 웹프문법) 클라이언트가 보는 소스..

Web programing/JSP 2014.07.24

Windows :: IPC MailSlot을 이용한 프로세스간 통신

/* * http://sosal.kr/ * made by so_Sal */ 프로세스간 통신? :: 독립된 두 A, B 프로세스가 서로 데이타를 주고 받는것, or 메모리 공유 보통 하나의 프로그램이 하나의 프로세스라고 생각하시는 분이 많으신데, 하나의 프로그램이 여러개의 프로세스를 생성하는 경우도 많습니다. (특히 서버측 프로그램이 다중 프로세스로 구현되는 경우가 많습니다.) 다중 프로세스 프로그램의 경우, 각각의 프로세스가 서로 데이타를 주고받는 경우가 십중팔구입니다. 흔히 A라는 프로세스가 B에게 하나씩 데이타를 send 해주고, B 프로세스는 A가 보내는 정보를 recieve 한다고 생각합니다. 하지만 프로세스간 통신은 메모리 공유한다는것이라는 엉뚱한 결론이 도출됩니다. 곧 프로세스간 통신은 메모리..

WinAPI / IPC 메일슬롯 단방향 통신 예제

/* * http://sosal.kr/ * made by so_Sal */ Windows 08. IPC 프로세스간 통신 예제소스 입니다. 잘 이해가 안되는 부분이 있다면 아래 링크를 참조하세요. LINK_ ======================= Receiver ======================= #include #include #include#define SLOT_NAME _T("\\\\.\\mailslot\\Mail")int _tmain(int argc,TCHAR *argv[]){ HANDLE hMailSlot; TCHAR messageBox[BUFSIZ]; DWORD bytesRead; hMailSlot = CreateMailslot( //우체통 생성!! SLOT_NAME, 0, MAILS..

Windows :: 프로세스 정보 추출하기

/* * http://sosal.kr/ * made by so_Sal */ 이번장에서는 프로세스들의 정보를 순간적으로 가져오는 Snapshot과 정보를 추출, 그 정보를 얻어오는 법을 이 포스트에서 보려고 합니다. 그리고 프로세스 정보를 통해서 어떤일을 할 수 있을까?? 프로세스 정보(프로세스 이름 , PID, PPID , ThreadID 등등..)을 통해 프로세스 핸들값을 도출해낼 수 있습니다. 차근차근 위의 일을 수행하는 함수를 보려고 합니다. 다음 헤더파일은 아래 함수들을 포함. #include 프로세스들의 정보를 가져오기 위해서 스냅(사진찍기)를 해야한다. 단, 사진 찍는 순간의 프로세스 정보를 가져오기 때문에 100% 신뢰할 수 없는 정보이다. (스냅샷 찍는 함수) HANDLE CreateToo..

프로세스 리스트 출력, 강제 종료 소스

/* * http://sosal.kr/ * made by so_Sal */ /* * 아래 프로그램 예제 소스에서 쓰이는 함수들은 * LINK_ 에 모두 정리되어 있습니다. * Process Name을 사용자로부터 입력받아 * 프로세스를 강제-종료하는 프로그램입니다. * / #include #include #include #include #include #include #includevoid ListProcessInfo(void); void KillProcess(TCHAR* TargetProcess);int _tmain(int argc, TCHAR* argv[]){ TCHAR TargetProcess[BUFSIZ]; //종료를 원하는 프로세스의 이름을 입력받을 버퍼 while(1){ ListProcessI..

Windows :: CreateProcess, STARTUPINFO

/* * http://sosal.kr/ * made by so_Sal */ 윈도우는 다중 태스킹 운영체제입니다. 한 시점에서 여러 개의 프로그램들이 실행되는데, 각 실행중인 프로그램은 하나의 프로세스가 되고, 하나의 프로그램이 여러개의 프로세스를 생성할 수 있습니다. 따라서 여러 사용자들이 하나의 프로그램을 실행시켜 프로세스를 생성할 수 있고, 하나의 프로세스가 또다른 프로세스를 생성할 수 있습니다. 시스템 자체도 시스템 자원을 관리하고 사용자 접근을 제어하기 위해 여러 개의 프로그램들을 실행 합니다. 프로세스 :: 시스템 자원들을 포함하는 하나의 주소공간 프로세스는 프로그램 코드, 자료, 변수들, 열린 파일들, 그리고 환경으로 구성됩니다. 하드 메모리에 저장되어 있는 프로그램을 시스템 메모리에 끌어와 ..

CreateProcess 함수 예제 소스코드

/* * http://sosal.kr/ * made by so_Sal */ CreateProcess 라는 함수를 이용하여 Notepad를 실행시키는 간단한 소스입니다. 이해가 가지 않는 부분이 있다면 아래 링크를 참조하세요.LINK_ ====================== CreateProcess ====================== #include #include #include #define DIR_LEN BUFSIZ //BUFSIZ는 운영체제마다 다른 크기를 가지고 있습니다. //한번 크기를 출력해보시는것도 좋겠네요.int _tmain(int argc, TCHAR* argv[]){ STARTUPINFO si = {0,}; //구조체 선언, 초기화 PROCESS_INFORMATION pi; si..