목록전체 글 (80)
스터디 용 블로그
파일업로드를 하려면 기본적인 POST방식으로는 안되고 파일업로드를 처리할 수 있는 무언가(?) 있어야 한다. 일단 jsp에서 파일 업로드를 선택하는 form에서 entype이 multipart/form-data로 보내야 한다. 그렇지 않으면 받는쪽에서 파일을 받을 수가 없다. 파일이 없으면 보통의 form은 entype을 바꾸어 주지 않아도 된다. ?123 이제 받아야 하는데 이걸 받는 역할을 cos.jar가 한다. 폼전송을 multipart/form-data로 보냈기 때문에 기존에 폼을 받던 request.getParameter()로는 받을 수가 없다. 그래서 cos.jar가 파일도 받고 폼의 다른 값들도 다 받아주는 역할을 한다. cos는 com.oreilly.servlet의 약자이다. 보면 알겠지만..
# 이전 글에 이은 설정 페이지 소개 이전 글에서는 듀얼 모니터 태스크바의 설치 방법을 알아보았고, 이번 글에서는 중요한 설정 페이지에 대해 알아보겠습니다. - 이전 글 링크 [링크] 까만거북이의 달리는 이야기 [Win] 듀얼모니터에서 작업표시줄(시작) 양쪽 모두에서 사용하기 (무료, Windows7) - (1) 설치편 # 확장된 작업표시줄에서 마우스 오른쪽 버튼 클릭 프로그램을 실행하면, 확장 모니터에 연장된 작업표시줄이 나타나게 됩니다. 그 안에서 마우스 오른쪽 버튼을 클릭하면, 아래와 같이 문맥 메뉴가 등장합니다. 여기서 'Properties'(설정)를 클릭합니다. 여기서 작업 관리자는 윈도우즈의 작업 관리자를 말합니다. [Ctrl] + [Alt] + [Del]를 누르면 나오는 그것! # 태스크바 ..
http://www.wah.or.kr/Example/index.asp
pageContext 내장 객체 - pageContext 객체는 현재 JSP 페이지의 컨텍스트(Context)를 나타내며, 주로 다른 내장 객체를 구하거나 페이지의 흐름 제어 그리고 에러 데이터를 얻어낼 때 사용된다. - pageContext 내장 객체는 javax.servlet.jsp.PageContext 객체 타입으로 ,JSP에서는 pageContext 객체로 사용된다. - pageContext 내장 객체의 메소드 메소드설명 ServletRequest getRequest()페이지 요청 정보를 가지고 있는 request 내장 객체를 리턴한다. ServletResponse getResponse() 페이지 요청에 대한 응답 정보를 가지고 있는 response 내장 객체를 리턴한다. JSPWriter get..
DBCP API를 이용하여 커넥션 풀을 사용하는 방법에 대해서 살펴본다. 커넥션 풀과 자카르타 DBCP API DBCP API는 커넥션 풀 기능을 제공하는 API로서 자카르타의 또 다른 프로젝트인 Pool API에 기반하고 있다. DBCP API는 사용방법이 비교적 쉬우며, 파일을 통해서 커넥션 풀을 설정할 수 있고 또한 프로그램에서 직접 커넥션 풀을 설정할 수 있기 때문에 커넥션 풀을 사용하려는 개발자에게 매우 유용한 API이다. 커넥션 풀이란? 커넥션 풀에 대한 개념이 없는 사람을 위해 DBCP API를 이용한 커넥션 풀에 대해서 살펴보기 전에 간단하게 커넥션 풀이 무엇인지에 대해서 살펴보도록 하자. 커넥션 풀 기법이란 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool)이란 저장소에 저장해 두..
인풋박스에 한영키 및 대소문자 제어 - ime-mode 와 text-transform input 박스 속성에서 한영키 제어시 인풋박스에 한영키 및 대소문자 제어 - ime-mode 와 text-transform ime-mode를 활용하여 다음과 같은 스타일을 제어ime-mode: auto - 알아서 하는 것이죠. 한영모드를 자유롭게 변경가능ime-mode: active - 최초 한글모드로 설정되고 영문 전환 가능ime-mode: inactive - 최초 영문입력 모드가 됩니다. 한글 전환 가능ime-mode: disabled - 영문만 가능합니다. 한글은 작동하지 않습니다. input 박스 속성에서 대소문자 제어시 text-transform: capitalize - 단어의 첫글자만 대문자로 설정됩니다.t..
request.getContextPath()는 프로젝트의 Context path명을 반환한다. 요청 : http://localhost:8080/example/test.jsp 리턴값 : /example request.getRequestURI()는 웹전체 경로(프로젝트명+ 파일 경로)까지 반환한다. 요청 : http://localhost:8080/example/test.jsp 리턴값 : /example/test.jsp request.getHeader("REFERER")는 요청을 한 부모요청의 URL주소를 반환한다. 현재 페이지: http://localhost:8080/example/test1.do 요청 페이지 : http://localhost:8080/example/test.do 리턴값 : http://lo..
날이 갈수록 개인정보 보호에 관련하여 보안정책을 점진적으로 강화하고 있습니다. 이에 따라 Web에서 회원가입 시 Password 설정을 복잡해진 보안정책에 맞추다 보니 복잡하게 조합해야만 정상적으로 가입을 할 수 있습니다. 이러한 강화된 보안정책 때문에 기존에 사용하던 자신만의 Password를 인위적으로 보안정책에 맞추는 경우가 많을 것입니다. 그러다 보니, 종종 Log-In을 할 때 Password를 잊어버려서 곤란한 상황이 발생하는 경우도 한번쯤은 있었을 것입니다. 일반적으로 이렇게 복잡한 조건이 필요한 경우 사용자에게 입력을 받을 때 여러 가지 조건을 주면서 정해진 규칙 안에서만 입력을 하도록 유도를 하고 있습니다. 이번 프로젝트를 진행하면서 사용자가 입력하여 DB에 형식에 맞도록 저장하기 위해 ..
1. getSession(), getSession(true) - HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로이 세션을 생성합니다 2. getSession(false) - HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로이 생성하지 않고 그냥 null을 반환합니다 3. 사용 예 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); 위는 동일한 결과를 반환합니다 새로 생성된 놈인지 확인은 session.isNew() 로 가능합니다 그리고 getSession(), getSession(true)는 null 체크없이 ..
흔히 invalidate()를 사용하면 세션객체가 메모리에서 사라지는 것으로 오해할 수 있다.아마도 "소멸" 이라는 단어가 주는 느낌 때문에 그럴수도 있다.하지만 자바의 기초를 되짚어 다시한번 생각해보자JAVA라는 언어는 프로그래머가 메모리 관리를 주도할 수 없도록 가비지 컬렉션을 제공하지 않는가?그렇다면 invalidate()는 세션객체 자체를 소멸시키는것이 아니라, 세션의 기능을 중단시키고무효화 시키는것이라고 표현해도 될 것이다.아래의 예제1을 보면 invalidate()메서드 수행후에도 세션아이디는 여전히 출력이 되기 때문이다.[예제1] 소멸되지 않은 객체이긴 하지만 getSession(false)메서드에 의해 참조되어 질수도 없다 .아래의 예제를 보자[예제2]request.getSession(fa..