pageContext.getServletContext().getRealPath("/")

 

'JAVA' 카테고리의 다른 글

[JAVA] RequestContextListene request 반환  (0) 2022.05.24
[JAVA] replaceAll 정규식  (0) 2022.05.23
[JAVA] pdf를 이미지로 만들기 (PDFRenderer.jar)  (0) 2022.05.23
[JAVA] PathVariable  (0) 2022.05.23
[JAVA] Object Array  (0) 2022.05.23
블로그 이미지

마크제이콥스

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

,

web.xml 등록

<listener>
	<!-- 
		현재 요청되어진 HttpServletRequest 객체의 
		레퍼런스정보를 저장하는 기능을 제공한다. 
			
		자바 소스 사용 예) : 
		ServletRequestAttributes attr = 
			(ServletRequestAttributes)RequestContextHolder.currentRequestAttributes();
					
		HttpServletRequest = attr.getRequest();
	-->
	<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

'JAVA' 카테고리의 다른 글

[JAVA] 간단한 RootPath 얻기  (448) 2022.12.15
[JAVA] replaceAll 정규식  (0) 2022.05.23
[JAVA] pdf를 이미지로 만들기 (PDFRenderer.jar)  (0) 2022.05.23
[JAVA] PathVariable  (0) 2022.05.23
[JAVA] Object Array  (0) 2022.05.23
블로그 이미지

마크제이콥스

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

,

[JAVA] replaceAll 정규식

JAVA 2022. 5. 23. 17:30
public String replaceStringAll(String source, String regex, String replacement) { 

	if(source == null || regex == null || replacement == null){ 
		return null; 
	}
    
    regex = regex.replaceAll("\\.", "\\\\."); 
    regex = regex.replaceAll("\\*", "\\\\*"); 
    regex = regex.replaceAll("\\?", "\\\\?"); 
    regex = regex.replaceAll("\\+", "\\\\+"); 
    regex = regex.replaceAll("\\[", "\\\\["); 
    regex = regex.replaceAll("\\{", "\\\\{"); 
    regex = regex.replaceAll("\\(", "\\\\("); 
    regex = regex.replaceAll("\\)", "\\\\)"); 
    regex = regex.replaceAll("\\^", "\\\\^"); 
    regex = regex.replaceAll("\\|", "\\\\|"); 
    regex = regex.replaceAll("\\$", "\\\\\\$"); 
    
    return source.replaceAll(regex, replacement); 
}

'JAVA' 카테고리의 다른 글

[JAVA] 간단한 RootPath 얻기  (448) 2022.12.15
[JAVA] RequestContextListene request 반환  (0) 2022.05.24
[JAVA] pdf를 이미지로 만들기 (PDFRenderer.jar)  (0) 2022.05.23
[JAVA] PathVariable  (0) 2022.05.23
[JAVA] Object Array  (0) 2022.05.23
블로그 이미지

마크제이콥스

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

,

PDFRenderer는 pdf파일을 page단위로 java.awt.Image 개체로 만듭니다.

package com.pdfImg.pdfTest;

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import javax.imageio.ImageIO;
import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;

public class PdfImage {
	public static void main(String args[]) throws IOException{
    
    	//load a pdf from a byte buffer
        File file = new File("c:\\User\\test.pdf");
        RandomAccessFile raf = new RandomAccessFile(file, "r");
        FileChannel channel = raf.getChannel();
        ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
        PDFFile pdffile = new PDFFile(buf);
        
        // draw the first page to an image
        PDFPage page = pdffile.getPage(2);
        
        //get the width and height for the doc at the default zoom 
        Rectangle rect = new Rectangle(0,0,(int)page.getBBox().getWidth(),(int)page.getBBox().getHeight());
        
        //generate the image
        Image image = page.getImage(
        	rect.width, rect.height, //width & height
                rect, // clip rect
                null, // null for the ImageObserver
                true, // fill background with white
                true  // block until drawing is done
		);
        
        int w = image.getWidth(null);
        int h = image.getHeight(null);
        BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = bi.createGraphics();
        g2.drawImage(image, 0, 0, null);
        g2.dispose();
        
        try{
        	ImageIO.write(bi, "jpg", new File("c:\\User\\imagePdfTest.jpg"));
        }catch(IOException ioe){
        	System.out.println("write: " + ioe.getMessage());
        }
	}        
}

---------------- 간략한 소스 설명 ----------------
// draw the first page to an image
PDFPage page = pdffile.getPage(2);

위의 코드가 pdf의 특정 page를 선택하는 부분입니다. 2페이지를 선택했습니다.

pdffile.getNumPages();
위의 코드로 pdf파일의 총 페이지 수를 알 수 있습니다.

총 페이지 수로 for문을 돌리면 모든 페이지를 이미지로 만들 수 있을 것 입니다.

'JAVA' 카테고리의 다른 글

[JAVA] RequestContextListene request 반환  (0) 2022.05.24
[JAVA] replaceAll 정규식  (0) 2022.05.23
[JAVA] PathVariable  (0) 2022.05.23
[JAVA] Object Array  (0) 2022.05.23
[JAVA] 휴일 알아내기  (0) 2021.06.25
블로그 이미지

마크제이콥스

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

,

[JAVA] PathVariable

JAVA 2022. 5. 23. 15:36
@RequestMapping("/{siteTp}/test/selectTestList.do")
public String selectTestList(HttpServletResponse response,HttpServletRequest request,
@PathVariable("siteTp") String siteTp,ModelMap model) throws Exception{

tmpPage = "/"+siteTp+"/test/testList";

// @PathVariable 을 이용하여 REST 방식의 url을 적용

//Rest 방식으로 url을 지정할 경우에

//게시판의 경우 http://~/board/[관리자ID]/[게시물ID] 호출하면 내용을 볼 수 있도록 될 것입니다.

//컨텐츠 관리의 경우 http://~/contents/[컨텐츠ID] 호출하면 내용을 볼 수 있도록 될 것입니다.

수정된 소스 부분

1. spring-context.xml 추가

<!-- 어노테이션 스캔 설정-->
<context:component-scan base-package="*" />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" p:alwaysUseFullPath="true" />

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" p:alwaysUseFullPath="true" />

2. springmvc-context.xml

// 인터셉터 추가

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
	<property name="alwaysUseFullPath" value="true" />
	<property name="interceptors">
		<list>
			<ref bean="localeChangeInterceptor" />
		</list>
	</property>
</bean>
 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
	<property name="alwaysUseFullPath" value="true" />
</bean> 

3. web.xml 추가

<filter-mapping>
	<filter-name>authenticationFilter</filter-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>/board/*</url-pattern>
</filter-mapping>

<!-- 스프링 mvc 적용 URL -->
<servlet-mapping>
	<servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.static</url-pattern>
    <url-pattern>/board/*</url-pattern>
</servlet-mapping>

4. @Controller (kr.test.you.board.web.BoardCtrl) 함수

@RequestMapping(value = "/board/view/{manageIdx}/{boardIdx}")
public ModelAndView boardView1(@PathVariable("manageIdx") String manageIdx, @PathVariable("boardIdx") String boardIdx, ModelMap model) throws Exception {

	Map<String, Object> resultMap = new HashMap<String, Object>();

    resultMap.put("boardIdx", boardIdx);

	resultMap.put("manageIdx", manageIdx);
    
    String resultURL = "board/view";
    
    return new ModelAndView(resultURL, "resultMap", resultMap);
}
블로그 이미지

마크제이콥스

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

,

[JAVA] Object Array

JAVA 2022. 5. 23. 14:21
Object params[] = {
	StringUtils.nvl(parameters.print("cc_yn"), "n"),
    StringUtils.nvl(parameters.print("aveeno_yn"), "n"),
    StringUtils.nvl(parameters.print("johnsons_yn"), "n"),

    StringUtils.nvl(parameters.print("listerine_yn"), "n"),
    StringUtils.nvl(parameters.print("nizoral_yn"), "n"),
    StringUtils.nvl(parameters.print("rogaine_yn"), "n"),
    StringUtils.nvl(parameters.print("bandaid_yn"), "n"),

    StringUtils.nvl(parameters.print("nicorette_yn"), "n"),
    StringUtils.nvl(parameters.print("neutrogena_yn"), "n"),

    sessionEntity.print("id")
};
블로그 이미지

마크제이콥스

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

,

[JQuery] ajax 예제3

JQuery 2022. 5. 19. 14:16
function searchSiChange(obj){
	$.ajax({
		type: "POST", 
		url: "/portal/postaddr/addrSearch/searchAddr.do",
		dataType: "json",
		data: "searchAddr="+obj.value, 
		success: searchAddrResult
	});
}
				
function searchAddrResult(oj){
	try {
		var arrSignguNm = oj.signguNm.split("|");
		var tObj = document.getElementById("searchGu");
		removeAll(tObj);
						
		for (var i=0; i<arrSignguNm.length;i++){
			var opt = document.createElement("option");
			opt.value = arrSignguNm[i];
			opt.text = arrSignguNm[i]; 
			tObj.options.add(opt);
		}
	}	
	catch (err){
		alert("예외 오류입니다.");
	}
}

'JQuery' 카테고리의 다른 글

[JQuery] ajax POST방식  (0) 2022.05.18
[JQuery] ajax json 예제 2  (0) 2022.05.18
[JQuery] ajax json 예제  (0) 2022.05.18
[JQuery]ajax  (0) 2022.04.19
[JQuery]현재 페이지 URL 및 변수 가져오기  (0) 2022.04.19
블로그 이미지

마크제이콥스

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

,

[JQuery] ajax POST방식

JQuery 2022. 5. 18. 15:45
$.ajax({
	type: "POST", 
  	url: "/testpost.jsp",
  	dataType: "json",
  	data: "svalue=text&tvalue=test2", 
  	success: function(msg){
  		alert( "Data : " + msg );
  	}
 });

TIP
ajax 동기화 옵션
async: false,   ==> 해당 문구 추가

 

'JQuery' 카테고리의 다른 글

[JQuery] ajax 예제3  (0) 2022.05.19
[JQuery] ajax json 예제 2  (0) 2022.05.18
[JQuery] ajax json 예제  (0) 2022.05.18
[JQuery]ajax  (0) 2022.04.19
[JQuery]현재 페이지 URL 및 변수 가져오기  (0) 2022.04.19
블로그 이미지

마크제이콥스

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

,

[JQuery] ajax json 예제 2

JQuery 2022. 5. 18. 15:39
$.ajax({
	type: "POST", 
	url: "/ajaxtest/selectAjaxList.do",
	dataType: "json",
	data: "statsCscd=B&rtype=json", 
	success: function(oj){
		var json = eval(oj);
		if (json.length>0){
			var clevel = json[0].clevel;
			for (var i=0;i<json.length;i++){
				$("#tschRegistOrgcd").append("<option value='"+json[i].orgcd+"'>"+json[i].koreanOrgnm+"</option>");
			}
		}
	}
});

'JQuery' 카테고리의 다른 글

[JQuery] ajax 예제3  (0) 2022.05.19
[JQuery] ajax POST방식  (0) 2022.05.18
[JQuery] ajax json 예제  (0) 2022.05.18
[JQuery]ajax  (0) 2022.04.19
[JQuery]현재 페이지 URL 및 변수 가져오기  (0) 2022.04.19
블로그 이미지

마크제이콥스

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

,

[JQuery] ajax json 예제

JQuery 2022. 5. 18. 15:35
$.ajax({
		  type: "POST", 
		  url: "${contextPath}/test/list.do",
		  dataType: "json",
		  data: "clevel="+clevel+"&catcode="+pcatcode, 
		  success: changeResult2
	});

	function changeResult2(oj){
		try 
		{
			var json = eval(oj);
			if (json.length>0){
				var clevel = json[0].clevel;
				for (var i=0;i<json.length;i++){
					$("#p_cate_cd"+eval(clevel)).append("<option value='"+json[i].catcode+"' etc='"+json[i].etc+"' ordby='"+json[i].ordby+"'>"+json[i].catname+"</option>");
				}
			}
			$("#p_cate_cd"+clevel).val($("#catcode").val()).attr("selected","selected");
		} catch (err) {
			 alert("예외 오류입니다." + err);
		}
	}
    
    [{"catcode":"506100", "clevel":"2", "pCatcode":"506", "catname":"타사", "catcode1":"506", "catcode2":"100", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"62", "isuse":"0"}, {"catcode":"506101", "clevel":"2", "pCatcode":"506", "catname":"자사", "catcode1":"506", "catcode2":"101", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"63", "isuse":"0"}, {"catcode":"506102", "clevel":"2", "pCatcode":"506", "catname":"우루사", "catcode1":"506", "catcode2":"102", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"64", "isuse":"0"}, {"catcode":"506103", "clevel":"2", "pCatcode":"506", "catname":"테스트", "catcode1":"506", "catcode2":"103", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"65", "isuse":"0"}, {"catcode":"506104", "clevel":"2", "pCatcode":"506", "catname":"서비스업체", "catcode1":"506", "catcode2":"104", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"66", "isuse":"0"}, {"catcode":"506105", "clevel":"2", "pCatcode":"506", "catname":"사랑의실", "catcode1":"506", "catcode2":"105", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"67", "isuse":"0"}, {"catcode":"506106", "clevel":"2", "pCatcode":"506", "catname":"정보사", "catcode1":"506", "catcode2":"106", "catcode3":"", "catcode4":"", "catcode5":"", "catcode6":"", "matchcode":"", "etc":"", "ordby":"68", "isuse":"0"}]

 

public static void printJSONValue(HttpServletResponse response, MyBuilderDescriptor mybuilderData) throws Exception {
		response.setContentType("application/x-json; charset=UTF-8");
		response.setHeader("Cache-Control", "no-cache");
		ZValue zvl = null;
		JSONArray jsonArray = new JSONArray();
		
		String[] arr_colm =  mybuilderData.getSbColum().toString().split(MyBuilderUtil.col);
		String[] arr_data =  mybuilderData.getSbData().toString().split(MyBuilderUtil.row);

		int len_colm = arr_colm.length;
		int len_data = arr_data.length;

		for (int i=0; i<len_data ; i++){
			
			for (int j=0; j<len_colm ; j++){
				String[] arr_dataColm = arr_data[i].split(MyBuilderUtil.col);
				zvl = new ZValue();
				zvl.put(arr_colm[j], arr_dataColm[j]);
			}
			jsonArray.add(zvl);
		}
		log2.debug(jsonArray.toString());
		response.getWriter().write(jsonArray.toString());
	}

'JQuery' 카테고리의 다른 글

[JQuery] ajax 예제3  (0) 2022.05.19
[JQuery] ajax POST방식  (0) 2022.05.18
[JQuery] ajax json 예제 2  (0) 2022.05.18
[JQuery]ajax  (0) 2022.04.19
[JQuery]현재 페이지 URL 및 변수 가져오기  (0) 2022.04.19
블로그 이미지

마크제이콥스

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

,