반응형

http://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/cookie-handling/


spring anotation


package com.logicbig.example;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;

@Controller
public class MyController {

    @RequestMapping("test")
    public String handleTestRequest (Model model,
                                     HttpServletRequest request,
                                     HttpServletResponse response) {


        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            Arrays.stream(cookies)
                  .forEach(c -> System.out.println(c.getName() + "=" + c.getValue()));
        }

        Cookie newCookie = new Cookie("testCookie", "testCookieValue");
        newCookie.setMaxAge(24 * 60 * 60);
        response.addCookie(newCookie);

        model.addAttribute("msg", "test method msg");
        return "my-page";
    }

    @RequestMapping("test2")
    public String handleRequest (
                        @CookieValue(value = "testCookie",
                                            defaultValue = "defaultCookieValue")
                        String cookieValue, Model model) {
        System.out.println(cookieValue);
        model.addAttribute("cookieValue", cookieValue);

        return "my-page2";
    }
}


JSP 쿠키


http://fruitdev.tistory.com/118


쿠키생성

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 
<%
 
    // 회원번호
    String memberNo = "58272836" ;
 
 
 
    // 회원번호를 쿠키에 지정한다
    Cookie c = new Cookie("memberNo", memberNo) ;
     
    // 쿠키에 설명을 추가한다
    c.setComment("회원번호") ;
     
    // 쿠키 유효기간을 설정한다. 초단위 : 60*60*24= 1일
    c.setMaxAge(60*60*24) ;
     
    // 응답헤더에 쿠키를 추가한다.
    response.addCookie(c) ;
%>


쿠키 가져오기

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 
<%
 
    // 쿠키값 가져오기
    Cookie[] cookies = request.getCookies() ;
     
    if(cookies != null){
         
        for(int i=0; i < cookies.length; i++){
            Cookie c = cookies[i] ;
             
            // 저장된 쿠키 이름을 가져온다
            String cName = c.getName();
             
            // 쿠키값을 가져온다
            String cValue = c.getValue() ;
             
             
        }
    }
 
%>



쿠키 삭제

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 
<%
 
    // 전체 쿠키 삭제하기
    Cookie[] cookies = request.getCookies() ;
     
    if(cookies != null){
        for(int i=0; i < cookies.length; i++){
             
            // 쿠키의 유효시간을 0으로 설정하여 만료시킨다
            cookies[i].setMaxAge(0) ;
             
            // 응답 헤더에 추가한다
            response.addCookie(cookies[i]) ;
        }
    }
     
     
    // 특정 쿠키만 삭제하기
    Cookie kc = new Cookie("memberNo"null) ;
    kc.setMaxAge(0) ;
    response.addCookie(kc) ;
 
 
%>



JQUERY 쿠키


http://naminsik.com/blog/1864


<head>와 </head>사이 아래 코드를 삽입한다.

 

1. 쿠키를 저장하는 방법은 아래와 같다.

 werty는 쿠키이름, sunday는 그에 대한 값을 넣는 것이다.

sunday대신에 php 경우 $id 이런식으로 아이디 값을 넣어주면 해당 아이디가 쿠키로 저장된 것이다.

별달리 그냥 팝업창으로 쓸 때 필자는 sunday 부분에 ok라고 넣는다.

그리고 확장형은 아래와 같다.

 expires : 만료일을 의미한다. 위 예제로 보면 7일동안 해당 쿠키를 유지한다는 이야기다.

path : 경로설정이다. 이 사이트의 모든 페이지가 해당된다면 / 이렇게 슬러시만 둔다. 그렇지 않고 특정 폴더라면 경로를 넣으면 된다.

domain : 쿠키가 적용될 도메인이다. 기본 설정은 쿠키가 만들어진 도메인이다.

secure : 기본 설정은 false로 되어있다. true/false 로 입력가능하며 true 일 경우 https 프로토콜만 적용된다.

 

2. 쿠키를 불러오는 방법은 아래와 같다.

저장된 쿠키중에 werty의 값을 불러온다.

 

3. 쿠키를 지우는 방법은 아래와 같다.

 이렇게 하면 저장되어있던 werty의 값을 지운다.

다른 방법으로 만료일을 -1로 바꾸어 초기화시키는 방법도 있다.

 만료일을 지난날로 지정해버리는 방법이다.

두방법다 초기화는 되지만 첫번째에서 주의할 점은 쿠키 저장시 자신이 설정한 도메인(domain)과 경로(path)가 디폴트가 아니라 설정했었다면 적용되지 않는다.

반응형
반응형




https://tonyne.jeju.onl/2016/08/02/spring4-haspmap-db-select-json-output/


vo

Map

Iist 등등 정리된 사이트



http://www.nextree.co.kr/p11205/


스크립트 이용 정리



http://roqkffhwk.tistory.com/120



파이 차트 제이쿼리

http://www.jqueryflottutorial.com/tester-5.html

반응형
반응형

  var dateObj = new Date();

var today = WebSquare.date.getFormattedDate( dateObj, "yyyy-MM-dd" );


흐흐

반응형
반응형



@RestController


@Controller



종류가 2개다..



@RestController


요 컨트롤러에다가 jsp 연결 할려고 몇번을 삽질 .... 죽어도 안됨



@Controller


jsp 맵핑(각종파일) 맵핑은 여기다 하시면 됩니다. ㅎㅎㅎ








반응형
반응형


간단히 팝업에서 글등록 처리 후 

부모창 리프레쉬 해주는 기능.. 을 3시간 ... ;;;;;


내가 알던 js(location.reload) 로 안되니 미치 

웹스퀘어 사이트도 점검중이고 ㅋㅋ


오늘의 삽질기


팝업 콜


        Func.popUp = function(row, col){

     

var options = { title : "제목", width:823, height:520, modal:true, resizable:false, scrollbars:false,

type: "litewindow",

popupParam : { 

closeCallbackFncName : "searchWorkingList", 

targetIframe: window.frameElement.id,

pageId: "xxxx.xml"

}

};

parent.cFunc.openPopup("_M_POP", "/views/실제경로.xml", options);

};   


우선 팝업 콜 할때 

자식창에서 부모 정보를 받는다


               var param = JSON.parse(WebSquare.uiplugin.popup.getPopupParam());


        Func.parentObj = opener || parent;

        Func.callbackFunc = param.closeCallbackFncName;

        Func.popupUID = WebSquare.net.getParameter("popupID"); //고유ID

        Func.pageId = param.pageId;  //호출한 페이지id

        Func.targetIframe = param.targetIframe;


로그로 찍어본다


$w.log("############## param start #################### \n");

$w.log("###### Func.parentObj  ====="+ Func.parentObj +"\n");

$w.log("###### Func.callbackFunc     ====="+ Func.callbackFunc +"\n");

$w.log("###### Func.popupUID    ====="+ Func.popupUID +" \n");

$w.log("###### Func.pageId     ====="+ Func.pageId +" \n");

$w.log("###### Func.targetIframe     ====="+ Func.targetIframe +" \n");

$w.log("########### param end ######################### \n"); 


저장 수정 등등 작업을 하고

Func.closePopup(); 호출


팝업 close (웃긴게 팝업 닫을때도 ID가 필요함 그냥 close는 안됨;)


Func.closePopup = function(){

  var call = "부모창에 메서드를 적어준다"; 

  // 예 )   var call = "Envlist(false)"; 

  // 부모창 메서드 실행후 

  Func.parentObj.frames[mFunc.targetIframe].getWindow().eval( call );

 //팝업 close

$w.closePopup( Func.popupUID );


};              


- 끝 -        

           



반응형
반응형

원하는 DataList 호출

var row = DataList.getMatchedIndex( "조회필드" , ccpyCD , "and" , false );


해당 row 를 포커스

그리드ID.setFocusedCell( 선택될 로우 , "포커스 될 필드명" , false );


gridID.setFocusedCell( parseInt(row) , "F_NAME" , false );

반응형
반응형


WebSquare.ModelUtil.removeInstanceNodes("아이디 혹은 객체");


반응형
반응형



$w.getParameter("넘어온 파라미터 명")


선택될 탭 인덱스 번호 

tabControl1.setSelectedTabIndex( 1 );


간단한데.. 복잡하게 생각함;;


반응형
반응형


윈도우 10으로 업데이트 하면서 STS도 지우고 새로 받았다 !! 


다운받고 실행 시키는데 뭔가 이상한애러


Failed to load the JNI shared library


아 패스 안잡았구낭





다시 실행 같은 애러 !!!


뭐지뭐지 하다보니


STS 32 BIT 로 다운 받음


설치 된 JAVA 버전 확인 법




자바 64 BIT 네 ....


64 비트 STS로 다시 다운 받음 ㅋ


https://spring.io/tools/sts



성공 윈도우10 깔끔하네요



반응형
반응형

pstmt.close(); 할때 주의 사항



                query = new StringBuffer();

                query.append("SELECT COUNT(*) CNT FROM 테이블 WHERE REQ_NO = ?    \n");

                pstmt = conn.prepareStatement(query.toString());

                

                pstmt.setInt(1, reqNo);             

                rs = pstmt.executeQuery();


여기서 바로 닫아 버리면 아래쪽에서 rs 데이터를 체크 할 수없다


  eCnt = 0;

                

                while (rs.next()) {

                    eCnt = rs.getInt("CNT");

                }    


pstmt.close();


rs에서 불러온 값 변수 할당 후 닫아주도록 하자


이래서 프레임웍을 쓰나보다 


시대가 어느시대인데 이런방식으로 신규 개발 되었다 


하나하나 찾아서 close 처리 해주고 있음 


아 짜증 !!!!!!!!!!!

반응형

+ Recent posts