분류 전체보기 89

1.서블릿 개요 및 특징

서블릿이란? 서블릿은 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다 일반적인 자바의 특성은 모두 가지지만 일반 자바프로그램과 다르게 독자적으로 실행되지 못하고 JSP/Servlet 컨테이너에서 실행된다. 1. 클라이언트가 url로 WebServer에 요청 2. 서버에서 WAS로 위임 3. WAS는 각 요청에 해당하는 서블릿을 호출 4. 요청받은 서블릿을 실행 5. 결과값 WAS에 리턴 6. WAS가 클라이언트에 전송 서블릿의 특성 - 서버 쪽에서 실행되면서 기능을 수행 - 기존의 정적인 웹플로그램의 문제점을 보완하여 동적인 여러기능 제공 - 스레드 방식으로 실행 - 자바로 만들어져 객체지향의 특징을 가짐 - 컨테이너에서 실행 - 컨테이너 종류에 상관없이 실행(..

서블릿 2022.09.27

2. 이클립스와 연동된 톰캣 웹어플실행하기

1) Servers 탭 아래에 등록된 톰캣 서버 Tomcat vX.X Server at hocalhost [Stopped]를 마우스 오른쪽 버튼 클릭후 Add and Remove를 선택. 2) 실행할 프로젝트를 선택하고 Add 버튼을 클릭해 오른쪽으로 이동 후 finish 3) Package Explorer -> Server -> 톰켓폴더 -> server.xml 4) 하단부에 내가 등록한 프로젝트의 이름으로 Context 가 잘등록되어 있는게 확인된다. >>>>1)~4) 까지 과정은 프로젝트가 생겼을때 한번만 해주면 된다 5) Servers 탭 오른쪽에 있는 녹색 실행버튼을 클릭 6) 주소창에 localhost:8080/webShop/main.html 입력후 정상확인

JSP 2022.09.27

1. JSP 프로젝트 생성하기

이클립스 같은 경우 한개의 프로젝트가 한개의 웹어플리케이션이며 프로젝트 이름이 바로 웹어플리케이션 이름입니다. - 프로젝트 이름 = 웹어플리케이션 이름 1) Project Explorer 영역에서 마우스 오른쪽 버튼 클릭 후 New -> Dynamic Web Project 선택 2) 프로젝트 이름 입력 후 next / 기본값 체크 후 Next 3) 마지막에 Generate web.xml deployment descriptor 옵션에 체크 후 Finish 클릭 >>> 추가로 이클립스에서 HTML 파일생성하고 띄우기 1) 프로젝트 하위폴더중 WebContent를 마우스 오른쪽 버튼 눌러서 new => HTML File 선택 2) 파일이름으로 main.html 입력후 Finish 클릭 3) 그림과 같이 입력 ..

JSP 2022.09.27

웹어플리케이션 구성요소 및 기능

1. 디렉터리 구성 WebXXXX : 웹 어플리케이션의 루트 디렉터리, 다른 웹 어플리케이션 이름과 중복을 허용하지 않으며, 여기에는 JSP HTML 파일이 저장됩니다. WEB-INF : 웹 어플리케이션에 관한 정보가 저장되는 곳입니다. 이 디렉터리는 외부에서 접근할 수 없습니다. classes : 웹 어플리케이션수행하는 서블릿과 다른 일반 클래스들이 위치하는 곳입니다. lib : 웹 어플리케이션에서 사용되는 여러 가지 라이브러리 압축파일(jar 파일)이 저당되는 곳입니다. DB 연동 드라이버나 프레임워크 관련 jar파일이 여기에 저장됩니다. lib 디렉터리의 jar는 클래스 패스가 자동으로 설정됩니다. 2.WEB-INF 하위 디렉터리 구성 jsp/html : jsp 파일과 HTML 파일이 존재합니다. ..

JSP 2022.09.21

정규식 정리 (1)

자주 쓰이는 패턴 \\d{3} 연속된 숫자 3개를 찾음 \\w 문자를 찾음 \\w+ 문자 여러개 [0-9] 0-9 사이 문자를 찾음 [a-z] a-z 사이 문자를 찾음 \\. \\[ \\? . [ ? 등 특정 문자를 찾음 예제) 문자열 "123123-4564564 GS25(치킨도시락) 4,400원" 1) 정규식 : \\d{6}-\\d{7} =>123123-4564564 2) 정규식 : (? GS25 3) 정규식 : \\((.*?)\\) => (치킨도시락) 4) 정규식 : \\d+,*[0-9]+원 특수 문자(,)가 존재하는지를 확인 * */ String str1 = "123123-4564564 GS25(치킨도시락) 4,400원"; String str2 = "111111-2222222 CU(마늘햄도시락) 5..

정규식모음 2022.09.21

32. 자바 IO (3) - Char 단위 입출력

1) Char 단위 입출력(Console) char단위 입출력 클래스는 클래스 이름이 Reader나 Writer로 끝이 납니다. char단위 입출력 클래스를 이용해서 키보드로 부터 한줄 입력 받아서 콘솔에 출력 System.in - 키보드를 의미 (InputStream ) BufferedReader - 한줄씩 입력 받기위한 클래스 BufferedReader 클래스의 생성자는 InputStream을 입력받는 생성자가 없다. System.in은 InputStream 타입이므로 BufferedReader의 생성자에 바로 들어갈 수 없으므로 InputStreamReader 클래스를 이용해야함. 2) Char 단위 입출력(File) char단위 입출력 클래스는 클래스 이름이 Reader나 Writer로 끝이 납니..

JAVA 2021.03.30

31. 자바 IO (2) - 다양한 타입의 입출력

1) 다양한 타입의 출력 try-with-resources 블럭 선언 java io객체는 인스턴스를 만들고, 모두 사용하면 close()메소드를 호출해야 한다. close()메소드를 사용자가 호출하지 않더라도, Exception이 발생하지 않았다면 자동으로 close()가 되게 할 수 있는 방법 다양한 타입으로 저장 할 수 있는 DataOutputStream wirteInt() - 정수값으로 저장 wirteBoolean() - boolean값으로 저장 writeDouble() - double 값으로 저장 2) 다양한 타입의 입력 data.dat로부터 값을 읽어들여 화면에 출력하는 클래스 다양한 타입의 데이터를 읽어낼 수 있는 DataInputStream readInt() -정수를 읽어들이는 메소드 rea..

JAVA 2021.03.30

30. 자바IO (1) - 정의, byte 단위 입출력

1) 입출력을 위한 인터페이스와 클래스들 자바 IO는 크게 byte단위 입출력과 문자 단위 입출력클래스로 나뉩니다. byte단위 입출력클래스는 모두 InputStream과 OutputStream이라는 추상클래스를 상속받아 만들어집니다. 문자(char)단위 입출력클래스는 모두 Reader와 Writer라는 추상클래스를 상속받아 만들어집니다. 4가지 추상클래스(InputStream,OutputStreamReader,Reader,Writer)를 받아들이는 생성자가 있다면, 다양한 입출력방법을 제공하는 클래스입니다. 4가지 클래스를 받아들이는 생성자가 없다면, 어디로부터 입력받을 것인지, 어디에 쓸것인지를 나타내는 클래스입니다. 파일로 부터 입력받고 쓰기 위한 클래스 : FileInputStream, FileO..

JAVA 2021.03.30

28. Generic

Generic Box 클래스 BoxExam 클래스 Box는 매개변수로 Object를 하나 받아들이고, Object를 반환한다. Object를 받아들일 수 있다는 것은 Object의 후손이라면 무엇이든 받아들일 수 있다는 것이다. Java5에는 Generic이라는 문법이 사용됨으로써 인스턴스를 만들때 사용하는 타입을 지정하는 문법이 추가 Generic을 이용하여 Box 클래스 수정 클래스 이름 뒤에 가 제네릭을 적용한 것이다. Box는 가상의 클래스 E를 사용한다는 의미. Object를 받아들이고, 리턴하던 부분이 E로 변경. E는 실제로 존재하는 클래스는 아니다. Generic을 이용하여 수정한 Box를 이용하는 BoxExam클래스 참조타입에 , , 가 있는 것을 볼 수 있다. 첫번째는 Object를 사..

JAVA 2021.03.29