728x90

분류 전체보기 156

[JSP] EL 표기법

EL(Expression Language) : JSP에서 사용하는 표현식을 좀 더 간결하게 사용하기위한 표현식 ${영역객체.변수} EL표현식으로 값을 표현하려면 4개의 객체(모두 JSP의 내장객체)가 있다. 기본객체의 영역은 객체의 유효기간이라고도 불리며 객체를 누군가와 공유할것인가를 나타냄 (1) page scope 객체 : 저장된 데이터를 현재 페이지에서만 공유하고 사용함 (자바의 private 같은 효과, 그러나 너무 폐쇄적이라 잘 쓰지않음) 웹 브라우저의 요청이 들어오면 단 한개의 페이지만 대응된다. 따라서 page 객체는 하나의 페이지 내에서만 공유한다. (2) 𖤐𖤐 request scope 객체 : 가장 많이 사용되는 객체. 같은 request영역이면 두개의 페이지가 같은 요청을 공유할 수 있..

JSP 2023.10.29

[JSP] JDBC_5 (싱글톤 패턴 + VO, DAO + CRUD)

회원들의 정보를 데이터베이스에 테이블 추가했다고 가정함 (테이블명 : MEMBER) 추가방법은 이전글 JDBC_1 참고 +) 회원번호는 자동으로 생성될 수 있게끔 시퀀스를 이용해보자. CREATE SEQUENCE SEQ_MEMBER_IDX; 데이터를 INSERT할 때 시퀀스적용은 시퀀스명.NEXTVAL 으로 한다. INSERT INTO MEMBER VALUES(SEQ_MEMBER_IDX.NEXTVAL,'홍길동','ONE','1234','one@korea.com'); DBServer.java파일은 그대로 사용가능 (캡쳐생략) VO / DAO (vo를 싱글톤으로 만들지 않는 이유 : 메모리에 한번 할당되면 수정안되므로 dbservice와 dao만 싱글톤으로) JSP member_list.jsp 결과 회원정보..

JSP 2023.10.29

[JSP] JDBC_4 (싱글톤 패턴 + VO, DAO + CRUD)

이번엔 CRUD를 이용해서 싱글톤패턴의 또다른 예제를 보자. 학생들의 성적정보를 데이터베이스에 테이블 추가했다고 가정함 (테이블명 : SUNGTB) 추가방법은 이전글 JDBC_1 참고 +) 학생번호는 자동으로 생성될 수 있게끔 시퀀스를 이용해보자. CREATE SEQUENCE SEQ_SUNGTB_NO; 데이터를 INSERT할 때 시퀀스적용은 시퀀스명.NEXTVAL 으로 한다. INSERT INTO SUNGTB VALUES(SEQ_SUNGTB_NO.NEXTVAL,'홍길동',77,88,99); [DB] 시퀀스(SEQUENCE) 시퀀스(SEQUENCE) CREATE SEQUENCE 시퀀스명; 오라클 데이터베이스에서 특정 규칙에 맞는 연속숫자를 생성하는 객체 예를들면, 회원가입시 가입자들에게 또는 게시판의 게시..

JSP 2023.10.27

[JSP] JDBC_3 (싱글톤 패턴 + VO, DAO)

앞서 살펴본 모델1은 데이터 처리로직과 출력로직을 한 페이지에서 처리,해결하는 방식으로, 데이터를 가져올 때마다 매번 DB에 접속하기 때문에 비효율적일 수 있다. 이를 좀 더 효율적으로 구현할 수 있는 방법이 싱글톤 패턴이다. 싱글톤 패턴을 사용하기전에 템플릿을 하나 추가해보자 Window - Preferences - Java - Templates - Import 클릭 - 파일선택 - Apply 싱글톤 패턴 (Singleton pattern) 어플리케이션이 시작될 때 최초 한번만 메모리에 할당하고(static의 개념) 그 메모리에 객체를 만들어서 사용하는 디자인 패턴 DB를 접속할 때처럼 공통된 객체를 여러 개 생성해서 사용하는 경우 많이 사용되는 디자인 패턴 VO (Values Object) : 한 개..

JSP 2023.10.26

[JSP] JDBC_2

데이터 처리로직과 출력로직을 한 페이지에서 처리,해결하는 모델1 구현하기 (데이터를 가져올 때마다 매번 DB에 접속하는 방법) 1️⃣ 이전글 JDBC_1에서 추가한 부서테이블을 웹에서 구현해보자 95행 👉 Dname을 클릭했을 때 send라는 메서드를 호출하겠다. 파라미터는 부서번호가 됨. deptno()를 send로 전달해서 101행의 input태그에 넣고 보냄 101행 👉 인풋태그가 없으면 값을 보낼 수 없음 (생략불가) / 선택한 부서번호를 저장하기위한 용도 (숨긴 입력필드임) 69행 function send(data){ 👉 부서번호가 data에 들어가게됨 70행 let f = document.m_form; 👉 폼태그검색 71행 let hid = f.deptno;//input태그검색 👉 폼태그에서 ..

JSP 2023.10.25

[백준] 2908번 상수

두 수를 int가 아닌 String으로 받아서 StringBuilder클래스의 reverse()를 이용해보자. **참고 [JAVA] JAVA API 클래스 (String 클래스, StringBuilder 클래스) 자바가 제공하는 String 클래스의 특징 1. 두가지의 객체 생성방법 (암시적, 명시적) 2. 불변의 법칙 : 한번 생성된 문자열의 내용은 변하지 않음 1. 객체 생성방법 String s1 = "abc"; //암시적 객체생성( studywithjw.tistory.com reverse()로 뒤집어진 문자열형태를 다시 String상태로 만들고 마지막으로 Integer.parseInt를 이용해 정수로 만든 다음 비교하자. 위와 같은 코드를 더 깔끔하게 요약할 수 있는 코드를 발견했다. Integer..

JAVA/오류고민 2023.10.23

[백준] 2711번 오타맨 고창영

숫자와 문자열을 함께 배열에 담고 StringBuilder의 delete 함수를 사용해보자. **참고 [JAVA] JAVA API 클래스 (String 클래스, StringBuilder 클래스) 자바가 제공하는 String 클래스의 특징 1. 두가지의 객체 생성방법 (암시적, 명시적) 2. 불변의 법칙 : 한번 생성된 문자열의 내용은 변하지 않음 1. 객체 생성방법 String s1 = "abc"; //암시적 객체생성( studywithjw.tistory.com 배열의 순서는 [0]부터 시작하고 StringBuilder클래스에서 순서는 1부터 시작하므로 글자하나를 삭제하고 싶다면 delete(a-1, a)를 해줘야 한다. (이상,미만) ex. 4번째 글자 삭제를 원한다면 (5-1=4이상, 5미만) 으로 ..

JAVA/오류고민 2023.10.23
728x90