본문 바로가기

전체 글

url 경로 경로에 관해서 헷갈리는 경우가 있어서 확실한 개념을 잡기 위해 작성 URL 경로url 같은 위치의 경로를 나타낼 때 /main/notice/ 와 같다면 현재 위치한 주소는 모두 무시하고 localhost:8080/main/notice 로 이동한다는 것이다. 이름 바 절대경로 만약 main/notice/ 와 같다면 현재 주소에서 더 붙여진다는 이야기. 현재 주소가 localhost:8080/main/notice 라면 localhost:8080/main/notice/main/notice/ 가 된다. 이름 바 상대경로이다. 주소의 맨 앞의 슬러시 하나 때문에 모든 것이 바뀐다. jsp:include page 경로앞에 슬러쉬가 붙게 되면 /WEB-INF/views/를 경로로 잡게 되는데 디스패처서블릿 설정파일에.. 더보기
jsp에서 리소스 관련 경로에 대한 문제 web.xml에서 서블릿맵핑을 "/" 으로 설정했다면 모든 경로에 대한 요청을 서블릿이 처리하려고 하는 문제------DispatcherServlet 에 대한 /src/main/webapp/WEB-INF/web.xml 설정 appServlet / 확장자에 관계 없이 모든 요청에 대한 DispatcherServlet 이 통제 하려고 하면서 생기는 문제------- 해결: CoC 방식 I 특정 확장자 또는 특정 폴더 아래의 파일들만 DispatcherServlet 이 통제하도록 /src/main/webapp/WEB-INF/web.xml 설정 appServlet /*.do 또는 appServlet /Spring/ CoC 방식 II /src/main/webapp/resources 폴더 밑으로 css, js, i.. 더보기
이클립스 안에서 ${encoding} 값을 설정하고(바꾸고) 싶을 때 preferences -> web -> jsp files encoding 부분을 변경 더보기
sublime text2 running and compile on mac os x 서브라임 텍스트2에서 자바 실행 자바설치는 알아서 끝났을 거라 생각한다. 맥에서는 패스설정을 따로 하지 않아도 되기에 신난다. 서브라임텍스트도 설치가 끝났을 것이다. 서브라임이 설치된 폴더를 찾아야한다. 하드디스크/사용자/(사용자계정이름)/라이브러리/Application Support/sublime text2/Packages/Java/JavaC.sublime-build 파일을 찾아 열어서 내용을 아래와 같이 바꾼다음에 서브라임텍스트를 완전히 정말 완전히 종료 시킨뒤에 재실행하여 command+b 로 자바파일을 실행시키면 된다. 안되면 바탕화면에 자바파일을 저장해보고 다시 껏다 키고 별짓을 다해보라. 나는 됬다.. 여기서 라이브러리폴더가 숨겨져 있어서 안보일터인데 그것은 구글링으로 아주 자세히 나와있으니 편한방법으로 보기 바란다. 참고로.. 더보기
업캐스팅 / 다운캐스팅 - 참조변수의 형변환 instanceof 형변환은 상속을 통한 인스턴스에서 사용할 수 있는 멤버의 범위를 조절하기 위함이다. 업캐스팅은 조상타입으로 형변환하는 것을 말하는데 생략할 수 있다. 생략할수있는 이유는 조상으로 거슬러 올라가면 갈 수록 사용할 수 있는 멤버범위가 더 좁아지거나 같아지기 때문이다. 조상타입을 자손타입으로(더 많은 멤버개수를 사용하도록) 변형하는 것을 다운캐스팅 - 생략불가능(다운캐스팅은 업캐스팅되어 있는 것만 가능하다)자손타입을 조상타입으로(더 적은 멤버개수를 사용하도록) 변형는 것을 업캐스팅 - 생략가능 // 1.서브클래스(주입해준 참조주소,WolfDog wd)의 오버라이딩한 메소드만 호출 가능// 2.슈퍼클래스(참조변수타입,Dog dog3)의 메소드 호출 가능// 3.서브클래스(주입해준참조주소, WolfDog wd)의.. 더보기
getter와 setter, 생성자의 접근 제어자 겟터와 셋터를 사용하는 이유는 중요한 변수에 바로 접근을 하지 못하게 하고 값을 설정함에 있어서 데이터가 올바른지 검증을 해주기 위해서 만든다.객체지향의 캡슐화에 해당하는 부분이라 할 수 있다. 접근제어자를 통해서 이러한 기능을 사용하게 된다. private int number; public int getNumber(){return number;} public void setNumber(int number){// 값을 셋팅해주기전에 검증해줄 코드this.number=number} 만약위에서 작성한 클래스가 상속될 여지가 있다면 protected int number; 작성하여 겟터 셋터를 만들어 주면 될 것이다. 생성자역시 바로 접근하지 못하도록 우회하여 접근하게 만들어 줄 수 있다. class Singl.. 더보기
접근제어자와 제어자 접근제어자 - public / protected / default / private public : 접근 제한이 전혀 없다. protected : 같은 패키지와 다른 패키지의 자손클래스에서 접근 가능 default : 같은 패키지에서만 접근 가능 private : 같은 클래스에서만 접근 가 능 접근제어자의 사용범위클래스 - public,default메서드 - 접근제어 모두 사용 가능멤버변수 - 접근제어자 모두 사용 가능지역변수 - 접근제어자 모두 사용 불가능 제어자 - static / final, abstract, native, transient, synchronized, volatile, strictfp static : 클래스의, 공통적인(멤버변수, 메서드, 초기화블럭)클래스가 실행될 때 메모리에 바로.. 더보기
맥에서 .m2 폴더 열기 1. Terminal2. open ~/.m2 http://macnews.tistory.com/203위의 사이트에는 숨겨진 폴더를 볼 수 있는 혹은 앞으로 편하게 사용할 수 있는 방법들을 알려준다 더보기