분류 전체보기 133

세션, 쿠키

세션과 쿠키는 클라이언트와 연결을 유지하는 방법이다 세션과 쿠키를 이용하여 클라이언트와 서버가 연결을 유지할 수 있다. # Connectionless Protocol 웹 서비스는 HTTP프로토콜을 기반으로 하는데, HTTP프로토콜은 클라이언트와 서버의 관계를 유지 하지 않는 특징이 있다. (사람과 사람이 통신할때 서로 이해할 수 있는 언어, 공용된 언어를 사용해 전세계 모든 사람과 대화 할수 있다라고 하면, 컴퓨터와 컴퓨터도 서로 이해 할 수 있는 언어, 공용된 언어를 사용 해야 한다는 것인데 이 것을 바로 프로토콜 이라고 한다) 클라이언트가 서버에 무언가를 요청하면 순간적으로 클라이언트와 서버가 연결이되어진다 연결된 순간에 요청한 무언가를 응답해주고 바로 연결을 해제한다. (이렇게 하는 이유는 서버에 ..

백준 4344 자바

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. #변수설명 student_num: 테스트 케이스마다 첫수로 주어지는 학생의 숫자를 담아주는 변수. count: 평균을 넘어가는 학생들의 수를 체크하여주는 변수. len: ArrayList에 있는 값을 len++를 이용하여 순서대로 꺼내주..

백준 4673 자바

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

Controller 객체 구현 2.

# @ModelAttribute @ModelAttribute를 이용하면 커멘드 객체의 이름을 변경할 수 있고, 이렇게 변경된 이름은 뷰에서 커멘드 객체를 참조할 때 사용된다. 모델 어트리뷰터가 적용된 메서드는 어떤 메서드가 호출되어도 같이 나온다. 예)servertime(시간을 표기하여준다)을 가지고 모델 어트리뷰트를 적용해준다면 다른 메소드와 함께 시간이 표기된다 # 커맨드 객체 프로퍼티 데이터 타입 커맨드 객체에 들어오는 데이터는 원하는 데이터를 지정해주면 스프링 MVC프레임 워크가 알아서 적당히 데이터를 맞춰준다고 한다. 예를 들어 배열이 아닌것을 배열로 받고싶다 할때에 배열로 만들어두면 알아서 데이터를 맞춰 배열로 들어오게 해준다. # Model & ModelAndView 컨트롤러에서 뷰에 데이터..

Controller의 여러가지 기능들

스프링은 설정만 제대로 해준다면 기능구현은 그렇게 어렵지 않기때문에 처음 설정을 잘 해주도록 하자. # 다시 기억하기 1. 자바파일 밑에 컨트롤러,dao,서비스 객체 2. webapp의 resources/html파일에 웹 컴포넌트 파일 3. spring밑에는 spring설정파일 4. Views 밑에는 JSP 컴포넌트 파일 @RequestMapping RequestMapping 메핑 HTML페이지에서 여러 정보들을 받고 버튼을 누르는 순간 action에 있는 url을 찾아서 가는데 method="post" 방식으로 서버에 날아간다 HandlerMapping 빈이 알맞는 Controller을 찾고 HandlerAdapter가 알맞는 메서드를 찾아서 실행시켜준다. #value ,method → 보내는곳 @Re..

Service & Dao 객체 구현

회원 로그인하는 기능을 구현해보자 사용자요청 → 프론트 컨트롤러 → 컨트롤러 → 서비스 → DAO → Database ↓ 뷰 서비스와 Dao객체를 알아보자! 1. 프로젝트 만들기 레거시 프로젝트에 들어가 spring mvc project를 생성해준다. 2.한글처리 web.xml 파일에 들어가서 맨밑에 넣어준다( 위에 붙여넣어주면 된다) CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true CharacterEncodingFilter /* 3. 서비스 객체 구현 방법 1 : new 연산자를 이용한 service객체 생성 및 참조 MemberService serv..

스프링 MVC웹 서비스 2

1. java파일 : java파일들이 위치한다. 주로 패키지로 묶어서 관리한다. 웹 애플리 케이션에서 사용되는 Controller, Service, DAO객체들이 위치한다. 2. webapp : 웹과 관련된 파일들(스프링 설정파일, JSP파일, HTML파일 등..)이 위치한다. 3. resources : JSP파일을 제외한 html, css, js파일등이 위치한다. 4. spring폴더 : 스프링 컨테이너를 생성하기 위한 스프링 설정파일이 위치한다. 5. views 폴더 : View로 사용될 JSP파일이 위치한다. 6. pom.xml파일 : 메인 레파지토리에서 프로젝트에 필요한 라이브러리를 내려받 기 위한 메이븐 설정 파일 # web.xml 웹 어플리케이션에서 최초 사용자의 요청이 발생하면 가장먼저 Di..

스프링 STS사용시 프로젝트 생성 오류 해결 방법

이런 오류를 보고 이 블로그를 찾아왔다면 아마 잘 찾아온것일 가능성이 크다...! An error has occurred. See error log for more details. Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter 오류를 해결하기 위해 검색해도 자료가 많지 않음은 물론이고 마땅한 해결 방법이 없어 다들 해매였을거라 생각한다. 아마 Legacy Project를 누르고 들어가 Spring MVC Project를 생성할때에 글쓴이는 이 오류를 만났다. 그리고 구글을 미친듯이 해메였고 몇가지 방법을 제시받았다. 1. 이클립스 EE 재설치 (글쓴이에게는 통하지 않은 방법이였다) ..

스프링 MVC웹 서비스

# 아파치 다운로드 1. 아파치 톰켓 8.5버전을 다운로드한다 2. 이클립스와 연동하기위해 이클립스EE로 들어간다 3. window탭에 Show View 에 Other을 클릭후 server를 누르고 자기가 다운로드 받은 버전의 아파치를 누르고 next후에 브라우저에서 내가 아파치를 다운받은 경로를 지정해준후 피니쉬를 누른다 4. 서버에 약간에 설정이 필요한데 서버탭에서 다운받은 아파치를 더블클릭해준다 위의 사진과 같이 설정하면되는데 port name에 http가 8080이 디폴트값인데 이걸 8090으로 바꾸는 이유는 나중에 사용할 오라클이 오라클 내부적으로 http프로토콜에 포트번호가 8080이기때문에 두 프로그램이 부딪힐수 있어서 미리 방지하기 위해 바꿔주는 것이다. 그리고 서버탭에서 플레이(ctr +..

웹 프로그래밍 설계 모델

스프링 MVC 프레임워크 기반의 웹 프로그래밍 구조에 대한 학습 M : Model V : View C : Controller #웹 프로그래밍을 구축하기 위한 설계 모델 Model 1 클라이언트가 서버에 무언가를 요청했을때에 WAS(웹 어플리케이션 서버)에서 처리를 하고 데이터베이스에서 무언가에 대한 정보를 받아오고 다시 WAS에서 받아 UI처리 작업을 한 후에 다시 클라이언트에게 보내준다. 이 모든것을 나누지않고 하나의 파일로 처리하는것을 Moder 1 방식이라 한다 장점 : 하나의 파일 안에다 모든것을 짬뽕해서 넣기 때문에 개발속도가 빠르다 단점 : 유지보수가 힘들고 복잡도가 높아진다(알아보기가 힘들다) Model 2 클라이언트가 서버에 무언가를 요청했을때에 WAS에 Controller가 요청을 받아 ..

728x90