<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import  = "com.bbs2.*" %>   
<%
 request.setCharacterEncoding("EUC-KR");
 String key = request.getParameter("key");
 
 int pageNo = 0;
 try{
  pageNo =Integer.parseInt(request.getParameter("pageNo"));
 }catch(Exception e){
  pageNo = 0;
 }
 int pageSize = 5;
 int lineCount = 3;
 int totalCount = 60;
%>

 

<script>
 function _goto(num){
 
  var obj  =document.getElementById("keyword"); // 값을 뽑을때 사용
  //alert(obj.value);  
  //self.location="listEx.jsp?page="+num;
  document.form1.pageNo.value  = num;
  document.form1.key.value = obj.value;
  document.form1.action = "listEx.jsp";
  document.form1.method = "post";
  document.form1.submit();
 }
</script>
<form name ="form1">
 <input type = "hidden" name = "pageNo">
 <input type = "hidden" name ="key" value ="<%=key%>">
</form>

 제목 : <input type ="text" name = "keyword" id  = "keyword" value = "<%=key%>">
 <br />

<% 
 PageUtil pu = new PageUtil();
 pu.drawPageUser(pageNo, //보여줄 페이지 번호
     lineCount, // 페이지 번호 갯수
     pageSize, // 페이지당 갯수
     totalCount, // 전부
     out);
 
%>

http <----  http에 관한 모든것은 http://www.w3.org
     http://msdn2.microsoft.com/en-us/default.aspx

 

1)<% %> scriptlet(스크립트)
  : 자바 코드 넣는곳
  : 분리가능
  local 변수 .. 매번 초기화  


2)<%= %> expression(표현식)
  : HTML코드내에서 변수혹은 결과값을 출력하기 위해서 사용

 

3)<%! %> declaration(선언)
  : 인스턴스 변수, 메소드 선언
   %선언시 무조건 public 로 선언
   %동기화 조심
   
   선언시 인스턴스 변수는 가능한 쓰지 않는다.
   
-----------------------------------------------------------------------------------------

내장객체 : 아무것도 하지 않아도 기본적으로 생기는 변수 ..

ex) request = HttpServletRequest()
 ->


<form method="post" action = "result.jsp">

/* 두번 처리
post로 보냈을때 encoding방법
request.setCharacterEncoding("EUC-KR");  // 이거 한줄이면 끝남 .. servlet스펙 2.3부터.. 부터 생김
|->request에 들어오는 한글 정보를 모두 . decoding해준다.

servlet스펙이 떨어질때 사용 .
nameVal = new String(nameVal.getBytes("8859_1"),"EUC-KR"); 유로파 .. 글자를 한글로 디코딩 .
*/

page 지시자

autoFlush
|-> 버퍼 사이즈 이후 자동 출력 (8kb)의 버퍼가 차면 자동으로 출력.
    크기 조정할 수 있음.
`
isThreadSave
|-> 한가지 쓰레드만 가지고 사용하는것 .. 절대 사용금지.


 

다운경로 http://jakarta.apache.org 에서 다운

Ex-Jakarta  ant 다운로드

 

ant환경변수 설정

시스템 변수
변수 명 ANT_HOME
경로 명 C:\apache-ant-1.7.0

변수명 Path
경로명 %ANT_HOME%\bin;

http://jakarta.apache.org

Ex-Jakarta  logging

http://logging.apache.org/log4j/1.2/apidocs/index.html doc 문서

 

 

 

ant를 환경변수 잡고 . 실행

 

logging이 압축이 풀린곳으로 이동하여 ant를 실행

ant jar 해주면 logging 다운폴더에 dist가 생긴다 .. 거기에 lib폴더 안에 log4j-1.2.15 파일을 web-inf밑에 lib폴더에 삽입

 

Logger : 실제로 로그를 기록하는 객체1

 

Appender : 로그를 출력하는 대상 . (콘솔 || 파일에 출력가능)

 

Layout : 로그 포멧

 

하나의 Logger에는 n개의 Appendar이 붙는다.

 

메쏘드 (method)

 

1 레벨 debug()

 

2 레벨 info()

 

3 레벨 error()

 

4 레벨 warn()

 

5 레벨 fatal()

 

사용법 ..

 

package com.ex;

import java.io.IOException;

import org.apache.log4j.*;
import org.apache.log4j.helpers.DateLayout;

 

public class LogEx1 {

 
 public static void main(String[] args) throws IOException {
  
  
  Logger logger  = Logger.getLogger(LogEx1.class);//
  //Logger logger  = Logger.getLogger("EX"); 
  
  // 로그에 레벨 지정하기
  //logger.setLevel(Level.ERROR);
  
  
  //시간을 이용해서 Layout를 쓸때 사용 time, thread,
  /*DateLayout layout = //new SimpleLayout();
    new TTCCLayout();
  */
  // 심플하게 그냥 찍을 때 사용
  //Layout layout = new SimpleLayout();
  
  // patternLayout를 사용하여 .. 데이타를 포멧 해서 찍기  현재 시간[%d], 현재 실행되는 쓰레드 [%t] , 현재 실행되는 메소드%M 출력하려는 메시지 %m
  Layout layout = new PatternLayout("%d{HH:mm:ss} [%t] %M %m \n");
  
   
  
  //appender 에 레이아웃을  지정
  Appender app1 = new ConsoleAppender(layout);
  logger.addAppender(app1); //logger에 appender을 붙인다.
  
  //logger 하나에 여러개의 appener을 붙일수 있다 . 
  
  
  
  RollingFileAppender app2 = new RollingFileAppender(layout,"c:\\zzz\\logex1.txt");
  app2.setMaxFileSize("2KB"); // 2kb짜리를 하나 만들고 안만든다 .. 파일에 내용을 덮어쓴다.
  app2.setMaxBackupIndex(100); // setMaxFileSize의 파일 갯수를 지정 한다. 그래야  용량이 넘어가도 파일을 계속 만들어서 파일에 담는다.
  logger.addAppender(app2);
  for(int i = 0 ; i <100; i ++){
   
   logger.debug("debug : "+i);
   logger.info("info : "+i);
   logger.error("error : "+i);
   logger.warn("warn : "+i);
   logger.fatal("fatal : "+i);
  }
 }

}

 

 

 

 

 

 

 

+ Recent posts