JSP, JSTL2

정재호·2024년 8월 20일

디자인 패턴
MVC패턴

JSP에서 쓰고
DB에서 있는지 확인
SERVLET에서 해도 되지만

EX) 요리사가 서빙,결제,요리,설겆이 해도 되지만

객체지향
EX) 대규모에 적합 요리사, 서빙점원, 결제하는 점원 일을 나눈다

연결하는 모든 일을 했다. : DAO


사용자에게 보여짐

중간단계에서 요청이 들어옴
DAO


회원가입,수정,탈퇴 요청이 들어오면 지시를 내림 : 컨트롤러 CONTROLLER > CONTROLLER

필요한 데이터를 하나로 묶어주는 역할 : DAO > MODEL

객체지향
MVC 특징: 나눠져있다.
유지보수가 편하다


SQL Delloper 에서 테이블 생성

CREATE TABLE WMEMBER (
ID VARCHAR2(500),
PW VARCHAR2(500),
NICK VARCHAR2(500)
);

INSERT INTO WMEMBER VALUES ('admin', '1234', '관리자');

COMMIT;

다른 자바에서 확인하면 안보여서 COMMIT을 해줘야한다. INSERT하고 나서 Commit

공유템플릿 수정하기에는 어렵고

표준형 디자인을 제공해주는 방법

널리쓰이는게 부트스트랩


기본적인 사용방법 다 있습니다.


링크로 걸려있습니다. 아래처럼 나옵니다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>

Insert title here

Panel Footer

Panel Heading
Panel Content






라벨 특정 글자를 매겨주고 id를 해주면
라벨 태그 안에 있는 글자 클릭시 input tag가 활성화
라벨로 택스트 묶고
id에 묶으면 해당 인풋이 활성화된다

Bootstrap 색상 체계:
Primary (프라이머리): 파란색 (Blue)
Info (인포): 하늘색 (Light Blue)
Warning (경고): 노란색 (Yellow)
Danger (위험): 빨간색 (Red)
Success (성공): 녹색 (Green)

조인
서블릿

데이터 전송할 준비
3가지 조건 필수
주소 - action
name
submit

전달 2가지 방식
get방식
get,
URL?name=value

원하는 url 공유
보안 취약해도 상관없을때
기본적

post방식
패킷 바디에 담겨져 감
공유 안됨
method="post"

 <form action="JoinController">




request야 부탁해
request.
request.setCharacterEncoding("EUC-KR");
모든게 한글로 인코딩 가능합니다.
name:value
로 넘어갑니다
패킷의 바디에 숨겨가냐
같습니다.
매개변수의 타입이다.
parameter 형식이다.

request.getParameter("id");
파라미터는 name값 써서 가져옵니다.
웹에선 변환시 -> text형태로 변환된다.
자바는 String에 담을 수 있다.

JOIN.JSP

   <div class="panel-heading"> 회원가입 </div>

    <div class="panel-body">
     <form action="JoinController">
	  <div class="form-group">
	    <label for="id"> ID : </label>
	    <input name="id" type="text" class="form-control" id="id">
	  </div>
	  <div class="form-group">
	    <label for="pwd"> PW : </label>
	    <input name="pw" type="password" class="form-control" id="pwd">
	  </div>
	  
	  <div class="form-group">
	    <label for="nick"> NICK : </label>
	    <input name="nick"  type="text" class="form-control" id="nick">
	  </div>
     JoinController
       	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, 	
        IOException {
		request.setCharacterEncoding("EUC-KR");
		
		String id = request.getParameter("id");
		String pw = request.getParameter("pw");
		String nick = request.getParameter("nick");
		
		System.out.println(id + "/" + pw + "/" + nick);
		}

하나로 묶는 타입
값을 담는 객체
VO
VO는 Value Object의 약자로, 특정 데이터를 담고 전달하기 위한 객체를 의미합니다. WMemberVO 클래스는 회원의 정보를 담기 위한 VO로서, 시스템 간에 데이터를 안전하고 간단하게 전달하는 역할을 합니다.



캡슐화
private
내부에 메서드 값 가져오거나 다시 세팅해주게끔함
getter, setter
알트 a
알트 s

객체를 생성하고 싶다면
무조건 넣어야지만 생성할 수 있게끔 해주는 방법
생성자


WMember + DAO
WMemberDAO 이렇게 같이 붙여줍니다.
DAO(Data Access Object)는 데이터베이스와 애플리케이션 간의 상호작용을 관리하는 객체입니다.

1. DAO의 주요 역할

데이터베이스 연결 관리:

DAO는 데이터베이스 연결을 관리합니다. JDBC를 사용하여 데이터베이스와 연결을 설정하고, 연결을 해제하는 등의 작업을 수행합니다.

CRUD 작업 수행:

Create (데이터 삽입): 새로운 데이터를 데이터베이스에 추가합니다.
Read (데이터 조회): 데이터베이스에서 데이터를 조회합니다. 일반적으로 특정 조건에 맞는 데이터를 가져옵니다.
Update (데이터 수정): 기존 데이터를 수정합니다.
Delete (데이터 삭제): 데이터를 삭제합니다.
쿼리 실행:

DAO는 SQL 쿼리를 실행하여 데이터베이스와 상호작용합니다. 필요한 데이터를 가져오거나, 데이터를 추가/수정/삭제하는 작업을 수행합니다.
데이터 전송 객체(VO 또는 DTO)와 상호작용:

DAO는 데이터베이스에서 가져온 결과를 VO(Value Object)나 DTO(Data Transfer Object)로 변환하고, 이를 애플리케이션의 다른 부분으로 전달합니다.


1. DRIVER
2. CONNECTION
3. SQL작성 실행 - 및 - 실행
4. 종료

   내가 사용할 파일 플젝에 넣어준다.
   C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
   


   DAO
   DAO야 회원가입시켜줘
   정보는 vo야
   결과를 돌려줘
   (0,1)
   정수형 변수에 담을께
   int cnt
   int cnt = dao.join(vo);
	
	if(cnt > 0) {
		System.out.println("회원가입 성공!");
	}else {
		System.out.println("회원가입 실패.");
	}
   
   join 매서드 만들기

public int join(WMemberVO vo) {
	// TODO Auto-generated method stub
	
	getConnection();
	
	String sql = "";
	
	
	
	
	
	return 0;
}
   
  회원가입할때마다 바뀔것입니다. 닉네임도 마찬가지
   미지의 값
   ?
   로 표시
   
   psmt로 채워줌
   프리페이어드 스테이트먼트


sql에서 오타 있을수도 있음 ? 개수가 다르거나 테이블 명이 다르거나
예외처리

   			psmt.executeUpdate();

테이블 업데이트시 1,0

   조인.jsp
   의 파일을
   main.jsp 복사 web.app 붙여넣기 하고 form 내용을 지운뒤 버튼 2개를 만들었습니다. 
   로그인, 회원가입
   회원가입을 누르면 Join.jsp로 넘어가게 a태그 href="Join.jsp"를 설정했습니다.
  

DAO는 SQL과의 드라이버 연결 SQL 작성 psmt 작성 cnt로 결과를 받습니다.



WMemberVO info = dao.login(vo);

	if(info != null) {
		System.out.println("성공!");
	}else {
		System.out.println("실패.");
	}
	
	response.sendRedirect("main.jsp");
	
}
   
   WMemberVO 의 타입으로 묶어준다.
   
profile
성장하는 하루가 되자

0개의 댓글