Java 71

MVC와 템플릿 엔진

MVC? Model View Controller 과거에는 jsp를 통하여 View에서 모든 것을 다 처리했었음 ==> Model 1 방식 각 기능들을 쪼개어 그 기능에만 집중시키는 방향으로 발전한 것. View는 화면을 그리는데에 모든 기능과 역량을 집중시켜야하고, Controller나 Model은 비지니스 로직이나 내부적인 것들을 처리하는 것들에 집중해야함. MVC 패턴 사용하기 Controller / Model View 저번에 model과 view를 만들어 매핑을 통해 model을 전달했던 것과 같은 형태이다. 단 이번에는 @RequestParam을 통하여 매개변수name을 입력받도록 하였다. 이것의 옵션을 살펴보면 required가 기본은 true이다.(true면 값을 넘겨줘야함. false면 넘겨..

빌드하고 실행하기

나는 윈도우 사용자이므로 intelliJ에서 기본 terminal로 cmd가 적용되어 있는데, 리눅스 명령어를 사용하기 위해 기존에 깔려있던 git bash를 기본 terminal로 바꾸어 사용했다. 1. ./gradlew build 빌드를 실행하는 명령어 2. cd build 빌드 완료후 생성된 build 폴더로 들어감 ==> 빌드 폴더 내부의 모습이다. 3. cd libs 4. ls -arlth ( -arlth는 모든 파일, 폴더를 시간 역순으로 출력) 5. java -jar hello-spring-0.0.1-SNAPSHOT.jar 빌드된 것을 실행시킴. 우리가 앞서 run as를 통해 실행시킨 결과와 동일한 결과를 얻을 수 있다. localhost:8080으로 접속했을 때 웹서버가 정상적으로 동작중..

View 환경설정

Welcome Page static/index.html 을 올려두면 Welcome Page 기능을 제공한다. 컨트롤러에서 return 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리한다. 스프링 부트 템플릿엔진 기본 viewName 매핑 resource:template/ + {ViewName} + .html Controller에서 model에 담은 key와 value값이 hello.html로 리턴되고 (return "hello"를 통해 hello라는 이름을 가진 view로 반환된다.) 이를 view안의 data(model의 키값에다가 value를 넣어주는 형식)

라이브러리 살펴보기

우리가 처음에 프로젝트를 만들 때 spring web과 thymeleaf를 가져왔는데, 이것들이 의존하고 있던 다른 라이브러리까지 알아서 자동으로 가져온다. ==> 이클립스와는 차별되는 intelliJ의 장점이라고 함. 심각한 오류나 기록들을 남기기 위해 system.out.println이 아닌 log로 출력을 한다.(실무에서) 스프링 부트 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat : 톰캣 (웹서버) spring-webmvc : 스프링 웹 MVC spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View) spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅 spring-boot spr..

Spring 시작

1. 프로젝트 생성 start.spring.io/ ==> 스프링부트 기반으로 스프링관련 프로젝트를 만들어주는 사이트. 여기서 프로젝트를 만든 후에 intelliJ로 열 것이 다. Maven VS Gradle ?? 필요한 라이브러리를 가져와주고, Life Cycle까지 관리해주는 빌드 툴. 최근은 거의다 Gradle을 사용하는 추세(예전에는 Maven이었지만 다 넘어오는 추세) Project Metadata Group 기업명, 도메인명 Artifact 빌드되어 나올 때 결과물 Dependencies 어떤 라이브러리를 사용할 것인지 src main java 실제 패키지와 소스파일들 resources html, xml 등등(자바파일을 제외한 나머지) test 테스트코드와 관련된 소스 ==> main과 test..

6. 회원 데이터 모델링

1. 패키지명을 테이블명으로 1대1 매칭시킨다. DTO, DAO를 통해 데이터 입출력을 수행한다. 2. 회원 테이블의 칼럼들을 변수로 만들고 각각 생성자와 getter / setter를 만들어준다. ==> 초기화 USER userID userPassword userEmail userEmailHash userEmailChecked 3. DAO에서 함수 작성 pstmt.executeUpdate() ==> insert, update, delete 등에 사용 pstmt.executeQuery() ==> select에 사용 다 배웠던 건데 가물가물하다.. 3 -1. 로그인 함수 public int login(String userID, String userPassword) { String SQL = "SELCET ..

Java/Jsp 2021.02.07

4. 로그인, 회원가입 화면

각각 독립적인 페이지로 userLogin.jsp 와 userJoin.jsp 페이지를 만든다음 nav에 걸어둔 링크를 통하여 서로 연결 시켰다. index.jsp - userLogin.jsp - userJoin.jsp 요부분에 저기 action부분이 아래 로그인 버튼을 누를 때의 action을 지칭하는 것인데 로그인 버튼을 눌렀을 때 url주소가 action의 명시된 주소로 보내진 것을 확인할 수 있다. 왜 404냐고? 아직 안만들었으니까..... 이제부터 만들어야해요 ㅠ 이건 회원가입 페이지

Java/Jsp 2021.02.05

3. 강의평가 메인화면 디자인

* 웹을 먼저 디자인한 후에 서버 프로그램을 입히는 것이 가장 빠르고 효율적. ==> 혼자 작은 단위의 프로젝트를 수행할 때, container 클래스 반응형 웹으로 요소들이 크기에 맞게 알아서 작아지게 해줌. m - (0 ~ 5) : 마진 클래스로 (...ml , mt , mb, mr) p - (0 ~ 5) : 패딩 클래스 (...pl , pt , pb, pr) 기본적으로 html, css 기반이기 때문에 문법은 똑같고, 미리 만들어져있는 클래스를 사용하는 것뿐. data-toggle="modal" 페이지에서 화면 전환이 아닌 팝업을 띄워야할 때 사용하는 bootstrap만의 팝업. 아래의 공식문서를 참조하면 자세히 알 수 있다. getbootstrap.com/docs/4.0/components/mod..

Java/Jsp 2021.02.05

2. 프레임워크로 웹 디자인 틀 잡기

사용할 프레임워크 bootstrap jquery popper 이미 틀이 짜여져 있는 프레임워크에서 새로 커스텀하여 만들고 싶을 때는 custom.css라는 파일을 만들어 작성하는 것이 일반적 bootstrap.min.css를 덮어쓰기하는 식으로 사용하는 것이 일반적 가장 많이 사용하는 것중 하나가 웹 폰트 .navbar-brand bootstrap에서 네이게이션 바 안에 있는 로고 같은 것을 의미 @charset "EUC-KR"; @import url(https://fonts.googleapis.com/earlyaccess/jejugothic.css); @import url(https://fonts.googleapis.com/earlyaccess/hanna.css); .navbar-brand, h1, h..

Java/Jsp 2021.02.04
반응형