# 파일 업로드 --> 파일 업로드를 하려면 폼태그를 이렇게 설정하면 됨 multipart/form-data 형식으로 전송된 데이터는 request.getParameter()같은 메서드로 접근 할 수 없어서 서블릿 3.0에 추가된 Part 인터페이스를 사용해서 접근 파일 업로드를 하려면 web.xml 에 세팅 ================================ C:\Tomcat 8.5\webapps\pp1\upload -1 -1 1024 request.getContentType(); --> enctype을 얻어옴(default:application/x~~ , multipart/form-data) Collection parts=request.getParts(); --> 넘어온 파라미터들 ..
# sitemesh 웹 페이지의 레이아웃을 효울적으로 처리할 수 있도록 도와주는 프레임워크. 기본적으로 filter형식으로 동작하고 있음. 완전한 HTML 페이지를 생성한 뒤 Decorator라는 패턴을 사용하여 데코레이터HTML 페이지에 레이아웃을 입히는 방식. 즉, 원래) 요청 ->해당페이지->응답 sitemesh) 요청->해당페이지->decorator(sitemesh로 데코해줌)->응답 ex) url 요청 = http://localhost:8282/sitemesh1/hello/a.jsp **web.xml** filter형식으로 선언되어있음 com.opensymphony.module.sitemesh.filter.PageFilter 안에 내부적으로 sitemesh.xml을 호출 **sitem..
#어노테이션 컴파일 시 에러를 발생시키거나 경고해주는 목적. 소스 코드에 메타데이터를 표현하는 목적. * 만들어져있는 어노테이션 @Override - 메소드가 오버라이드 됐는지 검증.부모 클래스 또는 구현해야할 인터페이스에서 해당 메소드를 찾을 수 없다면 컴파일 오류. @Deprecated - 메소드를 사용하지 말도록 유도. 만약 사용한다면 컴파일 경고. @SuppressWarnings - 컴파일 경고를 무시. @SafeVarargs - 제너릭 같은 가변인자 매개변수를 사용할 때 경고를 무시.(자바7 이상) @FunctionalInterface - 람다 함수등을 위한 인터페이스를 지정. 메소드가 없거나 두개 이상 되면 컴파일 오류.(자바 8이상) * 메타 어노테이션(Meta Annotati..
#국제화태그 //나라 세팅 //패키지 //key의 value 바로출력 // value s에 담음 //담은거 쓰는 활용 a.b.properties =================== AAA=abc BBB=def a.b_kr.properties =================== AAA=\uAC00\uB098\uB2E4 (한글치면 자동으로 유니코트도 바뀜) BBB=\uB77C\uB9C8\uBC14 실전예제) tt1.jsp ============================================== ID : PW 한국어 | 영어 tt2.jsp ================================ b.properties ==============================..
JSTL :사용자가 직접만들어서 쓸 수 있는 costom tag 중 많이 쓰는것들을 모아 표준으로만든것. 태그를 사용하려면 taglib 지시자를 선언해줘야됨 ex) 웬만하면 c(코어)쓰고 잘 안바꾼다. #코어태그 1) ex) bbb 둘다 똑같은 밑의 효과 var a=bbb; 출력 : ${a}--> bbb 2) target: 표현식() or EL(${}) 형식 (자바빈,map만 받음) property: 자바빈:set이름() , map map.put(이름,값) 을 제공받아야된다. 3) 4) if문 비슷 ... 5) swich랑 else if 섞은느낌 ... ... ... 6) for문 비슷 ... items--> map,배열,Collection 만 올 수있음 varStatus : 루프정..
# 액션태그 id = 객체 불러올 아이디(변수) class = 자바빈 클래스 scope = 영역(page,request,session,application) defalut=page 이거를 짧고 보기좋게 바꾸면 이런식으로 바꿀 수 있다. xxx.jsp?id=aa --> 이것도 태그로 바꿀수있다.(property="*"하고 value값 없애면 자동세팅) --> 이것도 당연히 됨(property="*"은 못씀) # Cookie : 클라이언트의 저장장소(사용자의 하드디스크에 저장) Cookie cookie=new Cookie("cookieName","cookieValue") //쿠키생성 Cookie cookie=new Cookie("name",URLEncoder.encode("Value","UTF-8"..
# preventDefault 메서드 : 기본 이벤트를 제거한다. [ex] 연결 //링크 연결안됨(기본이벤트제거됨) # stopPropagation 메서드 : 이벤트전달을 제거한다. $(document).ready(function(){ $("a").click(function(e){ $("#b1").css("backgroundColor","blue"); e.stopPropagation(); //누른버튼만 색깔바뀌고 전달안됨 e.preventDefault(); }); $("h1").click(function(){ $("#b2").css("backgroundColor","orange"); }); }); 연결 # $.param() $(document).ready(function(){ var data={ name..
jqgrid # onSelectRow: function(id){} 이벤트 onSelectRow: function(id){ alert(id); } }); $(´#grid´).addRowData(1,{"id":"a","pw":"b","addr":"c","tel":"d"}); $(´#grid´).addRowData(2,{"id":"e","pw":"f","addr":"g","tel":"h"}); }); # 그리드.getRowData(id) : 주어진id에 해당하는 줄의 object반환 onSelectRow: function(id){ alert($(this).getRowData(id).pw); } }); $(´#grid´).addRowData(1,{"id":"a","pw":"b","a..
servlet :톰캣위에서 동작하는 java프로그램 음..WAS를 통해 컴파일 된후 메모리에 적재되어 클라이언트의 HTTP get,post 등의 요청을 처리하는 자바 프로그램 #get,post -> defalut get방식 -> get방식 -> get방식 -> get방식 -> post방식 get방식 -> url에직접사용 (doGet) post방식 -> url에 안나옴 (doPost) #서블릿 생성하기 1. web.xml의 servlet Test2 Test2 c.d.Test2 mm bb 1 //톰캣켤때 미리호출 Test2 /aabbcc //url #서블릿 실행하기 mm bb -->해당 서블릿에서만 사용 response.setContentType("text/html; charset=UTF-8"); Print..
json 웹서버에서 클라이언트에 데이터를 넘겨줄때 객체 타입으로 못넘김 왜냐면 클라이언트가 자바를 다 가지고 있는게 아니라서 못읽음 그래서 데이터통신 방식으로 xml,jsonobject 2가지 방식이 있다. json의 타입(형식) {"키값":"값","키값":"값"} 자바에서 데이터를 검색한 뒤 클라이언트에 응답할때 JSONObeject의 힘을 빌리자!!!!! MemberBean bean=dao.selectMember(id); ArrayList list=dao.selectMemberList(); map.put("aa",bean); map.put("bb",list); JSONObeject obj=JSONObeject.fromObject(map); out.println(obj); 결과= {"aa..