멀티캠퍼스 JAVA 백엔드 부트캠프/정리

멀티캠퍼스 백엔드 개발자 취업캠프(Java) 입과 7주차 정리

5ein 2023. 3. 19. 20:53

2023.03.13

미니프로젝트 마무리하는 시간을 가졌다.

내 미니프로젝트 계획은 이러했다.

전체 로그인 창에서 관리자로 로그인할건지 회원으로 로그인 할것인지 입력
관리자로그인 창에서 관리자로 로그인 -> 공연정보 수정
회원로그인 창에서 회원으로 로그인 -> 공연예매
예매 번호와 공연ID를 입력하면 공연table에서 공연정보를 가져와서 예매table에 그 공연이 추가됨. (같은거 여러개 가능)

- 전체 로그인(관리자로 로그인할지 회원으로 로그인할지 입력)

- 관리자[ID PK, PW]
관리자로그인 -- 공연정보UI로 연결
관리자VO
관리자DAO

- 회원[ID PK, PW]
회원로그인 -- 예매UI로 연결
회원VO
회원DAO

- 공연정보[ID PK, 이름, 장소, 가격, 공연시작일, 공연종료일, 관리자 ID FK]
(ui 공연정보 검색 등을 화면에 다 보여줌)
(공연추가, 공연삭제, 공연수정, 공연검색 버튼)
(공연이름, 장소, 가격, 공연시작일, 공연종료 적는 칸)

- 예매[(예매)NO PK, (공연)ID FK, 회원ID FK]
공연 목록 가져오기[(예매)NO<자동생성>, (공연)ID, (공연)제목, (회원)ID]
예매NO, 공연ID 적는칸
버튼 예매, 예매취소
예매한목록 가져오기 (NO, 공연ID, 공연제목, 회원ID)

 

하지만 이것을 만들다 보니 3가지 문제점이 생겼고 강사님께서 솔루션을 내주셨다.

1. NO 자동생성 시퀀스 만들고 나서 java에서 어떤처리를 해줘야하나요?
DAO에서 String sql = "insert into hr.예매 values (hr.r_seq.nextVal, ?, ?)"; 이렇게 넣고, 
ps.setString()은 해줄필요없음.

2. 로그인한 회원정보를 회원아이디를 따로 입력하지 않고 받아올수 있는지
--회원로그인에서 ID 받아와서 예매UI에서 t1에 바로 넣어줌

3. 다른 table에 있는 공연제목을 같이 가져와서 판넬에 보여줄수 있는지(innerjoin)
이너조인을 String sql = “”;에 넣어주고,
조인한 결과를 담을 수 있는 vo를 또 따로 만들어줌.

결과:


2023.03.14

Bin: 실행, 실행중지 하는 것이 들어있는 폴더

Conf: 환경설정하는 폴더(포트 바꿀 : conf --> sver.xml 오른쪽마우스연결프로그램 메모장 --> Server port=”7777”, Connector port = “8888” 바꾸기)

Logs: 로그 기록

Webapps: 사이트 들어감

 

주소를 보고 전달되는 데이터를 알수있음 <get방식> (아이디 패스워드는 get방식 사용하면 안됨!)

ex) http://localhost:8888/web01/insert.jsp?id=apple&pw=1234&name=apple&tel=010

id apple, pw 1234, name apple, tel 010

 

디비버에서 원래 오라클로 실습을 했었는데 이번부터 mysql로 실습을 한다

oracle과 mysql은 사용법? 이 유사하다!

 

오라클에서는 sequence 를 생성해주어야 하지만, mysql에서는 auto increment 체크해주면 !


2023.03.15

클라이언트 삼총사 == 브라우저 삼총사 (HTML, CSS, JS) --> 클라이언트에서만 실행되기 때문

html, css, jsjsp안에 있다고 해서 java 같이 tomcat에서 실행되는 것이 아니고 브라우저에서 tomcat 요청하고 응답받고 실행됨!

 

let 작은 라이브러리를 뜻함

 

브라우저와 서버간요청은http 재가공하는 거쳐야함.

 

1.	웹프로그램의 3단계
- 클라이언트측(브라우저), 웹서버측(웹서버 + WAS), DB측
2.	웹서버측의 구성: 웹서버 + WAS, 각각의 역할
-웹서버: http요청/응답
- WAS: 자바로 동적처리부분 담당
3.	WAS는 무엇의 약자?
- Web Application Server (웹 어플리케이션 서버)
4.	웹서버 종류?
- apache, nginx(엔진엑스), IIS
5.	어떤 자바WAS를 써봤나요?
- apache 톰캣(Tomcat)
6.	JDBC 4단계를 정리해보세요.  –중요!!!!
	1.	Driver 설정
	2.	DB 연결
	3.	SQL문 생성
	4.	DB로 SQL문 보내기
7.	mysql과 oracle의 기본 port는?
- mysql(3306)
- oracle(1521)
8.	JSP는 무엇의 약자?
- Java Server Pages
9.	servlet과 JSP의 관계?
- JSP는 서블릿이라 자바프로그램으로 변환되어 실행
10.	http의 용도, 무엇의 약자? 
- 클라이언트와 웹서버의 통신 규칙(규약, 프로토콜), Hyper Text Transfer Protocol
11.	http의 구성요소 2가지
- header + body
12.	브라우저가 보낼 때의 http 헤더와 바디
- header(요청주소 + get (데이터)), body(post(데이터))
13.	웹서버가 보낼 때의 http헤더와 바디
- header(상태코드), body(처리결과)

2023.03.16

우리는 mvc방법론에 의해서 코드를 만들고 있다.

 

CUD 확인문제 풀고, 페이지간의 흐름 보는것을 배웠다.

그리고 전체 목록을 보여주는것과, 목록중 title을 눌렀을때 그것에 대한 상세페이지가 나오는게 하도록 코드 짜는것도 실습했다.


2023.03.17

실무에서 셀렉트 할때 * 를 쓰는 경우는 잘없다. + 숫자보다 칼럼을 명시하는 코드를 쓴다.

 

미션1

- list5.jsp 와 one5.jsp 만들기 ==> 이미지 칼럼 하나있게 만들기!

- insert5.html -> one5.jsp 만들기

- delete5.html -> delete.jsp 만들기

- update5.html -> update5.jsp 만들기

 

부분검색 하는것도 해보면 좋음대 다음주 수업에 이어서 하신다고 하셨다!


주말에 이러닝을 하루에 3개씩 들었다. 강사님 수업때보다 이러닝을 들을때 너무 졸려서 몇번이고 다시 들었다.. 일찍잤는데도 왜이렇게 졸릴까.. 체력이 많이 약해졌나보다ㅠ

 

 

면접에 WAS 무엇의 약자인가요? 이런질문 많이 한대