![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bdR9nv/btsDWQj7Aea/ERXofnv4vCu3KVwKeGvfv0/img.jpg)
쿠키 정보 생성된 쿠키의 정보를 얻어오려면 request 내장 객체의 getCookie() 메서드를 사용해서 쿠키 객체를 얻어온 뒤에 getName(),getValue() 를 이용해 쿠키 이름과 값을 가져옵니다. 쿠키 객체 얻기 클라이언트에 저장된 모든 쿠키 객체를 가져오려면 request 내장 객체의 getCookies() 메서드를 사용합니다. 쿠키 객체가 여러개일 경우에는 배열형태로 저장이 되기 때문에 타입을 배열로 지정해줍니다. Cookie[] cookies = request.getCookies() 쿠키 객체의 정보 얻기 쿠키 객체를 얻었다면 그 객체에 저장된 name과 value를 가져오기 위해서 getName(),getValue() 메서드를 사용합니다. Cookie[] cookies = requ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cDhbLg/btsDSpH8MzQ/sQyDflvmyzyuswKZjcaF31/img.jpg)
세션 세션 세션은 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법을 말하는데, 사용자 인증을 통해서 특정 페이지를 사용할 수 있도록 권한 상태를 유지하는 것이 세션입니다. 세션은 웹 서버에서만 접근이 가능하므로 보안 유지에 유리하고, 데이터를 저장하는 데 한계가 없다는 장점이 있습니다. 또한, 세션은 오직 웹 서버에 존재하는 객체로 웹 브라우저마다 하나씩 존재하므로 웹 서버의 서비스를 제공받는 사용자를 구분하는 단위가 됩니다. 이런 세션을 사용하면 클라이언트가 웹 서버의 세션에 의해서 가상으로 연결된 상태가 됩니다. 따라서 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 본관되어 있어 사용자 정보를 잃지 않습니다. 이런 session은 내장 객체를 제공을 합니다 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/WPdZk/btsB1LFqU4n/ly1AZVVjcmiHA8N22ULfOK/img.gif)
HTML input type=radio label 연결 버튼 체크를 통한 슬라이드 나타내기 input type="radio"한 것을 label의 for의 value와 동일하게 하고 서로 연결을 해줍니다. * { padding: 0; margin: 0; list-style: none; box-sizing: border-box; text-decoration:none; } input[ type=radio] { display: none; } .section { width:100%; /* height: 800px; */ /* border: 1px solid red; */ /* margin: 0 auto; */ } .sliderwrap { width:100%; } .slidelist { width: 100%; wh..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bY9Xio/btsDTsYWqL8/hK77oix9jEKlutj4Jb7lL1/img.jpg)
AuthenFilter.java package ch12.com.filter; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class AuthenFilter implements Filter { //소멸단계에 필요한 메서드 오버라이딩 @Override public vo..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/biUD5D/btsDWSCfOVC/B6FHDDZbTVBUKPumAh2wBK/img.jpg)
프로그래밍적 시큐리티 처리 프로그래밍적 시큐리티는 웹 애플리케이션의 보안을 위해 코드를 작성해 사용자의 권한 부여를 처리하는 방식입니다. 선언적 시큐리티의 보안으로 충분하지 않을 경우에 request 내장 객체의 메서드를 사용해 사용자를 승인하는 방법입니다. 보안관련해서 request 내장 객체의 종류 메서드 형식 설명 getRemoteuser() String 사용자의 인증 상태를 반환. getAuthType() String 서블릿을 보호하는 데 사용되는 인증 방식의 이름을 반환합니다. isUserInRole(java.lang.String role) boolean 현재 인증된 사용자에게 설정된 역할이 있는지 확인합니다. 설정된 경우 true를 반환하고 아닐 경우 false를 반환합니다. getProtoc..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dl0r5V/btsDXy4pFeo/KrOdTjiisG0tn4pnZ8UxfK/img.jpg)
다국어 처리 JSTL fmt 태그를 이용한 다국어 처리 JSTL fmt 태그는 다국어 문서 처리를 위한 국제화 및 지역화 태그입니다. 날짜와 숫자 등을 형식 화하는 기능을 제공하는 JSTL 라이브러리 JSTL fmt 태그는 특정 지역에 따라 다른 메세지를 출력할 때 사용합니다. 이렇게 JSTL fmt 태그는 중복 작업을 없애고 하나의 JSP 페이지에서 다양한 언어에 맞는 메세지를 출력합니다. JSTL fmt 태그 라이브러리를 사용하려면 다음과 같이 JSP 페이지에 taglib 디렉티브 태그로 서식 라이브러리를 포함해야합니다. 그리고 JSTL 라이브러리인 jstl.jar 파일이 필요합니다. //fmt를 해석할 수 있게끔 도와주는 코드 JSTL fmt 태그의 종류 Locale 설정 setLocale - 로케..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bVELCT/btsDWSPNsWZ/gyelZnwQ40efZW0dWMkMU1/img.jpg)
유효성 검사 유효성 검사 사용자가 폼 페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력이 되었는지 검증하는 것을 말합니다. 예로 폼 페이지에서 나이 입력, 회원 가입 시 아이디 중복 검사, 로그인 인증 시 아이디와 비밀번호 검사, IP 패킷 검사 등을 들 수 있습니다. 유효성 검사를 위한 핸들러 함수 핸들러 함수는 폼 페이지에서 이벤트가 발생했을 때(submit을 클릭한 경우)의 유효성 검사를 위해 매핑하는 메서드로 자바스크립트를 이용해 유효성 검사를 위한 코드를 작성합니다. 핸들러 함수에서는 사용자가 폼 페이지에 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 잘 입력했는지 검사합니다. 잘 입력이 되지 않았다면 서버로의 전송을 취소하고, 사용자에게 오류 메세지를 보여..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/LmUmf/btsDRJs2Ez9/iuORAKeB7yFW9NI8bP8yb0/img.jpg)
Commons-FileUpload를 이용한 파일 업로드 파일 업로드 패키지인 Commons-FileUpload는 서버의 메모리상에서 파일 처리가 가능토록 지원을 해줍니다. 이것을 이용하여 파일을 업로드할려면 Commos-FileUpload 안의 패키지에 포함된 DiskFileUploa 객체를 생성을 하여야합니다. 후에 생성된 객체를 통해서 해당 클래스가 제공하는 메서드를 이용해 웹 브라우저에서 전송이 된 Multipart/form-data를 받아옵니다. 그 후 FileItem 클래스의 메서드를 사용하여 요청 파라미터가 일반 데이터인지 파일인지 분석 및 처리해서 파일을 업로드합니다. 이 름 : 제 목 : 파 일 : 파일 업로드를 위한 form태그의 필수 입력으로method="post" enctype="mu..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bniZxr/btsDRpO7Lx7/EKrCsWi4n5Qs53DDCIECc1/img.jpg)
파일업로드 파일업로드 파일업로드는 웹브라우저에서 서버로 파일을 전송하여 서버에 저장을 하는 것을 말합니다. 이때 가능한 업로드 파일은 텍스트, 바이너리, 이미지, 문서 등의 유형이 있습니다. 이때 전송을 할려면 폼태그를 사용하여야 하며 서버에 저장을 할려면 오픈 라이브러리를 이용하여야 합니다. 파일 업로드를 위한 폼태그는 반드시 method속성을 post로 하여야 하고, enctype는 multipart/form-data로 설정을 하여야합니다. 하위로 input박스의 type 속성은 file로 지정을 해줍니다. 파일 업로드를 처리하는 방법으로는 multipartRequest를 이용하거나 아파치의 API를 이용하여 처리를 합니다. MultipartRequest를 이용한 파일 업로드 MultipartRequ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zDw9j/btsDXx5u7zS/JzlzGZEuvBHUDgJwvOI8r0/img.jpg)
response 내장 객체의 기능과 사용법 response 내장 객체는 사용자의 요청을 처리한 결과를 서버에서 웹 브라우저로 전달하는 정보를 저장합니다. 즉 서버는 응답 헤더와 요청 처리 결과 데이터를 웹 브라우저로 보냅니다. JSP 컨테이너는 서버에서 웹 브라우저로 응답하는 정보를 처리하기 위해서 response 내장 객체를 사용해 사용자의 요청에 응답합니다. 1. 페이지 이동 관련 메서드 사용자가 새로운 페이지를 요청할 때와 같이 페이지를 강제로 이동하는 것을 redirection 이라고 합니다. 서버는 웹 브라우저에 다른 페이지로 강제 이동하도록 response 내장 객체의 redirection 메서드를 제공합니다. *페이지 이동시에는 문자 인코딩에 알맞게 설정을 해야합니다. 페이지 이동 관련 메서..