본문 바로가기

전체 글

(47)
Redirect & Forward Redirect란 ? 서버가 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청하는 것 리다이렉트는 http프로토콜로 정해진 규칙 서버에서는 클라이언트에게 응답으로 상태코드 302와 함께 이동할 URL정보를 Location 헤더에 담아 전송 → 클라이언트는 서버로부터 받은 상태값이 302이면 Location헤더값으로 재요청을 보내개 됨 → 이때 브라우저의 주소창은 전송받은 URL로 바뀜 서블릿이나 jsp는 redirect를 하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect()메소드를 사용 Redirect 예제 1. eclipse → Dynamic Web Project 생성 → WebContent폴더에 redirect01.jsp 생성 : red..
[C++]백준 2839 설탕배달 문제 링크 : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와..
JSP 내장 객체 ※ JSP를 실행하면 서블릿 소스가 생성되고 실행된다. 내장 객체란? JSP에 입력한 스크립트릿 코드는 서블릿 소스의 _jspService() 메소드 안에 삽입되는데, _jspService()에는 삽입된 코드 외에도 윗부분에 미리 선언된 객체들이 있고, 해당 객체들을 내장 객체라고 부른다. 내장 객체에는 response, request, application, session, out와 같은 변수가 존재하고, JSP에서도 사용 가능하다. 내장객체의 종류 내장 객체를 활용한 JSP 코드 실행 결과 jsp실행시 생성된 java파일의 _jspService() 메소드 코드 public void _jspService(final javax.servlet.http.HttpServletRequest request, fi..
[eclipse] 자바 웹 어플리케이션 생성 (+ Finish버튼 비활성화 시) ※ 실행하기에 앞서 Java EE, Tomcat이 설치되어 있어야합니다 1. 먼저 eclipse 오른쪽 상단에서 Java EE 선택합니다 2. File - New - Dynamic Web Project 3. Project name에 생성하고 싶은 프로젝트 이름 입력 → Target runtime의 New Runtime버튼 클릭 4. 원하는 WAS 클릭(Tomcat ver 선택) → Next > 버튼 클릭 → Tomcat의 installation 경로 찾아 설정 → Finish버튼 5. 1번의 Dynamic Web Project 창에서 Finish 버튼을 눌러 프로젝트 생성 다음과 같이 프로젝트가 생성된 것을 볼 수 있음 해당 디렉토리에서 cmd창을 열어 tree /f를 입력해 폴더의 파일 목록을 확인하면..
JSP란? JSP란? JSP는 스크립트 언어의 일종으로 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성 JSP 파일은 실행 시 서블릿으로 변환됨( WAS로 톰캣을 사용한다면, 톰캣이 JSP를 서블릿으로 바꿈 ) JSP의 실행순서 브라우저가 웹서버에 JSP에 대한 요청 전달 브라우저가 요청한 JSP가 최초로 요청했을 경우에만 JSP코드를 서블릿 코드로 변환(java파일 생성) → 서블릿 코드 컴파일해 실행가능한 bytecode로 변환(class파일 생성) → 서블릿 클래스를 로딩하고 인스턴스 생성 ※ 이미 존재할 경우 서블릿 엔진이 요청을 받아 서블릿 라이프사이클대로 실행 서블릿이 실행되어 요청을 처리하고 응답정보 생성 즉, JSP가 실행되면 .metadata폴더에 java파일이 생성되고, 이 java파일..
동적 계획법(Dynamic Programming) 동적 계획법은 중복되는 부분 문제의 값(계산 결과)을 메모리(cache)에 저장해 재활용하는 방법 메모리제이션 구현 패턴 int cache[2500][2500]; int someObscureFunction(int a, int b) { // basecase if (...) return ...; // cache에 저장된 값이 있으면 바로 리턴(cache는 -1로 초기화되어있음) int& ret = cache[a][b]; if (ret != -1) return ret; // 답 계산 ... return ret; } 기저사례 가장 먼저 처리 cache배열 초기화(memset 함수 사용 가능) cache배열에 대한 참조형 변수 ret 사용 - ret가 바뀌면 cache배열도 바뀜 → cache가 다차원 배열일 때..
[C++]algospot CLOCKSYNC 링크 : https://www.algospot.com/judge/problem/read/CLOCKSYNC algospot.com :: CLOCKSYNC Synchronizing Clocks 문제 정보 문제 그림과 같이 4 x 4 개의 격자 형태로 배치된 16개의 시계가 있다. 이 시계들은 모두 12시, 3시, 6시, 혹은 9시를 가리키고 있다. 이 시계들이 모두 12시를 가리키도록 www.algospot.com 문제 그림과 같이 4 x 4 개의 격자 형태로 배치된 16개의 시계가 있다. 이 시계들은 모두 12시, 3시, 6시, 혹은 9시를 가리키고 있다. 이 시계들이 모두 12시를 가리키도록 바꾸고 싶다. 시계의 시간을 조작하는 유일한 방법은 모두 10개 있는 스위치들을 조작하는 것으로, 각 스위치들은 ..
[C++]algospot BOARDCOVER 링크 : https://www.algospot.com/judge/problem/read/BOARDCOVER algospot.com :: BOARDCOVER 게임판 덮기 문제 정보 문제 H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 www.algospot.com 문제 H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 검은 칸을 덮거나, 게임판 밖으로 나가서는 안 됩니다. 위 그림은 한 게임판과 이를 덮는 방..