과목 | 배정시간 | 진행률 | 성취율 |
자바 | 300시간(75일) | 15일 | 20% |
데이터베이스 | |||
JSP | |||
Spring | |||
프로젝트 |
영속계층 | 서비스계층 | 웹계층 | 화면구성 |
com.jslhrd.domain >> BoardVO.java(C) com.jslhrd.mapper >> BoardMapper(I) src/test/java/com.jslhrd.mapper >> BoardMapperTests(C) |
@service com.jslhrd.service >> BoardService.java(I) >> BoardServiceImpl.java(C) src/test/java/com.jslhrd.service >> BoardServiceTests(C) |
@controller com.jslhrd.controller >> BoardController.java(C) src/test/java/com.jslhrd.controller >> BoardControllerTests(C) |
부트스트랩적용 자바스크립트적용 |
번호 | 패키지네이밍 | 서비스 | |
1 |
com.jslhrd.config com.jslhrd.controller com.jslhrd.service com.jslhrd.domain com.jslhrd.persistence com.jslhrd.exception com.jslhrd.aop com.jslhrd.security com.jslhrd.util |
src/test/java > com.jslhrd.mapper > com.jslhrd.persistence > DataSourceTests.java > JDBCTests.java > com.jslhrd.service > com.jslhrd.persistence |
구성요소 | 설명 |
모델 | 주로 데이터베이스와 연동하는 비즈니스 로직을 통해 얻어온 데이터를 저장하는 용도 |
뷰 | 사용자의 인터페이스로 주로 JSP페이지를 사용 |
컨트롤 |
모델과 뷰 사이의 흐름을 제어하는 역할 클라이언트의 요청을 받아 이를 수행하기 위한 모델영역의 어떤 비즈니스 로직을 수행할지 결정 주로 서블릿을 사용 |
실제 업무를 처리하는 부분(비즈니스 계층) 화면을 처리하는 부분(프리젠테이션 계층) 데이터베이스에서 데이터를 처리하는 부분(퍼시스턴스 계층) |
번호 | JAVA | JSP | 자바빈즈 | 서블릿 | 스프링 |
1 |
JSP에서 사용할 부품 만들기
|
웹에서 작동되는 언어 URL이해 프로토콜 : 도메인 /디렉토리/파일: 프로토콜 : 도메인/컨텍스트패스/서블릿요청URL패턴 내장객체 표현방법 %% : 스크립트릿 %=% : 표현식 |
동적콘텐츠 개발을 위해 자바 코드를 사용하여 자바 클래스로 로직을 작성하는 방법 자바빈즈는 데이터 표현을 목적 |
서블릿 = Server+Applet의 합성어 서버에서 실행되는 Applet이란 의미로 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술 Applet이란 애플릿(영어: applet)은 플러그인의 하나로서 전용 위젯 엔진이나 더 큰 프로그램 범위 내에서 실행되는 특정한 작업을 수행하는 조그마한 응용 프로그램을 말한다. 자바 클래스 형태의 웹 어플리케이션 어노테이션 request.setCharacterEncoding("UTF-8") |
|
데이터베이스 커넥션 풀 http://tomcat.apache.org https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#MySQL_DBCP_2_Example create database javatest; use javatest; create table testdata ( id int not null auto_increment primary key, foo varchar(25), bar int); |
번호 | 명령어 | 설명 |
1 | mkdir | 디렉토리 만들기 |
매개변수 | 설명 |
request | Request 내장 객체를 설정 |
saveDirectory | 서버의 파일 저장 경로를 설정 |
maxPostSize | 파일의 최대 크기(Byte) |
encoding | 인코딩 유형 설정 |
policy | 파일명 변경 정책 설정 |
메서드 | 유형 | 설명 |
getParameter(String name) | String | 요청 파라미터 이름이 name 값을 전달 |
내장객체 | 기능 |
param | request.getParameter()로 얻을수 있는 값들이다. |
표현언어 > | 커스텀태그 > | JSTL |
select name="sel" for() { } |
taglib prefix="c" uri=""
select name="sel" c:forEach items="" var="" { c:forEach |
라이브러리 | 기능 | 태그 | 접두어 |
핵심 |
General Purpose Actions Conditional Actions Iterator Actions URL Related Actions |
catch,out,remove,set choose,when,otherwise,if forEach,forTokens import,redirect,url,param |
c |
프로젝트명: lego 패키지 : lego 디비정보 : root , 123456 , db53 확인 : http://jslweb.izerone.co.kr/lego/ 조건 가격의 최대값 찾기 가격의 최소값 찾기 연도별 제품 카운트 하기 |
||||||||||||||||||||||||||
lego(만들어져있음) | Lego | LegoBean | ||||||||||||||||||||||||
CREATE TABLE IF NOT EXISTS `lego` ( `idx` int(10) NOT NULL AUTO_INCREMENT, `modelNum` varchar(20) NOT NULL COMMENT '모델번호', `modelName` varchar(20) NOT NULL COMMENT '모델명', `year` varchar(50) NOT NULL COMMENT '연도', `maker` varchar(50) NOT NULL COMMENT '제조사', `price` int(10) NOT NULL DEFAULT '0' COMMENT '가격', `age` int(10) NOT NULL DEFAULT '0' COMMENT '연령', `manual` varchar(50) NOT NULL DEFAULT '0' COMMENT '설명서유무', `reg_date` datetime NOT NULL COMMENT '등록일', PRIMARY KEY (`idx`) |
private String modelNum; private String modelName; private String year; private String maker; private String price; private int age; private String manual; |
void connect(){ } void disconnect(){ } void updateDB(){ } void deleteDB(){ } void insertDB(){ } void selectDB(){ } void getDB(){ } |
||||||||||||||||||||||||
데이터베이스 연결(Mysql경우) 객체생성 Connection conn=null; PrepareStatement pstmt=null; String jdbc_driver =""; String jdbc_url=""; 드라이버추가 Class.forName(); DrirverManager.getConnection(); |
| |||||||||||||||||||||||||
핵심내용 request.setCharacterEncoding("UTF-8"); isErrorPage="true" import=java.util.* import lego.*; pageContext.forward("lego_ctl.jsp?command=select"); response.sendRedirect(); jsp:useBean id="" class="" scope="" request.setAttribute(); |
디렉티브 태그 | 형식 | 설명 |
page | @page | JSP 페이지에 대한 정보를 설정 |
include | @include | JSP 페이지의 특정영역에 다른 문서를 포함 |
taglib | @taglib | JSP 페이지에서 사용할 태그 라이브러리를 설정 |
1. 시작페이지 만들기 2. 한글출력및 페이지 모듈화하기(include) 3. 상품등록 표시하기 4. 상품상세 표시하기 5. 상품등록 페이지 만들기(상품이미지등록) > 유효성검사 > 다국어 처리 > 보안처리 6. 장바구니 만들기 7. 주문처리 페이지 만들기 8. 로그 기록하기 9. 예외 처리 페이지 만들기 10. 로그인 페이지 11. 관리자 페이지 12. 13. |
||||||||||||||||||||||||||
product | Product | ProductBean | ||||||||||||||||||||||||
create table member( uid varchar(10) not null, name varchar(15) not null, passwd varchar(12) not null, email varchar(45) not null, date date not null, primary key(uid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
private String productId; private String pname; private Integer unitPrice; private String description; private Date manufacturer; private Date category; private long unitsInStock; private String condition; |
void connect(){ } void disconnect(){ } void addMember(){ } void login(){ } void getNewMembers(){ } |
||||||||||||||||||||||||
member | Member | MemberBean | ||||||||||||||||||||||||
create table member( uid varchar(10) not null, name varchar(15) not null, passwd varchar(12) not null, email varchar(45) not null, date date not null, primary key(uid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
private String name; private String uid; private String passwd; private String email; private Date date; |
void connect(){ } void disconnect(){ } void addMember(){ } void login(){ } void getNewMembers(){ } |
||||||||||||||||||||||||
데이터베이스 연결(Mysql경우) 객체생성 Connection conn=null; PrepareStatement pstmt=null; String jdbc_driver =""; String jdbc_url=""; 드라이버추가 Class.forName(); DrirverManager.getConnection(); |
|
|||||||||||||||||||||||||
핵심내용 request.setCharacterEncoding("UTF-8"); isErrorPage="true" import=java.util.* import addrbook.*; pageContext.forward("ab_ctl.jsp?command=select"); response.sendRedirect(); jsp:useBean id="" class="" scope="" request.setAttribute(); insert into member(uid,name,passwd,email,date) values('admin','관리자','12345','admin@test.com','2022-03-28'); |
member | Member | MemberBean | ||||||||||||||||||||||||
create table member( uid varchar(10) not null, name varchar(15) not null, passwd varchar(12) not null, email varchar(45) not null, date date not null, primary key(uid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
private String name; private String uid; private String passwd; private String email; private Date date; |
void connect(){ } void disconnect(){ } void addMember(){ } void login(){ } void getNewMembers(){ } |
||||||||||||||||||||||||
데이터베이스 연결(Mysql경우) 객체생성 Connection conn=null; PrepareStatement pstmt=null; String jdbc_driver =""; String jdbc_url=""; 드라이버추가 Class.forName(); DrirverManager.getConnection(); |
|
|||||||||||||||||||||||||
핵심내용 request.setCharacterEncoding("UTF-8"); isErrorPage="true" import=java.util.* import addrbook.*; pageContext.forward("ab_ctl.jsp?command=select"); response.sendRedirect(); jsp:useBean id="" class="" scope="" request.setAttribute(); |
addrbook | AddrBook | AddrBean | ||||||||||||||||||||||||
CREATE TABLE `addrbook` ( `ab_id` int(11) NOT NULL AUTO_INCREMENT, `ab_name` varchar(15) NOT NULL, `ab_email` varchar(50) DEFAULT NULL, `ab_comdept` varchar(20) NOT NULL, `ab_birth` varchar(10) NOT NULL, `ab_tel` varchar(20) DEFAULT NULL, `ab_memo` varchar(100) DEFAULT NULL, PRIMARY KEY (`ab_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
int ab_id; String ab_name; String ab_email; String ab_tel; String ab_birth; String ab_comdept; String ab_memo; |
void connect(){ } void disconnect(){ } void updateDB(){ } void deleteDB(){ } void insertDB(){ } void selectDB(){ } void getDB(){ } |
||||||||||||||||||||||||
데이터베이스 연결(Mysql경우) 객체생성 Connection conn=null; PrepareStatement pstmt=null; String jdbc_driver =""; String jdbc_url=""; 드라이버추가 Class.forName(); DrirverManager.getConnection(); |
|
|||||||||||||||||||||||||
핵심내용 request.setCharacterEncoding("UTF-8"); isErrorPage="true" import=java.util.* import addrbook.*; pageContext.forward("ab_ctl.jsp?command=select"); response.sendRedirect(); jsp:useBean id="" class="" scope="" request.setAttribute(); 참고자료 html(layout) 반응형css |
import javax.swing.JFrame; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("GUI연습"); setSize(500,500); setVisible(true); new MyGUI(); 이벤트처리 button.addActionListener(); |
||
기능 | JAVA | 웹 |
텍스트상자 | input type="text" name="" |
|
버튼 |
JButton btn1=new JButton("버튼1") this.add(btn1) |
input type="submit" |
레이블 |
JLable lbl=new JLable("레이블입니다.") this.add(lbl) |
input type="submit" |
체크박스 |
JCheckBox chk1=new JCheckBox("버튼1") this.add(chk1) |
input type="submit" |
라디오버튼 |
JRadioButton rdo=new JRadioButton("고래") this.add(rdo) |
input type="submit" |
텍스트필드 |
JTextField txt1=new JTextField(10) this.add(txt1) |
input type="submit" |
JTextArea |
JTextArea txt2=new JTextArea(5,10) this.add(rdo) |
input type="submit" |
암호 | JPasswordField txt3 = JPasswordField(10) | input type="submit" |
번호 | 기능 | 파일이름 |
1 | 메인화면 | sns_main.jsp |
2 | 회원가입화면 | new_user.jsp |
3 | 오류처리화면 |
error.jsp 404-error.jsp |
패키지 | 클래스이름 | 설명 |
mysns.member | Member | 회원정보DO클래스다. |
커스텀태그 | 구현기능 | 로그인전 | 로그인후 |
접근제어수식어 | 같은 클래스 | 같은 패키지 | 하위 클래스 | 외부 클래스 |
public | 접근가능 | 접근가능 | 접근가능 | 접근가능 |
protected | 접근가능 | 접근가능 | 접근가능 | 접근불가능 |
default | 접근가능 | 접근가능 | 접근불가능 | 접근불가능 |
private | 접근가능 | 접근불가능 | 접근불가능 | 접근불가능 |
일반클래스 | 추상클래스 | 인터페이스 |
일반필드(o) static final 필드(o) 추상메서드(x) 일반메서드(o) |
일반필드(o) static final 필드(o) 추상메서드(o) 일반메서드(o) |
일반필드(x) static final 필드(o) 추상메서드(o) 일반메서드(x) |
액션 | 사용예 | 기능 |
include | ||
forward | ||
useBean | ||
setProperty |
Product | ProductStorage | ProductMain |
클래스명 | Address(J) | BoardVO(W) | ||
멤버변수 |
String name; String age; String phone; |
Long bno; String title; String content; String writer; Date regdate; Date updateDate; |
||
메서드 |
print_menu(); view_juso(); add_juso(); delete_juso(); |
Student | Subject | Score |
학번 학생이름 필수과목 수강한 과목 점수 리스트 |
과목 이름 과목 고유 번호 학점 산출 방식 수강 신청한 학생 리스트 |
학번 과목 점수 |
구분 | 만들어야 할 것 | 만들어져 있는 것 |
변수 함수 클래스 |
클래스 |
함수명 | 기능 |
nextLine() |
함수명 | 기능 |
Random() |
함수명 | 기능 |
getByName() | |
getHostName() | |
getHostAddress() | |
getPort() | |
getFile() | |
getPath() | |
openConnection() | |
accept() |
함수명 | 기능 |
readLine() | 한줄씩 읽는다. |
함수명 | 기능 |
Random() |
자바 |
클래스 인터페이스 상속 |
데이터베이스 | 데이터베이스 문법 및 활용 |
JSP&Servlet | 모델1, 모델2의 이해 |
Spring Framework | MVC 익히기 |
프로젝트 |
|