본문 바로가기

JSP&SERVLET

[JSP_Servlet] 파일업로드_인코딩 MIME type(text/plain, text/html) : Multipurpose Internet Mail Extensions > 메시지 컨텐츠 형식을 정의하기 위한 인터넷 표준. > MIME 메시지 : 브라우저에서 열릴 문서형식 위처럼 파일 업로드를 할 수 있는 클래스를 직접 작성할 수도 있겠지만, 이미 업로드된 파일을 처리해주는 쓸만한 라이브러리가 존재한다. Commons FileUpload ApI를 이용한… 1. 위 캡처(이클립스)의 request.getContentType() 메서드의 결과 첫줄 > []. 2. 첫줄 boundary= 부분은 각각의 파라미터를 분류할 때 사용되는 구분자 3. 각각의 파라미터는 -------구분자를 통해서 분류됨 4. Content-Disposition : 전송하.. 더보기
[JSP_Servlet] EL_JSTL_taglib 표현식보다 편리하게 값을 출력한다. 즉 $를 사용하면 사용한 순간 변수는 세팅되어 set을 해도 변하지 않음 C:set > EL 변수를 생성해줌 #을 사용하여 변수를 할당하면 후에 set을 해주면 값이 변함 변수에 값을 세팅하고 그 변수명을 추후 뽑을 때 사용됨 $ : 즉시 출력 추후 변경을 해주어도 변경된 값으로 변하지 않음 # : 임시저장으로 생각하면됨. 추후 변경될 것을 대비하여 임시로 저장하는데 쓰임 #은 곧바로 생성하는 것이 아니기 때문에 템플릿 텍스트에서는 사용될 수 없다. C:out 속성은 #을 허용하기 때문에 사용은 가능하다. EL 표현언어도 11개의 기본객체를 제공한다. Param 요청 파라미터 ${param.id} 요렇게 jsp에 써놓으면 url?id=shinnim > 요렇게 넘긴 파라.. 더보기
[Java/JSP] JDBC 데이터베이스 프로그래밍 사용할 DBMS에 알맞은 JDBC 드라이버를 준비한다. Class.forName() 을 통해 로딩될 때 자동으로 JDBC 드라이버로 등록 Stmt.executeUpdate() 메서드는 where절에 지정한 아이디가 존재하지 않으면 0을 리턴한다. preparedStatement : 쿼리틀을 미리 지정해놓고 값을 나중에 지정한다. 텍스트파일을 읽어와 디비에 넣기(long varchar) PreparedStatement를 사용하는 이유 *Connection.prepareStatement()를 호출할 때 미리 DBMS는 SQL 쿼리를 분석해 놓기에 빠르다. *작은따옴표 2개로 replace 해줘야하지만 그럴필요없다. Oracle clob clob타입 insert 1. EMPTY_CLOB() : 삽입될 값을 함.. 더보기
[JSP_Servlet] 쿠키 웹서버와 브라우저는 서로 쿠기를 주고받을 수 있다. 쿠키의값은 숫자, 영어가 아닌 경우 Base64인코딩으로 처리해주서야함 Cookie 클래스가 제공하는 메서드 쿠키값 가져오기 쿠키가 있는지 확인하고 쿠키생성 쿠키값 변경하기 쿠키삭제 setMaxAge(0) setDomain - www.madvirus.net, mail.madvirus.net 등의 서버로도 쿠키 전송을 원할 때 사용된다. - 현재서버의 도메인 및 상위 도메인만 전달가능하다. - 즉 madvirus.net 1. 도메인이 .madvirus.net인 id 쿠키추가 2. 도메인설정을 하지 않는 only쿠키 추가 도메인 뿐만 아닌 파일 경로로도 쿠키를 설정할 수 있다. setDomain 디렉터리 경로에 쿠키를 세팅하면 지정한 경로 또는 하위 경로에.. 더보기
[JSP_Servlet] include_forward_param Jsp include 즉 플러쉬를 하면 sub.jsp include될 jsp의 헤더정보가 미리 flush되기 때문에 header를 추가해도 변경되지 않는다는 의미 Jsp:param > Jsp:include될 jsp안의 파라미터를 추가할 수 있다. infoSub.jsp에 파라미터를 추가로 전달함 Request 객체에 전달되므로 위와 같이 jsp:param의 파라미터를 받을 수 있다. 동일한 파라미터가 존재하는 경우 기존 파라미터를 유지하면서 새로운 값을 추가한다. 위와같이 파라미터가 2개로 추가되는데, request.getParameter를 실행하면 기존 파라미터가 아닌 jsp:param을 통해 추가된 파라미터의 값을 사용하게된다. 2개를 모두 사용하려면 아래와 같이 request.getParameterV.. 더보기
[JSP&Servlet] push 채팅 비동기 통신 객체생성 1. Onreadystatechange : ajax성공 후 이동할 곳 2. Open get방식 3. Send post방식 채팅 입력폼 1. Typeof : 이게 무슨 속성인지 알 수 있다. 아래 스샷 참조. 2. eventSource 인자로 주어진 url에 접속해 데이터를 주기적으로 받는다. - 서버 > 클라 방향으로만 데이터를 전달하는 단방향 통신기술 1. Http Cache : 브라우저가 웹페이지 구성요소를 pc의 하드디스크에 저장했다가 같은 요소가 다시 불릴 때 서버에 요청하지 않고 저장된 것을 보여주는 것 2. Response.setHeader(“cache-control”, “no-cache”) : 실제 서버에서 데이터를 직접 받아오고 싶은 경우 요 필드를 지정하면 해당 요청.. 더보기
[JSP&Servlet] pulling 채팅 1. encodeURIComponent : 파라미터를 여러 개 넘기는 경우 url을 encoding할 때 사용된다. 자세한 부분은 model2 > encodeURI편 참조 : url은 인코딩을 해야한다. 아스키코드만 인식을 하기 때문이다. 1. IE인지 그 외 브라우저인지에 따라 xhr 객체 생성 2. Mothod get or post 2가지만 들어온다. toLowerCase() : 소문자변환 하여 get과 비교하여 참이면 get 아니면 post 3. Onreadystatechange = Callback > 서버로 정상적으로 요청이 갔을 때 호출되는 메서드 4. Open : get방식 5. Send : post방식 xhr객체 생성하여 url, param, callback함수, 방식 으로 비동기 전송 성공.. 더보기
[JSP_Servlet] MODEL2 고전방식 게시판 등록폼 1. Ojdbc 라이브러리 추가. Context.xml 커넥션풀 생성 후 2. oracleDataSource 객체 생성하여 context lookup jndi 3. static 초기화 블록 : 클래스가 메모리에 로드될 때 단 한번만 수행되며, 주로 클래스변수를 초기화하는데 주로 사용된다.(계속 생성할 것인가? 한번 생성하여 재사용할것인가? ㅍ로그램이 종료되면 JVM에게 해당 메모리를 반환한다. 4. Static 메서드 : 클래스의 객체생성 없이 바로 사용이 가능하다. 5. DB와 파라미터를 맞춰 VO 생성 6. Context.xml은 model1 or jdbc 참조 보낼 url과 메서드 형식을 만들어줄 forward 생성 Action interface 생성 1. Interface를 사용하는 이유 .. 더보기