Jsp (28) 썸네일형 리스트형 JSP 작동원리 및 내부 객체 Servlet => JAVA 문서 작성 출력 객체(PrintWriter)로 HTML코드 삽입. JSP는 HTML코드에 JAVA언어 삽입해서 동적 문서 작성 가능 -태그 이용. 표현식에서는 세미콜론 x 클라이언트에서 jsp 요청하면 그에 해당하는 servlet이 있는지 없는지 확인 없다면 java파일 만들어서 Servlet만들고 class로 만들어서 메모리에 올림 그리고 실행되어서 클라이언트에 응답 JSP 내부 객체 -Servlet 변환 될 때 자동으로 객체 생성. 객체 생성 안해도 인스턴스로 바로 사용 가능 입출력 객체 : request , response , out 서블릿 객체 : page, config 세션 객체 : session 예외 객체 : exception (스크립트릿, 선언, 표현식) => 스.. Servlet 전처리 후처리 & Context Path Context Path -웹 어플리케이션을 구분하기 위한 path Server - server.xml에 자동적으로 서버 패키지가 추가됨. 클라이언트에서 servlet요청이 들어오면 서버에서는 servlet컨테이너를 만들고 요청이 있을 때마다 스레드가 생성됨. (JVM에서) 다른 언어는 요청에 대한 객체를 계속 만들어 주므로 부하가 크게 생김. 처음 요청 들어오면 서블릿 객체 생성 , 그 후 같은 요청 들어오면 서블릿 재활용 => 응답속도 빠름. 서버가 종료될 때 destroy() 첫 시작 init() 한번만 호출 선처리 후처리 @PostConstruct 붙이고 메소드 작성=> init() 시행 전 @PreDestroy 붙이고 메소드 작성 => destroy() 시행 후 웹 어플리케이션 감시 -웹 어플리케이션 생명주기 존재. 그것을 감시하는 리스너가 존재. ServletContextListner 웹 어플리케이션 시작과 종료시 호출 1. 리스너 클래스 제작 ServletContextListner 인터페이스 implements 2개의 함수 Override -contextDestroyed => 웹 종료시 실행 -contextInitiallized => 웹 시작시 실행 2.web.xml 파일에 리스너 클래스 기술 혹은 @WebListener 어노테이션 지정 진행순서 contextInitiallized -> @PostConstruct ->init() -> doGet(), doPost() -> destroy() -> @PreDestroy -> contextDestroyed Servlet 데이터 공유 이용해서 web.xml에 기술하고 Servlet에서 공유하면서 사용가능. 서블릿 매핑 코드 상단에 구성 특정 Servlet 내부 x => 공용이므로. 1 2 3 4 id imu 가져올 때는 String id = getServletContext().getInitParameter("id"); Servlet 초기화 파라미터 서블릿 초기화 파라미터 -특정 Servlet이 생성될 때 초기에 필요한 데이터들이 있음. (특정 경로 및 아이디 정보) 1. web.xml에 기술하고 servlet 파일에서는 ServletConfig클래스 (HttpServlet이 상속받으므로 바로 쓸 수 있음)를 이용해서 접근 getInitParameter(); -특정 Servlet안에서 작성하므로 해당 Servlet에서만 사용 가능 2. java파일에 어노테이션 직접 기술. ServletConfig클래스 메소드 이용해서 불러옴. @WebInitParam에 초기화 파라미터 기술 @WebServlet(urlPatterns = "/init", initParams = { @WebInitParam(name = "id", value = "imu"), @WebIn.. Servlet 한글 처리 한글 처리 -> tomcat 개발자가 한글 인코딩 하지 않으면 한글 깨져보임 get방식 post방식 처리방식이 따로 따로 Get방식 요청 -server.xml 수정 URIEncoding ="EUR-KR" 이거 넣어줘야 함. 넣어준 후에는 sync 해줘야 함 Publish to Server (server 탭에 찾으면 있음) Post방식 요청 자바 소스 안에 직접 넣음 request.setCharacterEncoding("EUR-KR"); =>JSP도 마찬가지. 안에 직접 입력 form 태그 서버쪽으로 정보 전달할 때 사용하는 태그 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 input 속성(type,name,value) -type: 태그 종류 지정 (text, password, submit, checkbox, radio(단독 선택), reset) -name: input태그 이름 -value : name에 해당하는 값 => form 태그 안에 있는 값들이 servlet전송 type => checkbox 독서 요리 달리기 수영 다중 선택 가능 name은 동일. type => radio 국어 영어 //default 체.. Servlet & Servlet Mapping Servlet -> 자바 파일 / 매핑이 필요함 Java thread를 이용하여 동작. => 많은 요청에도 부하가 적게 걸림. Jsp는 html에 자바코드가 심어진 것. 동적으로 html에서 활동한 다음에 servlet으로 바뀜 servlet에서 얻어진 정보로 model이 동작해서 결과를 수행. Serlet 매핑은 기본적으로 class name과 동일하게 매핑 되어있음. Servlet은 doGet, doPost메소드에 구현된 것이 클라이언트 단에서 실행됨. 1. web.xml에 서블릿 맵핑 => url을 간단하게 맵핑 http://localhost:8181/servlettest/Hello xml에서 servlet에 대한 여러 설정 가능. 1 2 3 4 helloworld com.javac.javatest.. 이전 1 2 3 4 다음