JSP
jsp vs servlet
JSP(Java Server Pages): HTML내부에 Java 소스코드가 들어가서 HTML코드를 작성하기 간편함
동적 웹페이지를 생성
브라우저가 웹서버에 jsp를 요청하면 .jsp는 서블릿(Servlet) 파일로 변환(.java)되어 컴파일 후 실행가능한 bytecode로 변환(.class)후 순수 HTML로 변환하여 응답(브라우저) 한다
jspService() 메소드: servlet의 Service()와 같다. 클라이언트 요청시 실행되는 메소드
servlet의 Service(): HTTPmethod로 요청시 doPost/doGet 중 해당 메소드에 대응되는 메소드가 호출된다
Java
소스코드를 컴파일해주면 virture machin이 이해할 수 있는 byte code로 구성된 class파일이 생성된다.
class Helloworld {
public static void main(String[] args) {
System.out.println(" world Hello");
}
}
cmd 창에서 javac helloworld.java 입력시 첫줄 class가 public으로 선언되어있으면
helloworld.java:1: error: class Helloworld is public, should be declared in a file named Helloworld.java 라는 오류가 발생한다. public을 지워주면 문제없이 컴파일되어 명령어 dir/w 입력시 Helloworld.class 파일이 생성된 것을 확인할 수 있다.
이후 java helloworld 명령어를 입력하면(.class는 붙이지 않는다) 오류: 기본 클래스 helloworld을(를) 찾거나 로드할 수 없습니다. 라는 오류가 발생하는데 .java파일의 이름의 맨 앞글자를 대문자로 자동 변환해서 Helloworld.class 파일을 만들기때문에 실행할 때도 파일의 이름 그대로(대소문자 구분) 입력해줘야한다.
그래도 똑같은 오류가 날 수 있다. 이땐 이전에 설정한 환경변수 오류일 수 있다.
시스템 변수 CLASSPATH 에서 .;%JAVA_HOME%\lib; (.;를 맨 앞에 추가한다⭐)
만약 .java 파일의 프린트문을 다르게 수정하더라도 다시 java Helloworld를 실행하면 이전과 같은 문구가 출력됨을 알 수 있는데, 이것은 컴파일 된 파일이 이전에 머물러있기 때문이다. 다시 컴파일 후 실행하면 수정된 문구가 출력된다.
eclipse 사용하기
create a java project
프로젝트 파일 경로에 들어가면 src 폴더와 bin 폴더를 볼 수 있는데 src는 .java 소스코드가 있는 폴더고 bin 컴파일된 .class 실행파일이 있는 폴더
package란 같은 이름을 가진 파일이 공존할 수 있도록 고유한 도메인을 만들어서 분류해준 것
.으로 구분된 이름은 모두 디렉토리를 의미한다.
class를 생성하고 save하면 자동으로 bin디렉토리에 소스파일.class가 생성된다
내용을 변경하고 save하지 않고 실행하게 되면 자동으로 save를 다시 할 것인지 물어본다 - .class 파일을 만들고 실행하기 위해서
문자는 단따옴표/ 문자열은 쌍따옴표로 감싸줘야한다 - 문자가 하나더라도 쌍따옴표로 감싸주게 되면 문자열로 인식한다.
\를 "앞에 붙이게되면 "를 출력할 수 있다.(이스케이프)
Java는 strong data type으로 추후에 더 편리하게 사용할 수 있다.
double 실수
실수 float(4byte)/ double(8byte)
int 정수
사용할 수 있는 메모리에 따라서 조절해서 사용
변수가 가리키는 데이터의 크기(표현하는 숫자의 크기)가 아니라 특정 데이터타입은 항상 일정한 양의 메모리를 할당받으므로 변수의 데이터타입이 메모리 사용량을 결정한다.
byte(1byte)(-128~127)1byte < short(2byte)(-32768~32767) < int(4byte)(-2,147,483,648~2,147,483,647) < long(8byte)(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)
String 문자열
선언(변수를 만들고)과 할당(변수에 값을 넣기)은 동시에 할 수 있다.
두 개 이상의 변수의 타입이 같다면 동시에 선언할 수 있다.
변수 존재의 이유: 중복의 제거 가독성 및 유지보수의 편리함 향상
문서화
한 줄 주석 //
여러줄 주석 /**/
세미콜론: 문장statement이 끝났음을 알려준다
여러 문장이 한줄에 있을 때도 ;을 사용해서 구분해줄 수 있다.
괄호 뒤에는 필요없다
8bit =1byte =1/1024킬로 < 메가 < 기가 < 테라 < 페타 < 엑사
'말하는 감자 탈출하기' 카테고리의 다른 글
| 감자의 에러 (0) | 2023.05.04 |
|---|---|
| JNDI에 대해 알아보자 (0) | 2023.04.29 |
| Java/JSP-3일차 (0) | 2023.04.20 |
| eclipse-servlet (0) | 2023.04.19 |
| 자바 설치 및 환경 변수 설정하기(feat. PostgreSQL) (0) | 2023.04.18 |