230424 마흔 세 번째 수업_DB설계/JSP

mary·2023년 4월 24일
0

국비 수업

목록 보기
43/72

하나의 쇼핑몰 홈페이지를 만든다고 할 때


1. 흐름에 따라 명시
2.명사들이 테이블에 컬럼으로 들어가야될 것들

  1. 개념적 설계: 기본키(식별의 기준이 되는 것) 설정


  1. 연관 관계 찾기(동사를 찾으면 됨): 어떤 테이블과 어떤 테이블이 관계를 맺을 건지

이런식으로 DB 설계 짜기(위의 사진은 ER 다이어그램임)

그 다음에 테이블을 생성하면 됨


ERD 클라우드 홈페이지에서 테이블 생성

https://www.erdcloud.com/

ERD 생성

테이블 생성


기본키는 안 되고 일반 컬럼들은 순서를 조정할 수 있음


  • DBMS 설계 순서



Servlet/JSP

지금 공부하는 것이 Web Server

동적인 페이지: 페이지마다 화면이 다름

반드시 상속받음(Extends)


Tomcat 설치

9버전으로 다운로드

자바 자동으로 잡힘


파일명과 주소 합쳐서 링크 메모장에 넣기

내 pc 정보 - 고급 시스템 설정 - 환경 변수 - 시스템 변수에서 새로 만들기 -

변수값에 저 링크 넣기


이클립스에서 여기 들어가기


워크 스페이스 연결

없으면 file 메뉴에서 New로 다이나믹 웹 프로젝트 만들어도 됨


설치한 apatche 버전 선택


tomcat 설치한 경로 지정 - finish

  • 포트번호 변경

    더블 클릭


0번은 옆에 탭으로 열리고
1번은 기본 브라우저를 어떤 거로 열 건지

  • JSP 파일을 어디에서 생성해야될지 모르겠으면 그냥 최상위(여기선test워크시트)에서 JSP생성시키면 자동으로 경로 지정하여 생성됨

인코딩 설정(windows - prepernces - enco 검색)
workspace부터 XML까지 모두 UTF-8로 바꾸기

spelling도 바꾸기


UPDATE - apply


설정 다 됐으면 이렇게 나와야 함



JSP

선언문


멤버변수 선언

선언부(<%!%>)안의 문법은 java와 동일


스크립트릿


지역변수 용법 java와 똑같음


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! // <%! 는 이클립스가 자동으로 제일먼저 읽기 때문에 밑으로 코드 짜도 먼저 올라옴
	String name = "홍길동";
	String class1 = "공공데이터 융합 웹 애플리케이션 개발자 양성과정";
	int num = 2;
	// 프로그램 주석
%>
<!-- html 주석 -->
<%-- JSP, HTML 통틀어 주석 --%>
나의 이름 <%= name %> 입니다<br>
강좌명은 <%=class1 %> 입니다<br>
과정은 <%=num %>번째 과정입니다.
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
	int one;
	int two =1;
	
	//메소드는 반드시 <%! ~~ 안에서만 선언 해야함
	public int plusMethod(int one, int two) {
		return one + two;
	}
	
	String msg;
	int three;
%>
one과 two의 합은 ? <%= plusMethod(3,5) %><br>
String msg의 값은 ? <%=msg %><br>
three의 값은 ? <%= three %>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% 
	//변수선언 지역변수
	String name = "이한글";
	int num = 3;
	boolean bool = true;
	double dou = 3.14;
	int num2;
%>

<%-- 반드시 선언한 후에 사용가능 --%>
나의 이름은 <%=name %>입니다 <br>
<%=num %>년차 재직중입니다<br>
남자입니까? <%= bool %><br>
원주율은 <%= dou %>입니다<br><br>

<%-- 숫자는 <%= num2 %> 지역변수에 초기화 작업 안 해주면 오류 --%>
<%!	//!는 인스턴스 변수로 선언을 해준다는 뜻
	int num3; //얘는 인스턴스 변수라 이렇게 하면 기본값인 0이 들어감
	int one;	//기본값: 0
	String msgOne;	//기본값: null
%>
<%	//!가 없으면 지역변수로 선언한다는 뜻
	int two = 54;	//기본값 없어서 초기화 안 해주면 오류
	String msgTwo = "Scriptlet Example";
%>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	float f = 5.78f; //기본값이 double이기 때문에 f안 해주면 오류
	int num = Math.round(f);
	java.util.Date date = new java.util.Date();
	int hour = date.getHours();
	
	int one = 83;
	int two = 43;
%>
<%!
	public int op(int i, int j) {
	return i > j ? i : j;
}
%>
실수 5.78의 반올림한 값은? <%=num %><br>
현재의 날짜와 시간은? <%= date.toString() %><br>
지금은 오전일까요? 오후일까요? <%= (hour < 12)? "오전" : "오후" %><br>
두 수중 큰 숫자는 ? <%=op(one, two) %>
</body>
</html>

* 코드에 오류가 없는데 오류표시(밑줄)가 뜨면

alt + 방향키 위아래

로 해주면 사라짐

profile
내 인생을 망치러 온 나의 구원, 개발

0개의 댓글