* 코드 첫 줄 등에 JSP 코드가 들어가있으면(<%@ ... %> 등) 아래의 HTML이나 자바 코드 등을 바로 해석하지 않고 서버로 요청을 보낸다.


* JSP : HTML + Java Code


* JSP 코드의 위치는 어디든 상관없다.


* 변수명은 형을 알려주도록 정해주는 방법이 있다.

  - 헝가리안 표기법

  - String sName, Integer iScore, aName(배열 변수) 등

  - i, j, k, l, m, n은 정수형 제어변수라고 예전부터 사용해왔다.

  - 하지만 지금은 MS도 공식 가이드라인에서 사용하지 말 것을 권고하고 있다.


* Cookie

  - 서버에서 생성, 클라이언트에 저장

  - 4kb에 300개까지의 정보를 담는다.

  - 관련 메소드 : set, get

* 요즘은 서블릿(Servlet) 기반으로 작업하는 경우는 드물다.


* JSP는 자바만 알면 쉽게 이해할 수 있는 언어이다.

    - 자바를 많이 공부하자.


* 우리나라 개발자가 알아야 할 기술

  -> Web App

    - Java / C# 기반

    - JSP / ASP(.Net)

    - JavaScript

    - JQuery, Ajax(자바스크립트 라이브러리)

    - HTML5, CSS

    - Mobile : iOS, Android - 요즘은 하이브리드앱도 많이 개발하는 추세

    - 프레임워크

      : Spring MVC(MVC2 패턴) - 요즘은 대부분 MVC2 패턴으로 설계

    - 가장 어려운 부분 중 하나가 환경 설정

      : 처음 이해하는데 개발자를 지치게 하지만, 적응하면 매우 편함

    - XML, JSON

      : 데이터를 전달하는 방식. Parse로 해석

  -> 순수 App

    - Java

  -> IoT

    - C / C++ / Python

    - Sensor Network

    - 아두이노

    - 라즈베리파이

  -> 빅데이터

    - Database

      : DBMS같은 정형화된 데이터가 아닌, 비정형 데이터를 분석, 처리

    - R / Python

    - Hadoop, Spotfire


* 반복문의 종류와 용도

    - for : 시작과 끝이 명확할 때(for-each문의 등장으로 DB select에서도 많이 사용)

    - while : 한 번도 수행하지 않을 수 있다. - DB에서 select할 때

    - do : 최소 한 번은 무조건 수행 - 메뉴 만들 때(최근에는 거의 사용하지 않음)


* 조건문

    - if : 뎁스가 3 이상 넘어가면 if를 잘 쓰지 않고 switch-case를 사용한다.(처리 속도 문제)

    - switch(case) : 조건이 많을 때 사용.


* 이클립스 로딩 속도 빠르게 하기

    - eclipse 디렉토리에서 eclipse.ini 파일을 수정한다.

    - Xms 부분을 수정한다. (256m -> 512m 또는 1024m)

    - 컴퓨터의 메모리 용량이 크면(16G 이상) Xmx도 늘려준다.


* GET / POST의 한글 처리 방식이 약간 다르다.

    - GET은 요청정보 헤더의 URI에 포함되어 전달된다.

    - POST는 요청정보 몸체에 포함되어 전달된다. 몸체에서 setCharacterEncoding() 메소드로 몸체의 데이터들을 인코딩 해주어야 한다.


* 요즘은 URL보다 URI라는 용어를 더 많이 쓴다.

    - URL : Uniform Resource Locator(통합 자원 위치자)

    - URI : Uniform Resource Identifier(통합 자원 식별자)

    - URI는 URL을 포함하는 개념이다.


* Servlet

    - Servlet(Interface) <- Generic Servlet(Abstract Class) <- HttpServlet

* MVC 패턴

  - Model(.java), View(JSP), Controller(Servlet 역할)

  - Request, Response


* 전자정부 프레임워크는 Spring 기반


* 추상 클래스

  - abstract

  - 반드시 재정의(오버라이딩)해서 사용해야 한다.


* 클래스

  - Object Class : 통상적인 클래스

  - Class Instance : 클래스명이 타입이 된다.


* 메모리 영역

  - stack 영역 : class(모양만 가지고 있다), data가 저장되는 곳.

  - heap 영역 : 객체, stack의 데이터를 공유해서 사용. 개비지 컬렉션.


* EJB(Enterprise Java Beans)

  - 메소드에는 관심이 없다.

  - 능력은 굉장히 많다. (다 사용하지는 않는다.)

  - 너무 무겁다.

  - 가볍게 만든 것이 Spring Framework


* Spring

  - EJB의 경량화 버전이라고 이해하면 된다.

  - VO 개념

  - Java EE가 무겁기 때문에 Java SDK + STC(Syntactic Tail Calls) 하면 가볍다.


* 프로젝트 시작하기

  - New - Dynamic Web Project 선택

  - Project명은 소문자로 시작

  - Generate web.xml deployment descriptor 체크하기(default라고 생각하고 체크하자.)

  - 서버에 배포(Deploy) 할 때는 WebContent의 내용만 한다.

  - 서블릿을 생성하려면 New - Servlet 선택

  - 패키지명은 도메인 거꾸로(ciec.co.kr이면 kr 빼고 co.ciec.xxxx)

  - URL Mapping : .jsp 파일을 감싸서 해당 파일이 무엇인지 감춰준다.


* Get / Post 방식

  - form 태그에 속성으로 지정


* 보안 가이드를 준수하자.

  - 자료실 - 기술안내서 가이드

* 개발자가 공부하면 좋은 것

  - 이산수학


* 톰캣 다운로드

tomcat.apache.org

8.5.32 64bit zip

원하는 위치에 압축 해제


* 웹 서버

- Web Server (HTTP)

- WAS Server

 Apache + tomcat

 Web Logic

 WebToB + Jeus : Tmax (국산)


 IIS + .NET

 - MS -> IIS

 - ASP -> .NET

...



* 자바 버전 확인

java -version : 1.8.0_181

javac -version : 1.8.0_172

- 자바는 자동 업데이트 때문에 컴파일러와 버전이 다를 수도 있다.


* 자바 .class 파일을 자바 바이트 코드라고도 한다.

* 라즈베리파이

- OS : 라즈비안

- 굉장히 가볍게 잘 돌아간다.


* 라이센스

- 전략을 가지고 공부하자.

어려운 과목은 미리 포기.

70점 IT-PMP

정보시스템감리사 125분 125문, 1000명 중 상위성적 40명 합격


* Tomcat의 구성

- bin : 실행 파일

- conf : 설정 파일

 server.xml - Tomcat 환경

 web.xml - Site (n개)

 각각의 web의 web.xml - 상위 web.xml을 상속받음



* SVN CVS 형상관리


* Servlet

- servlet과 servlet-mapping은 한 쌍이다.

<servlet>

......

</servlet>


<servlet-mapping>

......

</servlet-mapping>



* 에러

400번대는 해피한 에러, 500번대는 골치아픈 에러

'스마트웹&콘텐츠 개발자 과정 > Servlet | JSP' 카테고리의 다른 글

넷째 시간 끄적끄적  (0) 2018.08.03
세 번째 시간 끄적끄적  (0) 2018.08.02
둘째 시간 끄적끄적  (0) 2018.08.02

+ Recent posts