본문 바로가기

전체 글49

Spring Framework : Spring security customizing 스프링 시큐리티에서 기본적으로 제공하는 org.springframework.security.core.userdetails.UserDetails 인터페이스를 통해 인증받은 사용자의 정보를 조회할 수 있다.하지만 기본설정으로 사용하면 사용자의 이름, 패스워드 외에 다른 정보를 불러오는 것은 불가능하다. 이 때, UserDetails 인터페이스를 구현하는 커스텀 클래스를 만듦으로써 원하는 정보를 조회할 수 있다.(UserDetails 인터페이스를 구현한 org.springframework.security.core.userdetails.UserDetails.User 클래스를 참고하면 좋다)UserDetails 인터페이스를 구현한 클래스는 말그대로 user의 정보를 담고 있는 클래스이다. 본인이 원하는 정보(계정.. 2017. 5. 29.
Spring Framework : 한글처리 web.xml123456789101112131415161718 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* Colored by Color Scriptercs 추가 후 jsp 파일의 페이지 인코딩을 UTF-8 로 맞춰준다. 2017. 2. 20.
Chapter07. 교착상태 : 문제풀이 7.1 그림7.10에 보인 교착상태를 생각해 보자.이 예에서 교착상태를 위한 네 가지 필요조건이 정말로 성립함을 보이시오.이 시스템에서 교착상태를 회피하는 간단한 법칙을 설명하시오. cf) 교착상태를 위한 필요 조건들1. 상호 배제 : 최소한 하나의 자원이 비공유 모드로 점유되어야 한다. 비공유 모드에서는 한 번에 한 프로세스만이 그 자원을 사용할 수 있다. 다른 프로세스가 그 자원을 요청하면, 요청 프로세스는 자원이 방출될 때까지 반드시 지연되어야 한다. 2. 점유하며 대기 : 프로세스는 최소한 하나의 자원을 점유한 채, 현재 다른 프로세스에 의해 점유된 자원을 추가로 얻기 위해 반드시 대기해야 한다. 3. 비선점 : 자원들을 선점할 수 없어야 한다. 즉, 자원이 강제적으로 방출될 수 없고, 점유하고 .. 2017. 1. 31.
JSP/Servlet : Forwarding Forwarding 이란?서블릿 또는 JSP에서 요청을 받은 후 다른 컴포넌트로 요청을 위임하는 것.다음의 두 가지 방법이 있다. RequestDispatcher Class요청받은 request 객체를 위임하는 컴포넌트에 동일하게 전달한다. Client ─request→ 요청받은 컴포넌트 ─request→ 위임받은 컴포넌트 요청받은 컴포넌트에서 다음과 같이 다른 컴포넌트로 위임해준다. 12RequestDispatcher dispatcher = request.getRequestDispatcher("/dispatch.jsp"); //위임할 파일명dispatcher.forward(request, response); //동일한 request, responsecs HttpServletResponse Class요청.. 2017. 1. 23.
JSP/Servlet : FrontController Pattern, Command Pattern url pattern- 디렉터리 패턴디렉터리형태로 서버의 해당 서블릿을 찾아 실행http://localhost:8181/경로명/서블릿이름 - 확장자패턴확장자를 통해 해당 서블릿을 찾아간 뒤 서블릿 내에서 각 이름에 맞는 코드를 실행http://localhost:8181/경로명/이름.확장자명ex) 확장자명이 do 인 경우 *.do 로 맵핑된 서블릿을 찾아가게 된다. 같은 확장자를 가진 경우 모두 같은 서블릿으로 연결된다. 이와 같이 요청하면 1 update cs 이렇게 맵핑된 서블릿 파일로 가게된다. 1@WebServlet("*.do")cs 서블릿 파일에서는 다음과 같이 do확장자를 가진 여러 요청들을 구분하여 처리한다. 123456789string uri = request.getRequestURI();S.. 2017. 1. 23.
JSP/Servlet : JSTL (JSP Standard Tag Library) JSTL (JSP Standard Tag Library) 이란? HTML 코드와 섞여 가독성이 떨어지는 JSP코드의 단점을 보완하기 위한 라이브러리. http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/위 링크에서 다운받을 수 있다.다운받은 후 jar 파일을 apache tomcat 이 설치된 경로의 라이브러리 폴더에 복사해준다. JSTL에서 제공하는 다섯 가지 라이브러리 Corehttp://java.sun.com/jsp/jstl/core XML Processing http://java.sun.com/jsp/jstl/xml I18N formatting http://java.sun.com/jsp/jstl/fmt SQL http://java.s.. 2017. 1. 23.
JSP/Servlet : Expression Language Expression Language 란? 액션태그를 대신해서 간단하게 값을 표현할 수 있는 언어. 표현식, 액션태그 1cs1cs EL1${ value }cs1${ member.name }cs 내장객체 pageScope page객체를 참조하는 객체 requestScope request객체를 참조하는 객체 sessionScope session객체를 참조하는 객체 applicationScope application객체를 참조하는 객체 param 요청 파라미터를 참조하는 객체 paramValues 요청 파라미터(배열)를 참조하는 객체 initParam 초기화 파라미터를 참조하는 객체 cookie cookie객체를 참조하는 객체 2017. 1. 23.
JSP/Servlet : DAO, DTO, Connection Pool DAO (Data Access Object)데이터베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스.유지보수와 코드의 모듈화를 위해 별도의 클래스로 만들어 사용함.*singleton 패턴을 이용해 하나의 객체만 만들어 사용한다 DTO (Data Transfer Object)DAO 클래스를 이용하여 데이터베이스에서 데이터를 관리할 때 해당 데이터의 클래스를 만들어 사용. PreparedStatementStatement 객체를 사용하는 것보다 코드를 간결하게 만들 수 있음. 1234567891011Class.forName(driver);connection = DriverManager.getConnection(url, uid, upw);int n;String query = "insert in.. 2017. 1. 22.
Chapter06. 프로세스 동기화 : 문제풀이 6.1 경쟁 조건은 ~ 6.2 두 개의 프로세스를 위한 임계구역 문제에 대한 최초의 올바른 소프트웨어 해결 방안을 제시한 사람은 Dekker였다. 두 개의 프로세스 P0와 P1은 다음 변수들을 공유한다. ~프로세스 Pi(i==0 or 1)와 Pj(j==1 of 0)의 구조는 그림6.21과 같다. 이 알고리즘이 임계구역 문제의 세 가지 요건을 모두 충족시킴을 증명하시오. p.299참고 6.3 ~2 cf) 임계구역에 대한 세 가지 문제 상호배제 : 프로세스 P가 자신의 임계구역에서 실행된다면, 다른 프로세스들은 그들 자신의 임게구역에서 실행될 수 없다. 진행 : 임계구역이 비어있다면, 나머지 구역에서 실행중이지 않은 프로세스들만 다음에 누가 그 임계구역으로 진입할 수 있는지 결정할 수 있으며, 이 선택은 무.. 2017. 1. 17.