🔎 모델2 기반의 MVC 패턴 ✔ 개요 MVC 패턴에서 MVC 는 각각 Model, View, Controller 를 의미하는 것으로 Model 은 데이터 또는 기본 기능(업무 로직)을 말하며, View 는 유저 인터페이스를 말한다. 이 두가지는 시스템 개발에 있어서 반드시 필요한 부분이다. MVC 패턴은 C 패턴이라고 불러도 괜찮을만큼 한 마디로 말해 Controller 라는 레이어 계층을 두는 것이 가장 중요하다. 즉, Graphical User Inerface 를 활용하는 과정에서 Model 과 View 계층 사이에 Controller 계층을 만들어 사용할 수 있도록 하는 것이다. 이렇게 필수적인 두 계층 사이에 필수적이지 않은 다른 계층을 두는 이유는 두 계층(Model 과 View)이 직접적으로..
📚 Study/JSP & Servlet
🔎 DBCP(DataBase Connection Pool) 커넥션 풀(Connection Pool) 기법이란, 데이터베이스와 연결된 커넥션을 미리 만들어 풀(Pool) 속에 저장해 두고 있다가 필요할 때에 커넥션을 풀어서 꺼내어 가져다 쓰고 다시 풀에 반환하는 기법을 말한다. 데이터베이스를 연결하기 위한 커넥션(Connection)은 객체이다. 이 객체는 새롭게 만들어지는 과정에서 많은 시스템 자원을 요구하게 된다. 객체가 메모리에 할당되고, 객체에 사용할 여러 자원들에 대한 초기화 작업, 그리고 객체가 더 이상 필요하지 않게 되었을 때 메모리를 회수하는 과정 등에서 많은 비용이 발생하고 요구되는 것이다. JSP 페이지를 생성할 때 마다 커넥션을 생성해서 사용하게 되면 커넥션을 생성하고 닫는데 많은 시스..
# Test3.jsp - 기존 데이터 수신 방식과 EL 활용한 데이터 수신 방식 비교 EL 관련 실습 정수1 정수2 결과 확인 폼 데이터 수신 [폼의 데이터를 수신하는 방법 1] [폼의 데이터를 수신하는 방법 2] ${param.su2 } 폼의 데이터를 받아 연산 수행 [폼의 데이터를 받아 연산을 수행하는 방법 1] 합 : [폼의 데이터를 받아 연산을 수행하는 방법 2] 합 : ${param.su1 + param.su2 } setAttribute() 로 넘긴 데이터 수신 [setAttribute() 로 넘긴 데이터를 수신하는 방법1] [setAttribute() 로 넘긴 데이터를 수신하는 방법2] ${result } ➰체크할 내용➰ 1. form 태그 action 속성 생략 - 전송하는 데이터의 수신처는..
🔎 EL(Expression Language : 표현 언어) EL은 JSTL 1.0 스펙에서 잠깐 소개되었다가 JSP 2.0 부터 공식적으로 포함되었으며 JSP 페이지에 사용되는 자바 코드를 대신해서 액션 태그 엘리먼트의 속성에 값을 지정하는 역할을 한다. 예를 들어, 액션 태그의 엘리먼트의 속성은 attribute 이고 속성 값은
🔎 Servlet (서블릿) 웹 어플리케이션을 구축하기 위한 웹 프로그램을 구성하는 언어의 한 종류. (JAVA 기반) 1. JSP에서 정적인 부분을 담당하고, Servlet 에서는 동적인 처리를 위한 부분으로 사용 → 보다 효율적인 웹 어플리케이션을 구축할 수 있다. 언어 단점 JSP MVC 패턴을 적용하기 힘들다. Servlet 웹 페이지(view) 작성이 번거롭고 복잡하다. (불편하다.) Servlet + JSP 구조가 복잡해지게 된다. but, MVC 패턴 적용 및 웹 페이지(view) 를 보다 편리하게 작성할 수 있다. 2. JSP 는 내부적으로 Web Container 가 Servlet 으로 변경시켜준다. 3. WEB-INF 는 환경 설정 파일이 저장되는 곳 → 외부에서는 접근 불가 / 금지 ..
✔ 첫 번째 실습 (연산 결과 확인) 📃 Calc.jsp 에서 Calc_ok.jsp 페이지로 이동하여 결과 출력 # Calc.java package com.test; public class Calc { // 주요 속성 구성 private int su1;//-- 피연산자1 (정수 형태) private String op;//-- 연산자 (문자열 형태) private int su2;//-- 피연산자2 (정수 형태) // 생성자 정의하지 않음 (사용자 정의 생성자 없음) // → default 생성자 자동 삽입 // getter / setter 구성 public int getSu1() { return su1; } public void setSu1(int su1) { this.su1 = su1; } public ..
🔎 JSP 액션 태그(JSP Action Tag) JSP 액션 태그는 클라이언트 혹은 서버에 어떤 동작을 수행하도록 명령을 내리는 태그로 JSP 페이지 안에서 자바 빈즈를 사용할 수 있도록 하는 액션 태그와 페이지를 활용할 수 있도록 하는 액션 태그로 나눌 수 있다. - JSP 빈과 관련된 액션 태그 , , - JSP 페이지 모듈과 요청흐름 처리를 위한 액션 태그 , , 등 ✔ 형식 및 구조 1) 태그에 들어있는 내용이 있을 경우 태그에 들어있는 내용 2) 태그에 들어있는 내용이 없을 경우 ※ 스코프(Scope) JSP 액션 태그를 통해 생성된 객체는 그 객체가 사용될 수 있는 스코프 혹은 라이프사이클(Life Cycle : 생명주기) 속성을 갖는데, 이것은 생성된 객체의 레퍼런스가 어디에서 사용될 수 ..
📃 n명의 이름과 각 과목별 성적을 입력받아 총점과 평균을 계산하여 리스트를 출력해주는 프로그램 구현 → 구현 기능 : 데이터 입력, 리스트 출력, 리스트 전체 인원 수 # sql 파일은 따로 기록 x (WebApp11_scott.sql) # MemberDTO는 TBL_MEMBER 테이블의 컬럼 구조에 맞춰 String sid, name, int kor, mat, eng, tot, double avg 의 getter/ setter 구성 # ScoreDAO.java - DB 연결, 데이터 입력, 리스트 출력, 전체 인원 수 조회, DB 연결 종료 메소드 정의하기 ① DB 연결 public ScoreDAO() throws ClassNotFoundException, SQLException { conn = DB..
📃 n명의 이름과 전화번호 입력받아 리스트를 출력해주는 프로그램 구현 → 구현 기능 : 데이터 입력, 리스트 출력, 리스트 전체 인원 수 # sql 파일은 따로 기록 X (String sql 작성 편리하게 하기 위해 쿼리문 한 줄 구성하는 것 추천) # MemberDTO는 TBL_MEMBER 테이블의 컬럼 구조에 맞춰 String sid, name, tel 의 getter/ setter 구성 # MemberDAO.java - DB 연결, 데이터 입력, 리스트 출력, 전체 인원 수 조회, DB 연결 종료 메소드 정의하기 ① DB 연결 public MemberDAO() throws ClassNotFoundException, SQLException { conn = DBConn.getConnection(); }..
💻 성적 처리 프로그램 📃 n명의 이름과 각 과목별 성적을 입력받아 총점과 평균을 계산하여 리스트를 출력해주는 프로그램 구현 # ScoreList.jsp ① 페이지 레이아웃 구성 코드 이름(*) 이름을 입력해주세요. 국어점수 0 ~ 100 사이의 정수를 입력해주세요. 영어점수 0 ~ 100 사이의 정수를 입력해주세요. 수학점수 0 ~ 100 사이의 정수를 입력해주세요. 성적 추가 ➰ 체크할 내용 ➰ 1) onsubmit - 자바스크립트에서 함수 호출하여 true가 반환될 경우에 요청한 페이지를 submit할 수 있도록 하는 코드 2) 태그를 사용해서 display: none, display:inline을 통해 안내 메세지 보여주고 가려주고 하기! 스크립릿영역에서 str (테이블 생성 문자열) 완성되면 표..