스킬(skills)/자바(Java) 52

JSP 동영상 URL 경로로 다운로드 하는 방법

외부에 있는 동영상 파일을 링크를 걸 경우자동으로 윈도우미디어 플레이어 같은 동영상 플레이어가 실행되며 바로 재생이 되어진다. 그러나 파일 자체로 다운로드 받으려고 하면 다음의 방법으로 JSP 파일을 만든 후 링크를 걸면 된다.(주의할 사항은 과 같은 시작/끝 부분을 엔터키로 행 바꿈 하면 안되고 계속 붙여서 이어줘야 한다.)

[java] main 메소드에 static 을 붙여야 하는 이유

main에 왜 static을 붙이는가??위 분들의 말씀처럼 static을 안 쓰면 에러가 나고, 당연히 실행이 안됩니다.근데, 왜 일까요?main에 static을 붙이는게 자바의 문법일까요??다른 메소드들은 static을 써야하나요?? 아닌가요??그렇다면 왜?? ^^;;제가 알고 있는 답은 이렇습니다. (컴퓨터 공학적으로..)Static은 '정적'이라고 합니다. 그래서 '정적 변수', '정적 메소드' 뭐~ 이렇게 부르죠.근데 Static의 기능은...Static으로 지정한 것(변수나 메서드)을 메모리에 먼저 올리는 역활을 합니다.다른 메소드들은 호출(call)될 때 메모리에 올라갑니다.. 그래서 그 메소드 호출이 끝나면 메모리에서 사라지져~ ^^하지만, Static으로 지정한 것들은 메모리에 먼저 올라가..

[JSP] getOutputStream() has already been called for this response 에러 발생 시

JSP 파일에서 Download 를 구현하거나 유사한것을 구현할 때 발생하는 에러가 있다.먼저 JSP에서 기본적으로 out 이라는 변수가 선언되어 있는데 JspWriter 이다.그런데 OutputStream os = response.getOutputStream(); 와 같이 정의하게 되면 다음과 같은 에러가 발생한다.java.lang.IllegalStateException: getOutputStream() has already been called for this response이럴때는 JspWriter 인 out.clear(); 를 OutputStream os = response.getOutputStream(); 하기 전에 먼저 해 주면 된다.만약 OutputStream os = response.get..

[java] war파일로 압축하기, 풀기

WAR 파일 만들기 1. command line 상에서 WAR파일을 만들고자 하는 폴더로 이동 2. jar cvf .war * 입력 (예 : jar cvf test.war *) 3. 해당 폴더내에 war파일 생성완료 WAR 파일 압축풀기 1. command line 상에서 WAR파일이 있는곳으로 이동 2. jar xvf .war 입력 (예 : jar xvf test.war) 3. 해당 폴더내에 압축이 풀림 * 만약 해당 폴더가 아닌 다른 폴더에 압축을 풀고 싶다면1. 압축을 풀고자 하는 폴더를 만들고 command line에서 폴더로 이동 2. jar xvf .war 입력 (예 : jar xvf ../test.war) 3. 해당 폴더내 압축이 풀림

파일 다운로드 시 ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error 팁

파일 다운받기 이후 취소 버튼을 누르면 다음의 메시지가 발생한다. ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error 따라서 파일 다운받기 이후에 어떠한 비지니스 로직이 정상적으로 수행 안될수도 있다. 따라서 파일 다운받기 이전 단계에 비지니스 로직을 완성 시켜야 한다.

List 와 같은 컬렉션의 중복 값 제거 방법

List 와 같은 컬렉션의 중복 값을 제거 하는 방법이다. // ArrayList에 들어있는 데이터를 중복 제거하기 ArrayList arrList = new ArrayList(); arrList.append("중복데이터"); arrList.append("중복데이터"); arrList.append("중복데이터"); arrList.append("중복데이터"); // HashSet 데이터 형태로 생성되면서 중복 제거됨 HashSet hs = new HashSet(arrList); // ArrayList 형태로 다시 생성 ArrayList newArrList = new ArrayList(hs);

java 에서 경로 구분자 표시 알아서 자동으로 인식하는 방법

윈도우 예) c:\temp\...리눅스 예) /home/yangyag/.. 이렇게 윈도우 환경과 리눅스(유닉스) 환경에서 사용하는 경로의 구분자 값이 다르다.보통 개발은 윈도우 환경에서 하고 실제 운영은 리눅스(유닉스) 환경에서 하는 경우가 많아소스 상에서 반영시에는 경로를 바꿔주는 불편함이 있다. 이를 자동으로 처리 해 주는게 File.separator 이다. 예)String a = "temp" + File.separator + "yangyag.txt"; 와 같이 처리하면 현재 운영체제 환경에 따라 File.separator 가 자동으로 '\' 로 처리를 할지 '/'로 처리를 할지 인식한다.