Lab4

Lab4 프로젝트 디렉토리 안에 모든 파일과 보고서(3-4장정도 – 장수제한없음)를 넣고 AJ21_Lab4_학번_이름.zip 압축한 후 e-learning으로 제출한다. (Due by 4/6)

aj21-lab4

sampledb_myfooddata

Lab4_1 – 식품 영양 성분 정보를 DB을 이용하여 작성한다.

먼저 JavaBean을 작성한다.
dto/FoodGroup.java 열거형
dto/FoodNutrientFactBean.java – id, name, group, calories, fat, protein, carbohydrate, sugars, fiber, cholesterol, saturatedFats
dao/FoodNutrientFactDAO.java 인터페이스
dao/FoodNutrientFactImpl.java
-int insert(Connection conn, FoodNutrientFactBean bean)
-int delete(Connection conn, int id)
-int edit(Connection conn, FoodNutrientFactBean bean)
-FoodNutrientFactBean select(Connection conn, int id)
-FoodNutrientFactBean createFromResultSet(ResultSet rs)
-List<FoodNutrientFactBean> selectList(Connection conn)
-List<FoodNutrientFactBean> selectListByFoodGroup(Connection conn, FoodGroup group)
jdbc/ConnectionProvider.java

그리고 JSP 구현한다.
index.jsp sendRedirect(“lab4.jsp”)
lab4.jsp include menu.jsp and list.jsp
menu.jsp – Add/Edit/Delete
list.jsp – list of FoodNutrientFact, edit/detail/delete
addForm.jsp – 사용자 입력을 받아서 addProcess.jsp
addProcess.jsp – 데이터를 DB에 insert
editForm.jsp – 사용자 입력을 수정 editProcess.jsp
editProcess.jsp – 데이터를 DB에서 edit
deleteProcess.jsp – 데이터를 DB에서 delete

Lab4_2 – 본인이 원하는 DB에 사용자 입력 데이터 Add/Edit/Delete를 수행하는 JSP 작성

MySQL

MySQL Windows (x86, 32-bit), MSI Installer (mysql-installer-community-8.0.23.msi)
https://dev.mysql.com/downloads/windows/installer

MySQL Workbench
->Server -> Data Import -> sampledb.pet.sql & sampledb.ptable.sql
sampledb_pet sampledb_ptable

Java
SampleDBPetTest-src
SampleDBTableTest-src

Eclipse & DB Connection
Eclipse
->Window->Show View->Data Source Explorer
Data Source Explorer
->Database Connections->New->Connection Profile에서 MySQL 선택->MySQLConn 입력후 Next 클릭
-> Specify a Driver and Connection Details에서 Driver 항목의 New Driver Definition 버튼 클릭
-> New Driver Definition에서 Name/Type, JAR List, Properties 탭에서 필요한 설정 진행
(Add Jar/Zip에서 C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.23.jar 설정)
-> Specify a Driver and Connection Details에서 설정된 JDBC 드라이버와 데이터베이스의 이름이 표시되면 을 클릭해서 Success 후 Finish 클릭

 

Lab3

Lab3
aj21-lab3

Lab3 프로젝트 디렉토리 안에 모든 파일과 보고서(3-4장정도 장수제한없음)를 넣고 AJ21_Lab3_학번_이름.zip 압축한 후 제출한다. (Due by 3/30)

Lab3_1 – 식품 영양 정보를 JavaBeans와 Form을 이용하여 작성한다.

먼저 JavaBean을 작성한다.
dto/FoodGroup.java 열거형
dto/FoodNutrientFactBean.java – id, name, group, calories, fat, protein, carbohydrate, sugars, fiber, cholesterol, saturatedFats
dao/Parser.java 인터페이스
dao/FoodNutrientFactParser.java implements Parser
dao/DataImporter.java – loadCSV, saveCSV

그리고 JSP 구현한다.
index.jsp sendRedirect(“lab3.jsp”)
lab3.jsp includes header.jsp, list.jsp, footer.jsp
declaration.jsp contains CSV 파일을 로딩해서 List of FoodNutrientFacts 생성
list.jsp includes declaration.jsp – 리스트에서 식품 선택시 detailView.jsp로 이동
footer.jsp includes FORM (Element Search by FoodGroup, Name)
detailView.jsp -해당 식품 상세 영양정보 출력

Lab3_2 – 본인이 원하는 JSP를 작성한다. 메인/테이블/개별정보 페이지로 구성. JavaBean, Form Processing, Implicit object (request, response, out, application, etc) 사용

GET vs POST vs PUT vs PATCH

HTTP Get vs Post
https://blog.outsider.ne.kr/312

    • GET은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는 형태. 서버의 값이나 상태를 가져오기위해서 사용함.
    • POST는 URI(URL)가 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 BODY 부분에 요청 정보가 들어가는 형태. 서버의 값이나 상태를 바꾸기 위해서 사용함.

     

  • HTTP POST vs PUT
    https://itchipmunk.tistory.com/156/312

    • POST는 클라이언트가 요청하는 메소드. 리소스의 위치를 지정하지 않고 리소스를 생성. 여러번 실행하면 각각 다른 곳에 새로운 리소스가 생성됨. 즉, idempotent(멱등 f(x)=f(f(x)) 같은 작업을 계속 반복해도 같은 결과가 나오는 경우)를 만족하지 않음.
    • PUT는 클라이언트가 요청하는 메소드. 리소스의 위치를 지정하고 그 위치에 리소스를 생성하거나 업데이트. 동일한 리소스를 수정하기 때문에 여러번 실행하여도 같은 결과를 보장함. 즉, idempotent(멱등법칙 f(x)=f(f(x)))를 만족함.

     

  • HTTP PUT vs PATCH
    https://itchipmunk.tistory.com/157

    • PUT은 해당 자원의 전체를 교체하는 의미. PUT은 전체 자원을 업데이트 하기 때문에 동일 자원에 대해서 동일하게 PUT을 처리하는 경우 멱등하게 처리됨.
    • PATCH는 해당 자원의 일부를 변경한다는 의미. 반면 PATCH로 처리되는 경우 자원의 일부가 변경되기 때문에 멱등성을 보장할 수 없음.