이클립스 web 프로젝트 셋팅 미분류

새프로젝트->다이나믹웹프로젝트    프로젝트명입력해서 생성

WEB-INF폴더 루트로 옴기고

WEB-INF폴더에 구조에 맞게 폴더생성(src, lib, classes)

src랑 classes랑 lib 파일 복사

lib, src파일 빌드패스로 추가(오른버튼->Build Path->Add)

classes파일 필드패스 변경(오른버튼->Bulid Path->Configration)
- Source탭에서 Default Output 폴더 변경(WEB-INF/classes로)

기타 JSP파일 구조에 맞게 복사






ibatis 연결해서 쓰기 Web

iBatis
 
쿼리가 들어있는 xml을 SqlMapConfig.xml에 등록
    <sqlMap resource="com/paju/unjung/terminal/ibatis/MainPage.xml" />
    # 쿼리문 들어있는 MainPage.xml

일단 컨트롤러클래스(implements Controller 해야겠죠?)에서 SetDao를 호출하여 변수에 dao클래스 저장
    private MainPageDao dao = null;
 
    public void setDao(MainPageDao dao){
        this.dao = dao;
    }

    - handleRequest함수 작성
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
    {
        return null;
    }
    handleRequest함수에서 dao등 호출하여 데이터를 만들면 호출한 페이지로 전달된다. ajax호출에선 null리턴 아니면 ModelAndView객체 리턴

    InputVO input = new InputVO();
    # inputVO 객체 생성
    # VO는 값 전달하거나 전달받을 클래스(구조체) 같은거
    this.dao.getBusState();
    # getBusState라는 Dao 호출
    public ArrayList<BusStateVO> getBusState(InputVO input){
        return (ArrayList<BusStateVO>) this.sqlMapClientTemplate.queryForList("main_get_busstate", input);
    }
    # ArrayList<BusStateVO>를 리턴하는 getBusState DAO
    # sql 연결된 main_get_busstate 라는 이름의 쿼리실행

    결과값은 modelandview객체에 add시켜서 페이지로 연결하던지 json객체에 add해서 연결하던지


 

 


Spring Web

Spring FrameWork 대충정리


Jsp용 프레임워크

http://www.springsource.com/download?project=Spring%20Framework 에서 프레임워크 다운로드

이클립스에서 buildpath와 라이브러리 추가해주면 기본셋팅 끗

Spring은 크게 URL Mapping부분, Controller Mapping부분, DAO Mapping부분, tiles-defs 부분으로 나눈다.

1. URL Mapping
url mapping은 우선 urlrewrite.xml에서 url룰을 정해주고 urlmapping.xml에서 들어온 url을 해당 키값으로 mapping 시켜준다.
    - urlrewrite.xml기본룰
    <rule>
        <from>^/index$</from>
        <to type="forward">/index.dynamic?menu_id=index</to>
    </rule>
    # /index 라는 url로 입력받으면 menu_id=index로 연결
    <rule>
        <from>^/([a-z]+)/([0-9]+)$</from>
        <to type="forward">/$1/$2.dynamic?menu_id=$1_$2&amp;id=$3</to>
    </rule>
    # /문자1/문자2$로 입력받으면 menu_id=$문자1_$문자2로 연결
    # 연결된 값은 urlmapping.xml에서 받음
    - urlmapping.xml 기본룰
    <prop key="/index.*">common_page_view</prop>
    # /index.*로 입력받은 url은 common_page_view 값으로 연결
    <prop key="/main/page.*">main_page</prop>
    # /main/page로 입력받은 url은 main_page 값으로 연결
    # 연결된 값은 controller.xml의 키값으로 연결되어 해당 컨트롤러와 연결되고 tiles-defs.xml에서 키값으로 연결되어 해당 페이지를 호출하도록 한다.

2. Controller Mapping
controller.xml에서 앞에서 받은 키값에 해당하는 값의 컨트롤러와 연결시켜준다.
컨트롤러에서는 해당 페이지로 데이터를 전달해주는 역할을한다(java).

    <bean name="common_page_view"  class="bis.web.common.controller.PageViewController"/>
    # common_page_view 로 들어온 값은 bis.web.common.controller.PageViewController컨트롤러에 연결
    <bean name="main_page"   class="com.paju.unjung.terminal.web.mainpage.controller.MainPageListController">
        <property name="dao"     ref="MainPageDao"/>
    </bean>
    # main_page로 들어온 값은 com.paju.unjung.terminal.web.mainpage.controller.MainPageListController컨트롤러에 연결
    # MainPageDao를 호출


3. DAO Mapping
DAO는 dao.xml에서 컨트롤러에서 받은 키값에 해당하는 dao를 호출한다.
쿼리 실행을 위해 ibatis의 값들과 연결해주는 역할을 한다.
    <bean name="MainPageDao" class="com.paju.unjung.terminal.web.mainpage.dao.MainPageDao">
        <property name="sqlMapClientTemplate"  ref="sqlMapClientTemplate"/> 
    </bean>
    # MainPageDao 로 들어온 값은 com.paju.unjung.terminal.web.mainpage.dao.MainPageDao DAO와 연결

4. tiles-defs
webrewrite.xml에서 받은 값을 tiles-defs.xml 에서 매핑하여 해당 페이지를 호출한다.
    <definition name="index"  template="/WEB-INF/jsp/terminal/index/index.jsp"/>
    # index값으로 들어온 값은 index.jsp 페이지를 호출한다.

내가쓰고도 먼소린지 모르겠네






알파값 적용하기 C++


컨트롤 알파값 적용하기

void SetTransparent(HWND wnd, int percent)
{
    SLWA pSetLayeredWindowAttributes = NULL;
    HINSTANCE hmodUSER32 = LoadLibrary("USER32.DLL");  
    pSetLayeredWindowAttributes = (SLWA)GetProcAddress(hmodUSER32,"SetLayeredWindowAttributes");
    HWND hwnd = wnd;
    SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd,GWL_EXSTYLE) | WS_EX_LAYERED);
    //ModifyStyleEx(0, WS_EX_LAYERED);  앞이랑 같은말
   // ModifyStyleEx(0, WS_EX_TRANSPARENT | WS_EX_LAYERED); 창 통과해서 클릭가능
    pSetLayeredWindowAttributes(hwnd, 0, (255*percent/100), LWA_ALPHA);
}

핸들이랑 주고싶은 알파값 전달하면 될듯

특정 색깔 투명하게하기 C++

다이얼 로그에 이미지를 올리면서 동그란 이미지 같은걸 출력할때 배경이 처리가 안되어 적용

배경이 투명한 부분이 있는 이미지(둥그스런 이미지 같은거)는 다이얼로그 띄운곳에 그냥 띄우면 표현 되겠지만

만약 다이얼로그가 이동하면 투명한 부분이 다시 그려지기가 안되더군

배경 잔상이 계속 남더라고

다이얼 로그 생성시 
    SetWindowLong(this->m_hWnd, GWL_EXSTYLE, GetWindowLong(this->m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
    ::SetLayeredWindowAttributes(this->m_hWnd, RGB(0, 0, 0), 0, LWA_COLORKEY);    // RGB(0, 0, 0) 값을 제외시킨다.

이렇게 하면 검은색 부분이 제외된 상태로 출력이 된다.

근데 이미지가 검은색이면?? ;;

이럴땐 잘쓰지 않는색으로 전체를 그린다음에 그 값을 제외시키면 되지용~

비트맵 이미지도 투명이 있던가.

걍 이미지 만들때 뺄 색깔 정해서 만드는게 낫겠다.


1 2