본문 바로가기
728x90
반응형

java31

[Servlet] ServletContextListener 개념, 구현 방법 및 예제 ServletContextListener 란? : 웹 어플리케이션 LifeCycle 발생 시 실행되는 메서드를 가진 객체 * ServletContextListener를 사용하는 이유 → Servlet의 LifeCycle은 Container가 담당한다(init() / service 계열 method / destory() - 객체 생성, 초기화, 서비스, 소멸의 역할을 Container가 함). 이 때, 초기화 단계에서 해야 하는 일들이 있다. 예를 들어, 파일을 직렬화하여 정보를 불러오거나, 초기 설정을 해주어야 한다. 그리고 소멸할 때, 파일을 역직렬화해서 저장(백업) 해놓는 등의 작업이 필요하기 때문에, listner class가 유용하게 사용될 수 있다. ⇒ Servlet/JSP가 들어있는 Web a.. 2020. 8. 24.
[Servlet] 서블릿 ServletConfig / ServletContext [ ServletConfig ] : Config = Configration : 개별 서블릿이 실행하기 위해 필요한 설정 정보를 제공 → 개별 서블릿 객체 당 하나씩 생성 (web container에 의해 init() 메서드 실행 시 전달됨) → 초기 파라미터 (init-param), ServletContext 객체의 주소값 등이 ServletConfig 객체에 저장된다. → 코드와 설정 정보를 분리해서, 유지보수성을 향상시킬 수 있다. (코드 - Servlet / 설정 정보 - xml / ServletConfig로 연결) ServletConfig는 javax.servlet의 public interface이다. ServletConfig를 분석하는 예제 package step1; import java.io... 2020. 8. 21.
[Servlet] form 연동 [ form을 활용해 servlet 생성하는 방법 ] 1. dynamic web project > Java Resources > src에서 tool로 Servlet 생성 2. Java package와 Class name 입력 3. 원하는(필요한) method 선택 결과 xml xml에 자동 생성됨 webstudy5-form index.html index.htm index.jsp default.html default.htm default.jsp ToolServlet ToolServlet step1.ToolServlet ToolServlet /ToolServlet html ToolServlet 실행 Servlet (java class) package step1; import java.io.IOExceptio.. 2020. 8. 20.
[day_04] DB / 07. JDBC Interface 를 다시 한 번 복습하자! [ Review 복습 ] Interface - JDBC Interface (Connection, PreparedStatement, Resultset) 1. 약속 - one message 방식 : 사용자는 인터페이스만 알면, 구현부는 몰라도 사용할 수 있다. 2. 표준화 : 다중상속 → 다양한 계층구조 형성 → 다형성 → One interface, multiplle implements 3. 유지보수성 향상 (구현부가 변경되어도, 사용자 사용법은 변경되지 않는다>) → public interface, private implements 2020. 8. 11.
[day_03] DB / 06. SQL 기본 4 - Oracle SEQUENCE 시퀀스 [ Review 복습 ] Java application JDBC Interface DBMS - Connection - PreparedStatement - ResultSet - Oracle SQL - Mysql - mssql JDBC Interface 사용 이유 : 응집도 ↑ 결합도 ↓ → 데이터 베이스의 종류는 다양하기 때문에, 단일한 방법으로 사용하기 위해서, Java application에서 JDBC의 인터페이스를 implements(구현)하기만 하면 사용할 수 있는 간편함을 지니기 때문이다. (Encapsulation) → DBMS에서 데이터가 변경되더라도, interface에서 연동이되기 때문에 유지보수에 용이하다 (Polymorphism 다형성) JDBC 실행단계 정보 조회 시 정보 수정 시 1.. 2020. 8. 10.
[day_02] DB / 03. JDBC (Java Database Connectivity) JDBC (Java Database Connectivity)란? → 자바 데이터베이스 프로그래밍 API → 자바 어플리케이션과 데이터베이스 연동을 위한 기술 : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 "프로그래밍 인터페이스"이다. JDBC API Java 표준 제안자(Sun MicroSystems) : JDBC 명세(기준)를 제공한다 DB Vendor : JDBC 명세를 기준으로 JDBC API를 개발하여 배포한다 Java 응용 프로그램 개발자 : DB Vendor에서 배포한 JDBC API를 받아 JDBC 명세를 보고 프로그램을 작성한다 * java.sql library 설명링크 : https://docs.oracle.com/javase/8/docs/api/java/.. 2020. 8. 7.
CODE [day_02] DB / 02. JDBC - INSERT, DELETE INSERT SQL을 이용해 MEMBER TABLE에 회원정보 저장 SQL query INSERT INTO MEMBER(ID, PASSWORD, NAME, ADDRESS) VALUES('ebs','abcd','펭수','양재'); java code /TestJDBC3.java package step3; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; /* * INSERT SQL을 이용해 MEMBER TABLE에 회원정보 저장 */ public class TestJDBC3 { public static void main(String[] a.. 2020. 8. 7.
CODE [20.08.06/Day_21] Java SE / Chatting 서버, 클라이언트 구현 (IO, Thread, GUI, synchronized list) step5 채팅 서버 클라이언트 구현 (GUI 활용 + synchronized) Chatting Program의 UML 다수에 클라이언트에게 동시에 서비스(통신)를 제공해야 하기 때문에, 한 서버에서 Thread를 여러 개 생성해준다. → multi-Threading step4와 다른 점은 client에도 multi-Threading을 해준다는 점이다. 그 이유는, client끼리도 '서로 메세지를 주고 받고'기능 통신 서비스를 동시에 실행되어야 하기 때문이다. (다른 사람의 메세지도 보고, 나의 메세지도 뿌려주고 → broadcast() 함수로 구현) [ ChattingServer ] list → Client와 통신하는 객체를 리스트에 저장 다수의 스레드(serv.. 2020. 8. 5.
[20.08.05/Day_20] Java SE / Nested Class 중첩 클래스 Nested Class : 중첩 클래스 or Inner Claas → 클래스 안에 클래스를 정의 → 내부 클래스를 정의하는 이유는 Outer Class의 private member에 직접 접근해 사용할 수 있기 때문에 주로 쓴다. 사용 예제 //outer class class Outer{ private String password = "abcd"; //outer class에 inner class의 객체 생성 가능 public void outTest() { Inner in = new Inner(); in.innterTest(); } //inner class class Inner{ public void innterTest() { //Outer class의 private 변수에 직접 접근해 사용할 수 있음 S.. 2020. 8. 5.
728x90
반응형