[학교]_13주차_JSP_DB 연동 관련 실습
EX 9-2 실습. Hello 프로젝트 작성 - "http://localhost:8080/hello?name=XXX" 로 접근할 때, 사용자가 넘겨준 name값을 jsp 파일의 인자값으로 담고 인사말 출력 EX 9-3 실습. Spring MVC로 로그인 작성 -로그인 화면과 로그인 check 화면 작성 EX 9-4 실습. Spring MVC & DB 연동 실습 - DB 상에 존재하는 Member 테이블 속 데이터들을 list 로 jsp파일에 출력시켜줄 것. - 실제로 DB 상에 존재하는 모든 회원 데이터들이 jsp 화면 상에 차례대로 출력되는 것을 확인할 수 있다. EX 9-5 실습. Spring MVC & DB 연동_Login 예제 실습
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 6. 1.
[학교]_12주차_JSP_request 관련 실습
Ex 실습 8-3. request 객체 - Parameter 관련 메소드 - 로그인 버튼 클릭 시, 입력값을 넘겨서 출력시킬 것 (1) POST 방식 - URL 주소값에 사용자 입력값 안나타남 (2) GET 방식 - URL 주소값에 사용자 입력값이 함께 나타남 실습 Ex 8-7. Session 객체 실습 - session1.jsp 에서 (aaa/1234) 계정에 한해서만 로그인된다. 1)session1.jsp 에서 로그인 성공 session_2.jsp 로 이동->session3.jsp 에서 해당 계정의 접속 시간 보여주고-> session4.jsp 로그아웃 2)session1.jsp 에서 로그인 실패 session_2.jsp '잘못된' -> session3.jsp 는 로그인 부터 다시 하도록 띄움 실습 ..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 26.
Spring boot에 Jsp 파일 연동
📍Whitelabel Error Page(404 Not Found)에러 스프링 부트에서는 JSP 인식을 위한 설정을 따로 해주지 않으면 매핑 안된다. Spring boot project에 JSP 인식 관련 설정 🟦 pom.xml 에 다음의 dependency 추가 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat provided org.apache.tomcat.embed tomcat-embed-jasper javax.servlet jstl 🟦 application.properties 아래의 코드 추가 Jsp파일의 위치: main 에서 [ webapp 폴더 → WEB-INF 폴..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 20.
Restful API 서버에 MySql, MyBatis 활용한 데이터 관리
스프링 부트 프로젝트 생성 프로젝트를 Web 서버에 올려야 하므로 ‘Spring Web’ 사용 설정 필수 MySql, MyBatis 활용한 DB 관리 위해 아래와 같이 사용설정 한다. DB 연동 작업 MySql 안에 필요한 테이블 생성 필요한 데이터 구조로 데이터 세팅 프로젝트 내부 application.properties 프로퍼티 파일에 DB 연동 정보 작성 간단한 MVC 작업 Model : 데이터 관리 View : 보여주기 Controller : API 경로별 매핑 처리 >> DB 속 값을 GET 방식으로 RestAPI에 보내기 🟩 데이터 객체 생성 public class UserProfile { //DB 속 테이블 구조와 동일한 데이터 객체 private String id; private Strin..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 20.
[개념] MVC 프로젝트 구조
Spring MVC 프로젝트 구조 MVC MVC는 Model, View, Controller 분리하여 개발함 현재 가장 多 사용 중인 개발 패턴 서비스를 위해 각 부분을 분리해서 만들고, 이를 통해 개발 및 유지 보수 효율성 높이는 것이 목적→ View : 눈에 보이는 부분 구성 → Controller : 요청에 따른 코드 흐름 제어하는 부분 → Model : 데이터 관리하는 부분 MVC 프로젝트에서 필요한 Bean 정의 @Bean : 메소드를 통해 반환 객체를 Bean으로 등록시킴 @Component : 개발자가 만든 클래스 중 아직 빈으로 등록하지 않은 객체를 Scan. Bean 자동 등록함 @Controller : Component의 일종으로, 사용자 요청에 따라 자동 호출 메소드를 갖는 Bean을..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 19.
[개념]MVC에 MyBatis 연동하기
MVC에 MyBatis 연동 MyBatis JDBC : Java 언어 이용하여 데이터베이스 연동하는 프로그래밍 기술 MyBatis는 JDBC 프로그래밍 보다 쉽게 구현하기 위해 설계된 라이브러리 📍 MyBatis 사용을 위한 세팅 → Properties 파일 작성 데이터베이스 접속 정보를 갖는 properties 파일을 작성해야 한다. ▶️ 오라클 DB 연동 database.classname = oracle.jdbc.OracleDriver database.url = jdbc:oracle:thin:@localhost:1521:orcl database.username = scott database.password = 1234 Mapper 인터페이스 생성 Mapper 파일 : 쿼리문 작성 파일 추후 MyBat..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 19.
[학교]_11주차_MyBatis_JSP 실습
EX 7-8 실습. MyBatis 환경 설정하기 1) MySQL에 "spring_mybatis" DB 생성한 뒤, user_table 생성할 것 2) STS에 spring-mybatis 프로젝트 생성할 것 Ex 7-9 실습. 스프링 + MyBatis 연동하기 1) xml 파일은 총 3가지 필요. - ApplicationContext.xml - Mybatis-config.xml - UserMapper.xml 2) Java 코드 작성 - MyBatis 연동할 것, Ex 8-1 실습. JSP 환경설정 1) Tomcat 9.0 설치 2) 환경설정 및 정상 설치 확인 C 드라이브 하위에 jsp 디렉터리 만들고 WEB/INF 폴더 복붙 3) JSP 환경 설정한 뒤, Hello.jsp 작성 -> tomcat 으로 웹..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 17.
[개념]_ MyBatis 라이브러리로 DB 관리
MyBatis Spring Framework에서 제공하는 JDBC 라이브러리를 ‘보다 쉽게’ 작업할 수 있도록 만든 라이브러리 Mapper의 역할을 확장하여 쿼리문 작성을 ‘모두’ Mapper에서 할 수 있도록 지원함 Spring Framework의 대표적인 JDBC 라이브러리 ‘SQL 매핑 프레임워크’ 반드시 자바 버전 1.8 로 맞춰둘 것 라이브러리 추가 -mybatis 라이브러리와 mybatis-spring 라이브러리 모두 추가해야 함 -mybatis를 스프링 딴에서 활용 가능하게 만들어 주는 게 mybatis-spring이기 때문 org.mybatis mybatis ${org.mybatis-version} org.mybatis mybatis-spring 2.0.2 MyBatis의 핵심 객체들 🟦 ..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 13.
[개념]_Spring JDBC , Mapper 활용 데이터 처리
▶Spring JDBC -Spring Framework는 JDBC 프로그래밍을 위해 JdbcTemplate 클래스 제공함 -JdbcTemplate 클래스는 SQL 쿼리문 구현 쉽게 돕는다 ▶[Spring JDBC 사용 절차] ① 프로젝트 새성 및 관련 모듈 추가 ② DB 테이블 생성 (데이터 구조) - 사용할 계정 생성 후 DB 테이블을 데이터 구조에 맞게 생성한다. ③ 자바 설정 파일에 ‘DataSource 객체’ 빈 등록 후 (DB 연결 정보 세팅) //DataSource 객체 : DB 접속 정보 갖는 객체임 @Bean public BasicDataSource source() { BasicDataSource source = new BasicDataSource(); source.setDriverClas..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 12.
[개념]_@Transactional 트랜잭션 처리
▶ 트랜잭션 처리 -트랜잭션 : 여러 쿼리를 논리적으로 ’하나의 작업‘으로 묶어준다. - 묶인 쿼리 중 하나라도 실패하면 ’전체 쿼리 실패‘로 간주 -> ’롤백‘ 처리 1) 롤백 : 트랜잭션의 모든 쿼리 실패 시, 실행 취소 후 DB 기존 상태로 복원 2) 커밋 : 트랜잭션의 모든 쿼리 성공 시, 결과를 실제 DB에 반영하는 것 ex) 은행에서 돈 입출력 시 입금자의 돈이 빠져나가면, 상대 계좌에 돈이 입금되어야 하는데, 트랜잭션의 영속성이 없다면 입금자는 돈이 빠져나갔는데도 상대는 돈을 입금받지 못하게 됨 - 데이터 일관성을 위해 연관된 데이터 작업 시, 하나의 작업 단위로 묶어서 데이터 처리를 하는 것. -스프링이 제공하는 ‘트랜잭션 기능’ 사용 시, 중복 없는 간결한 트랜잭션 범위 지정 O ▶ 트랜..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 11.
[학교]_10주차_스프링 mySQL DB 쿼리 실습
Ex 7-4 실습. JdbcTemplate.queryForObject() 실행 - query() 결과가 1개일 경우 queryForObject() 메소드를 사용하는 것이 더 효율적. - 다만, 이 쿼리 실행결과의 행 개수가 반드시 1이어야 함. 아닐 경우 Exception 발생함 //ex 7-4 MemberDao 에서 int count() 메소드 추가한 부분 public int count() { Integer count = jdbcTemplate.queryForObject( "select count(*) from MEMBER", Integer.class); return count; } Ex 7-5 실습. JdbcTemplate.update() 사용 - MemberDao 에 public void updat..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 11.
[개념]_Spring _DB 연동
1. 기존 JDBC API 활용한 JDBC 프로그래밍 처리 절차 -> try-catch 구문 불필요한 구문 구조의 불필요한 반복 多 (1) JDBC 클래스 지정 (2) Connection 객체 생성 (3) Statement 객체 생성 (4) SQL 실행/결과 반환 (5) 결과 정보 조회 (6) 연결 닫기 public class JdbcExample { // 기존 JDBC 프로그래밍 public static void main(String[] args) { //커넥션 객체 변수 Connection conn = null; //실행문 객체 변수 Statement stmt = null; try{ //(1) JDBC 클래스 지정 Class.forName("com.mysql.cj.jdbc.Driver"); //(2)..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 11.
[학교] cmd에서 spring boot 실행
-cmd에서 spring boot 프로젝트를 실행하기 전 먼저 Maven 경로를 환경변수에서 설정해주어야 한다. 1) 환경 변수 설정 제어판 -> 시스템정보 -> 고급시스템 정보-> 환경설정 -> 시스템변수 안의 path 더블클릭 -> 새로만들기 클릭 후 %M2_HOME%\bin 추가 -> 시스템변수 안의 M2_HOME 클릭 -> 변수 이름 M2_HOME 변수 값 메이븐 설치 경로 중 bin 바로 이전의 폴더의 경로 추가 -> cmd에서 mv -version 명령어를 통해 환경변수가 잘 입력 되었는지 확인 * path 명령어와 환경변수를 설정하는이유 - cmd에 path라고 입력하면, 환경변수에 등록되어 있는 경로들을 확인할 수 있다. 기본적으로 cmd에 입력하는 명령어들은 내부명령들과, path로 지정..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 5. 4.
[학교]_MySQL 설치
1. MySQL 공식 홈페이지 http://www.mysql.com -Downloads 탭에서 Windows > MySQL Installoer 페이지에서 다운로드 받기 MySQL Over 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster, and lower their cost of goods sold. Learn More » www.mysql.com 2. 설치 프로그램 실행 시 -> MySQL Server 8.0.19 , Connector/J 8..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 4. 26.
[개념]_AOP [Aspect-Oriented Programming]
[AOP 목표] - 기존 코드 수정 없이 원하는 관심사들을 엮어서 전체 구현 쉽게 하기 즉, 개발자들이 핵심 로직 코드만 개발하고 나머지 코드 부분은 어떤 관심사들과 결합할지 설정 만으로 전체 기능 효율적 개발 추구 [AOP 개념] - AOP : 핵심 기능/주변 기능 분리하여 코드 작성해놓고, 실행 시점에 결합하는 방식 핵심로직과 주변로직의 분리를 추구 = 관심사의 분리 핵심 비즈니스 로직과 부가기능(=공통기능) 코드의 분리 추구 ex. 입력 값에 대한 나눗셈 기능 구현 시, 1) 입력 값이 0 이상의 양수인지 확인한는 기능 : 관심사(주변 로직) 2) 실질적인 입력값 간의 나눗셈 기능 : 비즈니스 로직(핵심 기능) [AOP 용어들] ▷핵심 로직 관련 Target 객체 : 주요 핵심 로직 객체 자체. 순..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 4. 26.
[학교]_7주차_스프링 AOP 실습
Ex6-1. HelloApp.java/ MessageBean.java/ MessageBeanImpl.java/ appctxEx6_1.xml 파일 작성 1) MessageBean 인터페이스를 구현해놓은 MessageBeanImpl 클래스를 xml 설정 파일에 Bean으로 등록해놓았다. 2) 빈 등록 시, "Spring"이라는 값을 빈 객체의 필드값에 주입해놓는다. 3) main() 이 있는 HelloApp.java에서 해당 빈을 getBean() 한 후, sayHello() 호출하게 되면 xml 설정 파일에서 주입했던 name 값 "Spring"이 5초 이후 함께 출력되는 것을 확인할 수 있다. Ex6-2. AOP 사용하여 위의 기능을 다시 구현할 것
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 4. 20.
[학교]_6주차_스프링 @ComponentScan 실습
Example 5-4 자바코드 설정에서 Xml 설정 파일 포함하기. @ImportScan("classpath: - - -.xml") Example 5-5 컴포넌트 스캔 @ComponentScan, @Component [컴포넌트 스캔 기능] : 아직 빈 객체가 아닌 상태에서 스프링이 직접 클래스 검색하여 @Component 붙은 클래스에 대해 빈으로 등록해주는 기능 -> 스캔 대상 지정 | @Component -클래스에 @Component 붙여주면 해당 클래스가 스캔 대상이 된다. -> 스캔 설정 | @ComponentScan -Java 설정 클래스에 적용함 - basePackages 속성값은 스캔 대상 패키지 목록 지정 Example 5-7 Bean 객체의 LifeCycle -(1) 인터페이스 사용 Sp..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 4. 12.
[학교]_5주차_스프링 @Qualifier 실습
exercise 4-3. 실습 @Autowired로 자동 의존 주입 시, @Qualifier로 타입 한정자 지정하기 1) 타입 일치하는 bean 객체 검색. (1) 타입 일치 bean이 1개이면 해당 bean 객체 사용함 (2) 타입 일치 bean 객체 2개 이상이면 @Qualifier로 '한정자' 지정하여 매핑 (3) 타입 일치 bean 객체 2개 이상인데, @Qualifier 따로 없는 경우. 변수 이름 일치하는 bean 객체 찾아서 주입됨 exercise 4-4. 실습 @Autowired 대신 @Resource 사용해보기 -필드/메소드에만 적용 가능 O, 생성자에 적용 불가 -@Resource(name= "...") -만약 name 속성 생략된 경우, 적용된 필드/메소드의 타입과 일치하는 bean ..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 4. 5.