본문 바로가기

java

(14)
java request information request name value request header name value
자바 가변인자 (variable argument type) 1. 가변인자로 전달되는 인자의 타입은 같아야 됩니다. 2. 메소드 정의시 가변인자는 제일 마지막에 정의되어야 합니다. The variable argument type String of the method testVarArgs must be the last parameter라고 컴파일 에러 메세지가 나오네요. 3. 자바 5 이상에서 동작합니다. public class Test { public static void main(String[] args) { testVarArgs(1, "Microsoft", "Apple", "IBM"); testVarArgs(2, "Red", "Green", "Blue", "Black", "White", "Orange", "Yellow"); } public static void..
구글날씨 api 이용하기 Java의 URL.openConnection()을 이용해 http://www.google.co.kr/ig/api?weather=seoul로부터 정보를 가져와서 날씨정보를 간단하게 jsp로만 표현해 보았다. XML 파싱은 jdom(http://www.jdom.org/)을 이용했다. 시군 영문코드는 http://junelife.tistory.com/36?3d6c9248를 참조하면 된는데 시군 영문코드를 정확하게 알기위해 google code에서 아무리 찾아봐도 날씨api에 대한 내용이 없던데 서핑중 다음 블로그에서 공식 api가 아니란 내용을 봤다. http://blog.emerick.org/2008/05/07/google-weather-api-feed-documentation/ 재미로 하면 몰라도 공식 a..
Tag Library Function 이전 포스팅에 있던 2008/12/31 - [java] - Custom Tags in JSP Pages가 tomcat6에서 잘되던게 jeus5에서 실행되지 않는다. 질문을 올려도 답도 없고(짜증..) 그래서 이방식으로 바꾸었다. servlet spec 2.4인데 web.xml에 따로 설정해준것은 없다. java method는 static이어야 한다. java class package kr.co.test.common; import java.util.Calendar; import java.util.Date; public class TagFunctions { public static String stringShorten(String inputString, int limitLength) { if (inputSt..
Custom Tags in JSP Pages Custom tag는 Tag library 를 만들때처럼 복잡하지도 않고 jsp 를 이용해 만들수 있어 간편하다. Custom tag역시 jsp에 속해 같이 servlet화된다. view쪽에서의 공통된 부분을 tag화 시키는데 유용할 듯 하다. 다음예제는 날짜를 입력받아 현재날짜와의 차이를 구해 new 이미지를 표현해주는 로직을 tag화 시켜본것이다. 만들고 나서 생각하니 더 할일이 많지만 java method를 tld정의를 통해 function화 하는 것이 더 나아보인다. 다음은 sun에서 제공하는 tutorial페이지이다. http://java.sun.com/javaee/5/docs/tutorial/doc/bnalj.html /WEB-INF/tags/dc.tag = count){ isNew = tru..
Java -classpath 옵션 테스트 프로그램을 구현하다가 웹이 아닌 그냥 자바 클래스를 실행해야 하는 경우가 생겼다. 그런데 -classpath옵션이 window랑 unix를 틀린것을 발견했다. 웹프로그래밍만 하다 보니 이제껏 이걸 모르고 있었다는게 한심하다. 다른점은 구분자(semi-colon과 그냥 colon)의 차이점이다. 예를 들면 다음과 같다. window java -cp .;..\lib\mail.jar;..\lib\activation.jar mail.MailSender unix java -cp .:../lib/mail.jar:../lib/activation.jar mail.MailSender java의 help를 보니.. 다음과 같이 정확하게 구분자가 나와 있었다. window c:\>ver Microsoft Window..
ClassLoader를 이용한 서버 종류 알아내기 현재 프로젝트가 개발은 Tomcat으로, 서버는 JEUS를 사용하고 있습니다. 이런 환경을 제가 만든건 아니고 ㅡ.ㅡ; EJB개발하는것도 아닌데 JEUS가 너무 무거우니 간단하게 그냥 tomcat가자는 다른분의 의견이 받아들여진 것이었죠. Servlet spec 2.4를 기준으로 작업을 하니 웬만한건 양쪽다 먹는데 JNDI로 datasource를 가져오는 부분의 방법이 서로 틀리더군요. Spring에서 datasource정의하는 부분도 JEUS, Tomcat용으로 따로 사용을 하곤 했죠. 이건 그냥 Spring 설정파일 바꾸는거니 그런대로 할만 했습니다. 그러다가 Spring+Ibatis조합을 안통하고 그냥 JDBC 코딩을 해야 될 상황이 생겼는데 이때는 무지하게 귀찮아지더군요. 컴파일을 새로해야 되니 ..
Tomcat과 JEUS에서의 EL Tomcat 6.0에서는 잘 돌아가는 jsp파일이 jeus 5.0으로 옮겼더니 아래 문장 때문에 selected 다음과 같은 에러가 발생했습니다. java.lang.NumberFormatException: For input string: "B01" 그래서 jsp가 컴파일된 java파일의 위치를 찾아가 보니, _jspx_th_c_if_4.setTest(((java.lang.Boolean)jeus.servlet.jsp.el.JeusExpressionEvaluator.evaluate("${param.organization2 == 0}", java.lang.Boolean.class , pageContext.getVariableResolver(), null)).booleanValue()); 구문이 실행되고 있었습..