참고할 소스가 있어 okjsp 소스를 받아서 import 시켰는데 Server버전이 맞지 않아서인지 Server unbound 가 발생하였다.

(Build path 확인)



프로젝트 우클릭 > Properties > Build Path > unbound 된 서버 삭제 또는 수정 > Add Library > Server Runtime > 서버 선택

서버를 설정함으로써 unbound 에러가 사라지게 된다. 


참고 사이트 : http://blog.daum.net/reparty/55

'tomcat' 카테고리의 다른 글

JRebel 무료로 사용하기  (0) 2014.09.19
Catalina.out 사용중지  (0) 2013.09.25
Tomcat. Catalina Log 기록하지 않기  (0) 2013.04.29
톰캣 7.0 server.xml  (0) 2012.04.05
publishing faild with multiple error.  (0) 2012.03.28

public static String strValueToJson(Map<Object, Object> strValue) {

JSONObject jsonobject = new JSONObject( strValue );

try {

return  jsonobject.toString( strValue .size());

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return  jsonobject.toString();

}

}

이클립스를 설치했을때 국내의 경우 EUC-KR로 되어있어 개발중에 곤란을 겪는 경우가 있다. 

그럴때 캐릭터 셋을 바꿔야 하는데 한번에 바꾸는 팁을 소개한다.

Windows - Preferences

메뉴 상단바에 encoding 검색 

검색된 메뉴 선택하여 변경




maven dependency problem

missing artifact

문제 발생 : 인터넷이 잠시 끊긴 상태에서 프로젝트 Clean 및 Refresh 결과 dependency 발생

문제 상황 : 메이븐 pom.xml에 등록된 라이브러리가 전부 등록되지 않는 문제. maven에서 참조되는 모든 라이브러리에 error발생

문제 해결 : 프로젝트 우클릭 > Update Maven Dependencies 실행 > Force Update of Snapshots/Release 체크 후 확인



아마 인터넷이 끊긴 또는 check out 상황에서 라이브러리 연결을 하려고 하니 오류가 발생한듯.. 강제 업데이트로 라이브러리 재연결을 통해서 해결.

maven은 참 편하긴 하지만 문제 일으키면 막막하구나. (4시간 삽질)

보통 if문으로 문자열을 비교 할때

String TEST = "java";

 

if(TEET.equals("java")){

......

}

 

 

요런식으로 비교를 합니다. 하지만 이렇게 비교 하면 TEST에 null 값이 들어 가면 에러 나게 됩니다. 하지만

 

 

if("java".euals(TEST)){

....

}else{

....

}

 

if( srt != null && str.equals("java") ){

}

 

출처 : 코드인

[출처] if문 문자열 비교|작성자 세바니

F5 - 함수 안으로

F6 - 다음함수

F8 - 컴파일로 복귀 (완료, 다음 중단점에 다시걸림)

String 변환
    public String convertStreamToString(InputStream is)
            throws IOException {
        /*
         * To convert the InputStream to String we use the
         * Reader.read(char[] buffer) method. We iterate until the
         * Reader return -1 which means there's no more data to
         * read. We use the StringWriter class to produce the string.
         */
        if (is != null) {
            Writer writer = new StringWriter();

            char[] buffer = new char[1024];
            try {
                Reader reader = new BufferedReader(
                        new InputStreamReader(is, "UTF-8"));
                int n;
                while ((n = reader.read(buffer)) != -1) {
                    writer.write(buffer, 0, n);
                }
            } finally {
                is.close();
            }
            return writer.toString();
        } else {        
            return "";
        }
    }
StringBuffer 변환
     StringBuffer out = new StringBuffer();
     byte[] b = new byte[4096];
     for (int n; (n = inputStream.read(b)) != -1;) {
         out.append(new String(b, 0, n));
     }
     out.toString();


unbound 문제. java jre를 jdk로 수정.

가끔 프로젝트를 import 했을때 String 등 기본 클래스 파일들이 오류가 생기는 경우가 발생한다. 

우선 jdk를 다운 받는다. (버전,OS(bit)에 맞는걸로 입맛따라 다운)

http://www.oracle.com/technetwork/java/javase/downloads/index.html


프로젝트 우클릭 >  BuildPath > Configure Build Path 로 들어가면 


가 보이는데 우측상단의 Add를 눌러 다운받은 jdk의 Home폴더를 선택해준다.

Add > Standard VM (Next) > JRE home: (Directory) - jdk폴더 선택 > Finish

JRE로 JDK가 등록이 되며 이제 BuildPath에 추가만 하면된다.


Add Library > JRE System Library (Next) > AlternateJRE - 좀전에 추가한 jdk가 드롭다운 메뉴에 뜰것이다. > Finish


Unbound 및 jre에서 지원하지 않고 jdk에서만 지원하는 Java method의 문제가 해결된다.


maven은 쉽게 말하면 라이브러리 자동관리 플러그인 이다. (이클립스 기준) 

프로그램에서 필요한 라이브러리파일을 자동으로 생성,관리 해주어 복잡한 라이브러리 관리 및 빌드에 개발자의 편의를 돕는다.

어렵게 말하자면 전체적인 개발에 대한 라이프사이클을 관리해주며 리소스제어, 컴파일, 패키징 배포 등 프로젝트 진행에 필요한 라이브러리 중앙집중형태 관리 도구중 하나이다. (그 외 도구. Ant)

흔히 웹프로젝트의 협업, svn에서 pom.xml의 설정으로 모든 라이브러리를 관리하며 (등록/삭제)

폴더구조는 다음과 같다.

src/main/java

 - 처리 소스 (.java, package)

src/main/resource

 - 설정파일 (.xml, .xsd 등)

src/main/webapps

 - 보이는부분 웹 (jsp, html 등)


장점은 수없이 많지만 대표적인 장점

 - 일관된 디렉토리 구조로 개발의 가독성, 협업 편의성 증대.

 - 유지보수가 쉬워짐

 - 라이브러리 관리. (pom.xml)





<?xml version='1.0' encoding='utf-8'?>                                         인코딩 언어 선택

<Server port="8005" shutdown="SHUTDOWN">     

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JasperListener" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"        

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>


  <Service name="Catalina">

    <Connector port="8080" protocol="HTTP/1.1"                        웹 접속 포트 설정. 기본 8080 값 사용

               connectionTimeout="20000"

               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>


      <Host name="localhost"  appBase="webapps"                    도메인으로 쓰일 호스트명과 app위치. 이클립스에서 생성한 war 또는 웹 소스를 여기에위치한다.

            unpackWARs="true" autoDeploy="true">                         war로 생성할경우 unpackWARs를 true로 설정한다. autoDeploy를 true로 할경우 자동으로 war또는 ROOT폴더를 찾는다. (우선순위 ROOT > ~.war)

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"        로그 위치

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

    </Engine>

  </Service>

</Server>


'tomcat' 카테고리의 다른 글

JRebel 무료로 사용하기  (0) 2014.09.19
Catalina.out 사용중지  (0) 2013.09.25
Tomcat. Catalina Log 기록하지 않기  (0) 2013.04.29
프로젝트 import 시 Tomcat Server Unbound 문제  (0) 2012.05.16
publishing faild with multiple error.  (0) 2012.03.28

+ Recent posts