[JAVA] context root path

JAVA 2017. 11. 1. 11:34

context root path


Servlet

절대경로


getServletContext().getRealPath("/")); // 웹서버의 Document Root

ex) getServletContext().getRealPath("/WEB-INF/web.xml")); 


또는 


config.getServletContext().getRealPath("/");

 

또는

 

getServletConfig().getServletContext().getRealPath("/");

 

또는

 

request.getSession().getServletContext().getRealPath("/");



 

JAVA


절대경로


this.getClass().getResource("").getPath(); // 현재 자신의 절대 경로

 

this.getClass().getResource("/").getPath(); // classes 폴더의 최상위 경로

 

this.getClass().getResource("/com/test/config/config.properties").getPath(); // classes 폴더에서부터 시작하여 해당파일까지의 절대 경로

 

this.getClass().getProtectionDomain().getCodeSource().getLocation(); // 자신의 파일명(*.class)이 포함된 절대경로

 

 

 

System.getProperty("user.home"); // 사용자 홈 디렉토리

 

System.getProperty("user.dir");  // 이클립스에서 실행시 이클립스 워크스페이스 (해당 프로젝트명 전까지)




ClassLoader 사용법


ClassLoader classLoader = (Thread.currentThread()).getContextClassLoader();

 

if(classLoader==null) classLoader = ClassLoader.getSystemClassLoader();

 

URL url = classLoader.getResource("struts.properties");

 

System.out.println(url.getPath());

 

WEB-INF/classes 에 있는 리소스만 참조합니다.

 

WEB-INF 와 같이 바로 아래에 있는 있는 리소스는 참조하지 못합니다.

 

getSystemClassLoader는 java application에서 사용되는 방법이고

 

(Thread.currentThread()).getContextClassLoader() 는 web에서 사용되는 방법입니다.


현재 클래스가 상속되는(부모) 클래스라면 클래스명.class.getResource 로 해야 합니다.

 

getClass()는 실행되는 현재 자신(자식클래스가 될 수 있습니다.)을 가리키기 때문입다.

 

WEB의 절대경로와는 다릅니다.


new File("").getAbsolutePath() : 절대경로

 

new File("").getCanonicalPath() : 상대경로


[출처] http://blog.naver.com/tyboss/70055965418 

'JAVA' 카테고리의 다른 글

[JAVA] DateUtil2  (0) 2017.11.01
[JAVA]DateUtil  (0) 2017.11.01
[JAVA] CMYK 이미지 처리  (0) 2017.11.01
[JAVA] CmmProgramService 가져와 실행해 봅시다.  (0) 2017.11.01
[JAVA]ClassLoader2  (0) 2017.11.01
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

[JAVA] CMYK 이미지 처리

JAVA 2017. 11. 1. 11:09

CMYK 이미지 처리


File f = new File("/path/imagefile.jpg");

// Find a suitable ImageReader


Iterator readers = ImageIO.getImageReadersByFormatName("JPEG");


ImageReader reader = null;


while(readers.hasNext()){

reader = (ImageReader)readers.next();


if(reader.canReadRaster()){

break;

}

}


// Stream the image file (the original CMYK image)

ImageInputStream input = ImageIO.createImageInputStream(f); 

reader.setInput(input);


//Read the image raster

Raster raster = reader.readRaster(0, null);


//Create a new RGB image

BufferedImage bi = new BufferedImage(raster.getWidth(), raster.getHeight(), 

BufferedImage.TYPE_4BYTE_ABGR);


//Fill the new image with the old raster

bi.getRaster().setRect(raster);


[출처] 

http://stackoverflow.com/questions/8118712/java-cmyk-to-rgb-with-profile-output-is-too-dark 



'JAVA' 카테고리의 다른 글

[JAVA]DateUtil  (0) 2017.11.01
[JAVA] context root path  (0) 2017.11.01
[JAVA] CmmProgramService 가져와 실행해 봅시다.  (0) 2017.11.01
[JAVA]ClassLoader2  (0) 2017.11.01
[JAVA] ClassLoader  (0) 2017.10.30
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

CmmProgramService 가져와 실행해 봅시다.


public void testForInsert() throws Exception {

ProxyFactoryBean pb = context.getBean("&loggerProgramServiceProxy",     ProxyFactoryBean.class);

      System.out.println(pb.getObject());


      CmmProgramService<ZValue> dp =         (CmmProgramService<ZValue>)pb.getObject();


      ParameterContext<ZValue> paramCtx = new ParameterContext<ZValue>();

      ZValue param = new ZValue();


      paramCtx.setParam(param);

      paramCtx.setRequest(new MockHttpServletRequest());

      paramCtx.setResponse(new MockHttpServletResponse());

      paramCtx.setModel(new ModelMap());


      dp.forInsert(paramCtx);

 }

'JAVA' 카테고리의 다른 글

[JAVA] context root path  (0) 2017.11.01
[JAVA] CMYK 이미지 처리  (0) 2017.11.01
[JAVA]ClassLoader2  (0) 2017.11.01
[JAVA] ClassLoader  (0) 2017.10.30
[JAVA]classes 위치 가져오기  (0) 2017.10.30
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,