반응형

자바란?

  • 운영체제의 종류에 상관없이 JVM(Java Virtual Machine)위에서 작동하기 때문에 이식성이 높다.
  • 객체지향언어(OOP)이다. 하나의 기능을 객체로 만들어서 이러한 객체들을 결합해서 하나의 프로그램을 만든다.
  • C언어와는 다르게 메모리를 자동으로 관리해준다. 
  • 멀티 스레드를 쉽게 구현이 가능하다.
  • 미리 객체를 만들지 않고, 필요한 시점에 동적으로 로딩해서 객체를 생성할 수 있으며 유지보수가 용이하다.
  • 오픈소스 언어로 자바를 활용한 라이브러리가 굉장히 많다. 시간비용을 줄이고 좋은 어플리케이션을 만들기 편하다.

OOP(객체지향프로그래밍)

  • 코드의 재사용성이 높으며 코드의 변경이 용이하다
  • 직관적인 코드분석이 가능하며 개발속도를 향상시킬 수 있다.
  • 상속을 통한 장점을 극대화 할 수 있습니다.

Overloading vs Overriding

 

  • 오버로딩 - 같은 이름의 메소드를 여러개 정의하며 매개변수의 타입이 다르거나 개수가 달라야 한다. 
  • 오버로딩 - 또한 return type과 접근 제어자는 영향을 주지 않는다.
  • 오버라이딩 - 상속에서 나온 개념으로 상위 클래스(부모클래스)의 메소드를 하위 클래스(자식클래스에서)재정의

Servlet

  • 웹 기반의 요청에 대한 동적인 처리가 가능한 Java Program
  • 순수 자바 코드로만 이루어진 것(Html in JAVA)

JSP(Java Server Page)

  • html기반에 JAVA코드를 블록화하여 삽입한 것(Java in HTML)
  • Servlet을 보완하고 기술을 확장한 스크립트 방식 표준

 

Get과 Post방식

Get

  • 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "key"와 "value"가 결합된 스트링 형태로 전달
  • 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다
  • Post방식보다 상대적으로 전송속도가 빠르다

Post

  • 일정 크기 이상의 데이터를 보내야 할 때 사용한다
  • 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높다
  • 속도가 Get방식보다 느리다.
  • 쿼리스트링 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스 같은 객체들의 값도 전송이 가능하다

Get과 Post의 차이

  • Get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할때 사용
  • Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용
  • Get방식은 전달되는 데이터가 255개의 문자를 초과하면 문제를 발생시킬 수 있다
  • 보안성의 문제
반응형

'2020 > 신입 개발자 면접 질문 모음' 카테고리의 다른 글

URI와 URL의 차이  (0) 2019.12.09
신입 개발자 면접질문 #3  (0) 2019.12.06
신입개발자 면접 질문 #2  (0) 2019.12.06
가비지 컬렉션이란?  (0) 2019.12.06
#1 쿠키와 세션의 차이  (0) 2019.12.05
블로그 이미지

꽃꽂이하는개발자

,
반응형

refresh를 이용한 포워딩 역시 redirect 처럼 웹브라우저를 거쳐서 요청을 수행합니다.

response.addHeader("Refresh", "시간(초);url=서블릿명으로 재요청합니다");

 

위에 주소를 localhost:8080/pro08/first 를 입력하게 되면

1초 후에 second서블릿으로 넘어가서 출력이 됩니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

redirect  방법은 서블릿의 요청이 클라이언트의 웹 브라우저를 다시 거쳐 요청되는 방식입니다.

웹에서 첫번째 서블릿에 요청하고 첫번째 서블릿은 sendRedirect()메서드를 이용해 두번째 서블릿을 웹 브라우저를 통해서 요청

웹 브라우저는 sendRedirect()메서드가 지정한 두 번째 서블릿을 다시 요청합니다.

 

 

first를 서블릿매핑 하였지만 아래에 sendRedirect("second") 메서드를 이용해 웹 브라우저에게 다른 서블릿인 second로 재요청 하는걸 알 수 있습니다.

 

그러면 첫번째 서블릿의 요청을 받아 실행하는 두번째 서블릿입니다.

그러면 두번째 서블릿 매핑을 통해 실행되며 화면이 나오게 됩니다.

 

주소창에

 

이렇게 입력하였지만 뜨는건

이 화면이 뜨게 된답니다.

 

또 하나의 방법은

get방식을 이용해 이름/값 쌍으로 데이터를 다른 서블릿으로 전달합니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

forward : 하나의 서블릿에서 다른 서블릿이나 JSP와 연동하는 방법을 포워드(forward)라고 합니다.

기능 

1. 요청에 대한 추가 작업을 다른 서블릿에게 수행하게 합니다

2. 요청에 포함된 정보를 다른 서블릿이나 JSP와 공유할 수 있습니다.

3. 요청에 정보를 포함시켜 다른 서블릿에 전달할 수 있습니다.

4. 모델2 개발 시 서블릿에서 JSP로 데이터를 전달 하는 데 사용됩니다.

 

포워드의 4가지 방법

1. redirect 방법

-HttpServletResponse 객체의 sendRedirect()메서드를 이용합니다.

-sendRedirect("포워드 할 서블릿 또는 JSP")

2. Refresh 방법

- HttpServletResponse 객체의 addHeader()메서드 이용

- 형식: response.addHeader("Refresh", 경과시간(초); url = 요청할 서블릿 또는 JSP");

3. location 방법

- 자바스크립트 location 객체의 href속성을 이용합니다.

- location.href='요청할 서블릿 또는 JSP';

4. dispatch 방법

- 일반적으로 포워드 기능을 지칭하고 서블릿이 직접 요청하는 방법입니다.

- RequestDispatcher 클래스의 forward() 메서드를 이용합니다

- RequestDispatcher dis = request.getRequestDispatcher("포워드할 서블릿 또는 JSP"); dis.forward(request, response);

 

이후부터 각각의 포워딩을  사용해 보도록 하겠습니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

우선 LoginTest 클래스와 loginTest.html 을 만들어 주겠습니다

LoginTest는 sec04.ex01패키지 내에 만들어 주겠습니다.

login.html은 WebContent에 폴더 test01 생성후 만들어 주었습니다.

프로젝트 실행해 주시고

주소창에 아래와 같이 입력해주세요 localhost:8080/pro06/test01/login.html

아이디와 비밀번호 입력시 뜨는 화면

 

아이디가 없을 시 뜨는 화면

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

웹 프로그램에서는 GET방식과 POST방식을 혼합해서 많이 사용합니다.

이럴때마다 일일이 구분한다면 많이 불편하게 됩니다.

그래서 doGet()이나 doPost()메서드로 처리한 후 다시 doHandle()을 호출해서 기능을 구현해 보겠습니다.

 

웹컨텐츠에 login.html 파일 생성

login.html

 

그 후 sec03.ex 패키지에서

NEW - > SERVLET -> 클래스명은 LoginServlet4 -> NEXT -> NEXT 를 하시면

이렇게 체크하여 주고 Finish 하시면 됩니다

하지만 초보자 입장에서는 이렇게 만드는 것 보다는

직접 따라 쳐주시길 권장합니다

NEW- > CLASS (LoginServlet4)

실행후 웹브라우저 창에서 아래와 같이 login.html 까지 쳐주셔야 합니다.

POST방식
get방식

login.html에서 method를 get으로 바꿔보고 해보세요 또는 post로 바꿔보고 해보세요.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

post방식은 정보의 보안성이 필요할때 주로 사용

 

다이나믹 웹 프로젝트 생성후

웹 컨텐츠 아래에

login.html에 위의 내용을 적어줍니다.

여기서 method를 method = "get"을 해주면 겟방식 method="post" 로 하면 post방식으로 됩니다.

action="login3"으로 해주면 LoginServlet3클래스 내에 /login3을 찾아가서 처리하게 됩니다.

 

loginServlet3 클래스를 만들고

httpservlet을 상속받으면서 위의 사항을 적어줍니다.

 

GET방식으로 한다면 위의 주소에 아이디와 비밀번호가 보이지만

이렇게 POST방식으로 진행하게 된다면

ID와 PASSWORD가 보이지 않게 됩니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,