목록전체 (348)
파게로그

상태 유지를 위해서는 다음의 5가지 방법을 이용할 수 있다. application session cookie hidden input query string Application 객체를 통한 상태유지 사용범위: 전역범위에서 사용하는 저장공간 생명주기: WAS가 시작해서 종료될 때까지 저장위치: WAS 서버의 메모리 Servlet Context Servlet의 결과물을 저장해두는 등, 자원 공유의 저장소로서 상태 저장 공간의 역할을 수행한다. 이것이 Web Application에서는 application 저장소라고도 불린다. 데이터를 set하거나 get하는 방법은 마치 map의 그것과 유사하다. ServletContext application = request.getServletContext(); // se..
URI(Uniform Resource Identifier) 인터넷에 있는 자원을 나타내는 유일한 주소. 또는 인터넷 상의 자원을 식별하기 위한 문자열의 구성. 인터넷 프로토콜에 항상 붙어 다닌다. 하위 개념으로 URL과 URN이 있다. scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] URI와 URL은 같을 수도 있고 다를 수도 있는데, 차이점은 다음과 같다. /* URI와 URL이 같은 경우 */ http://www.host.com/sample.txt /* URI와 URL이 다른 경우 (1) */ http://www.host.com/sample.txt?docid=123 빨간색 부분만 보면 URL이고, 파란색 부분까지 포함하면 URI이..
문제 링크: 12865번 평범한 배낭 https://www.acmicpc.net/problem/12865 DP 알고리즘 중에서도 Knapsack 알고리즘을 대표하는 문제이다. 며칠을 고민하다가 전 과정 풀이를 참고했다. 풀이를 본 이상 점화식을 이해하는 것은 생각보다 어렵지 않았다. n개의 물품 중 고려하는 물품 번호가 1
문제 링크: 1912번 연속합 https://www.acmicpc.net/problem/1912 partialSum이 직전까지의 부분합보다 큰 경우에는 dp[i]는 partialSum이 될 것이고, 그렇지 않으면 dp[i]는 dp[i-1]과 같아야 한다. 하지만 partialSum이 음수인 경우에는 지금까지의 부분합을 버리고 0으로 초기화하는 과정이 선행되어야 한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { /* input */ Buffer..
문제 링크: 2565번 제목 https://www.acmicpc.net/problem/2565 먼저 입력을 받은 후 A의 위치에 따라 정렬한다. 정렬된 상황에서 B 전깃줄은 증가하는 수열이어야 하기에 LIS의 최대 길이를 구하고, 이를 전체 전깃줄의 개수에서 빼준다. import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { /* input */ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n==1) { System.out.println(0); S..
입력할 값이 많은 경우에는 POST 요청을 이용한다. reg.html 공지사항 등록 제목 : 내용 : NoticeReg.java package com.ddoongi.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; @WebServlet("/notice-reg") public class NoticeRe..
GET 요청, 즉 무언가를 달라고 하는 요청에는 옵션이 있을 수 있다. 이는 요청 내 쿼리스트링을 통해 구현된다. http://localhost/hello (10번반복) http://localhost/hello?cnt=3 (3번반복) ?cnt=3 : 쿼리스트링 hello?cnt=3 : '요청' 이러한 요청은 아래 4가지가 모두 가능하며, 각각에 대해 request.getParameter("cnt")를 통해서는 다음과 같은 String이 반환된다. 요청 cnt_ 처리 http://.../hello?cnt=3 "3" http://.../hello?cnt= "" !cnt_.equals("") http://.../hello? null cnt_ != null http://.../hello null cnt_ != ..
초기 세팅 Eclipsed Java EE > New > Dynamic Web Project Project Name: 프로젝트명 Target Runtime: WAS 선택 기초적인 설명 홈 디렉터리 WebContent/ Eclipse IDE에서 웹 페이지를 볼 때 브라우저 설정하기 Window > Web Browser 파일을 직접 여는 것과 Run의 차이 문서 작성 후 Run을 하면, 문서가 Tomcat의 디렉터리로 옮겨진 후, Tomcat이 실행된 후, Eclipse로 돌아와서 내용이 표시된다. 즉, 파일 자체가 열리는 게 아니라 배포된 문서를 볼 수 있는 것이다. 프로젝트명을 context name으로 쓰지 않기 기본 프로젝트를 root project가 되어야 한다. 프로젝트 우클릭 > Web Proje..