목록Back-end (46)
NULL
클라이언트 요청을 처리하고, 그 결과를 반환하는 Servlet클래스의 구현 규칙을 지킨 JAVA(자바) 웹 프로그래밍 기술이다. 즉, 서블릿은 자바를 이용해서 웹을 만드는데에 필요한 기술이다. 클라이언트에서 어떤 요청을 하면 그에 대한 결과를 클라이언트한테 전송해줘야하는데 이와 같은 역할을 하는 자바 프로그램이다. 예를 들면, 사용자가 로그인을 시도하면 이에 대해 클라이언트에서 ID, PWD를 검사하고 다음페이지를 보여줘야하는데 이와 같은 역할을 수행하는 것이 바로 서블릿(Servlet)이다. 흔히 서블릿은 자바로 구현된 CGI라고 불린다.
aaa // aaa 서블릿 sec01.ex01.FirstServlet // aaa 서블릿 클래스 주소 aaa // aaa 서블릿 /first // /first를 만나면 aaa 서블릿으로 매핑을 시킨다, 그러면 aaa는 sec01.ex01.FirstServlet 클래스 경로를 호출한다. 해당 클래스 파일에 어노테이션 @WebServlet("경로")로 표현할 수 있다.
WEB-INF안에는 외부에서 접근하지 못한다. 하지만 웹방식이나 톰캣을 통해서 WEB-INF로 들어올수 없는 곳이고 그렇기에 보안측면에도 좋고 서버소스를 까보지 않는 이상 데이터베이스 비번도 노출 될 일도 없다. 즉, WEB-INF방식을 쓰게 되면 보안도 되고, 자바로 할 수 있는 모든 것을 할 수 있다.
server.xml안의 Context docBase안에 있는 webShop은 해당 프로젝트의 이름, 실제주소 path값은 해당 Context를 접근하기 위한 웹주소를 의미한다. 로컬호스트 접속방법 주소창에 localhost:포트번호, 127.0.0.1:포트번호 두가지가 존재한다 둘은 같은 의미다.
netstat -aon | find "8080" taskkill /f /pid 포트번호
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0Y5nM/btrsFsJAVce/ve570JaNreKpNk9qeBOIS0/img.png)
인터페이스(interface) 역할 1. 인터페이스는 객체를 어떻게 구성해야할지 정리한 설계도이다. 2. 객체 교환성 or 다향성을 높여준다. 3. 인터페이스 변수에 인터페이스가 구현된 다른 구현 객체를 할당해서 사용가능하다. 4. 구현 객체를 직접 몰라도 인터페이스 메소드만 알아도 객체호출 가능. 5. 객체가 인터페이스를 사용하면, 인터페이스 메소드를 반드시 구현해야하는 제약 인터페이스를 이용해서, 개발코드를 직접 수정하지 않고 사용하고 있는 객체만 변경할 수 있도록 하기 위함이다. 인터페이스 정의방법 public interface TV{ public int MAX_VOLUME = 100; public int MIN_VOLUME = 0; public void turnOn(); public void tu..
값.getClass().getName
클래스 형변환 부모타입으로 자식객체를 참조하게 되면 부모가 가지고 있는 메소드만 사용할 수 있다. 자식객체가 가지고 있는 메소드나 속성을 사용하고 싶다면 형변환을 해야한다. public class Car{ public void run(){ System.out.println("Car의 run메소드"); } } public class Bus extends Car{ public void ppangppang(){ System.out.println("빵빵."); } } 상속관계란 is a 관계이다. "Bus는 Car다" 라는 관계가 성립된 것이다. 현실에서도 버스를 가리키면서 차다. 라고 말한다. 부모타입으로 자식객체를 참조할 수 있다. 부모타입으로 자식객체를 참조하게 되면 부모가 가지고 있는 메소드만 사용할 수..
오버로딩과 오버라이딩 차이 오버로딩이란? 서로 다른 시그니처를 갖는 여러 메소드를 하나의 이름으로 정의하는 것이였다. 오버라이딩이란? 상속관계에 있는 부모클래스에서 이미 정의된 메소드를 자식클래스에서 같은 시그니처를 갖는 메소드로 재정의하는 것이라고 할 수 있다. 간단히 정의하면 오버로딩은 새로운 메소드를 정의 오버라이딩은 상속받은 기존 메소드를 재정의 class Parent { void display() { System.out.println("부모 클래스의 display() 메소드입니다."); } } class Child extends Parent { // 오버라이딩된 display() 메소드 void display() { System.out.println("자식 클래스의 display() 메소드입니다..
super와 부모생성자 class가 인스턴스화 될때 생성자가 실행되면서 객체의 초기화를 한다 그때 자신의 생성자만 실행되는게 아니라, 부모의 생성자부터 실행된다. 부모 생성자 public class Car{ public Car(){ System.out.println("Car의 기본생성자입니다."); } } public class Bus extends Car{ public Bus(){ System.out.println("Bus의 기본생성자입니다."); } } 생성자 테스트 public class BusExam{ public static void main(String args[]){ Bus b = new Bus(); } } 결과 Car의 기본생성자입니다. Bus의 기본생성자입니다. - new연산자로 Bus객..