a.jsp 에서 A.class 의  methodA() 전역메소드를 사용하다가

methodA()의 static을 인스턴스메소드로 변경하였더니 IncompatibleClassChangeError 에러가 발생하였다.

(구글에서는 인스턴스->전역으로 변경할 때 발생한다고 하는데 왜이런 현상인지는 추후 같은원인을 발견했을 때 알아보자)


이유는 기존 a.jsp 의 컴파일과정의 문제였는데 클래스의 변경이 있더라도 a.jsp의 변경이 없으면 재컴파일이 되지 않기때문에 발생하는 에러였음.


해결방법 : a.jsp 코드의 변경 -> 업로드 -> 원상복귀 -> 업로드 하니까 잘 해결되었다..



to_date('20110714 210000','yyyy/mm/dd hh24:mi:ss')

ex) update table set startdate = to_date('20110714 210000','yyyy/mm/dd hh24:mi:ss') where code = 2

the project was not built due to could not write file ... 


하면서 새로운 classpath 를 설정하지 못하는 오류를 발견했는데 해결방안은


이클립스의 classpath를 아무폴더 ex)test 로 classpath를 설정한 후 


기존 classpath를 지워버린 후 다시 classpath를 잡아주니 오류가 해결 되었다.


원인은 바쁘므로 다음에 또 이런문제를 만난다면 그때 정리해야지..


'개발서적' 카테고리의 다른 글

Serializable 직렬화  (0) 2017.03.25
접근제어자  (0) 2017.03.20
자바의 데이터 타입.  (0) 2017.03.20
IncompatibleClassChangeError 해결방법.  (0) 2016.09.26

Apache 란 ? 

아파치란 것은 소프트웨어 단체 이름이다. 흔히 말하는 아파치 서버라는 것은 아파치에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든  http웹서버를 지칭하는 말이다. http웹서버는 http요청을 처리할 수 있는 웹 서버이다. 즉 아파치는 웹서버다.


Tomcat 이란?

tomcat은 흔히 WAS(Web Application Server)라고 한다. WAS는 웹서버와 웹 컨테이너 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다. 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다.


아파치와 톰캣의 차이는 바로 이 웹컨테이너 역활을 하냐 안하냐의 차이이다.


was구조 이미지출처 : http://gap85.tistory.com/45




웹서버와 WAS를 둘 다 쓰는 이유는?

두 서버의 목적의 차이로 사용자 요청은 웹서버를 통해 받고 내부 프로그램은 WAS를 통해 처리하는 것이 정적/ 동적 데이터를 효과적으로 처리하기 때문이다.



'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
동일출처정책(same origin policy)  (0) 2016.07.26
http와 https  (0) 2016.07.26

(모질라 기준이라 다른 브라우저는 차이가 있을 수 있음)

동일출처정책이랑 한 출처(origin)에서 로드된 문서나 스크립트가 다른 출처 자원과 상호작용하지 못하도록 제약하는 정책.


여기에서 같은 출처의 기준은,

두 페이지의 프로토콜, 포트, 호스트가 같으면 동일출처로 간주한다. 

예를들어 origin 을 http://dev-troh.tistory.com/a/a.html 이라 했을 때 해당 url 요청 결과는 다음과 같다.


http://dev-troh.tistory.com/a2/a2.html 

성공 

 

http://dev-troh.tistory.com/a/b/c.html

성공 

 

https://dev-troh.tistory.com/a.html 

실패 

프로토콜 상이 

http://dev-troh.tistory.com:81/a/etc.thml 

실패 

포트 상이 

http://im-troh.tistory.com/a/a.html 

실패 

호스트 상이 



위와 같은 이유때문에 Cross domain 문제가 발생하는데, 이를 우회하는 방법이 있다.


1. documnet.domain 방법

   이 방법은 서브 도메인이 다를 경우에 사용함.

   http://A.naver.com -> http://B.naver.com : 서브 도메인이 달라서 호출 거부함.

   

   document.domain = 'naver.com' 으로 설정하면 가능.


2. Cross domain proxy 

   자바스크립트에서 동일 서버의 URL을 호출하고, 이 URL에서 내부적으로 다른 모데인의 URL을 호출하는 것.



3. Cross domain JSON(get 방식만 가능)

  현재 페이지의 스크립트에서 다른 서버로 Ajax 호출을 시도하는 것은 허용되지 않는데 JSONP(JSON With Padding)을 사용하여 해결 가능합니다. jsonp의 원리는 동적으로 script 태그를 생성하고 src부분에 호출할 서버 주소와 파라미터를 붙여서 넣고 document.body에 dom메소드를 사용하여 append합니다. 서버는 다음과 같은 형태로 응답하게 됩니다

callback_function_name{{name:"test"})


'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
http와 https  (0) 2016.07.26

http (hypertext transfer protocol)

웹상에서 웹 서버와 사용자(인터넷 브라우저) 사이에 하이퍼텍스트 문서를 전송하기 위해 사용되는 통신 규약.

https (hypertext transfer porotocol over secure sockets layer)

하이퍼텍스트 전송규약 계층 아래의 SSL서브 계층에서 사용자페이지 요청을 암호화,복호화 과정을 통해 데이터를 주고받기 때문에 보안상 더 안전함. 


하지만 보안상 안전한 https를 사용안하고 http를 곳곳에서 사용하는 이유?

 - 암호화에 따른 속도차이.



'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26

+ Recent posts