728x90
수업내용
1교시 (09:30-10:20)
- 어제 했던 데이터베이스에 대한 복습
2교시 (10:30-11:20)
- 계정과 권한
/*
사전 정의된 롤
CONNECT 롤
-- Releas 9.0 버전
ALTER SESSION
CREATE CLUSTER
CREATE DATABASE LINK
CREATE SEQUENCE
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE VIEW
-- Release 11.2 버전
CREATE SESSION
RESOURCE 롤
CREATE CLUSTER
CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER
DAB 롤
*/
--오라클에 데이터에 계정을 만들 때는 SYSTEM 또는 SYS 계정으로 한다.
SHOW USER;
-- 계정생성하기
-- 계정이름 : test01
-- 계정비밀번호 : 1234
--CREATE USER : 계정을 생성하는 키워드
--IDENTIFIED BY : 비밀번호를 생성하는 키워드
--CREATE USER 계정명 IDENTIFIED BY 비밀번호
CREATE USER test01 IDENTIFIED BY 1234;
--C:\Users\KOSMO>sqlplus test01/1234
--ERROR:
--ORA-01045: user TEST01 lacks CREATE SESSION privilege; logon denied
--
--ORA-01045 : 오라클 에러코드
--오라클 에러코드를 인터넷에서 검색해서 에러를 디버깅한다.
--맨처음 유저를 생성하면
--달랑 유저만 생성되기 때문에
--연결권한
--테이블 생성 권한을 부여해야 한다. 해당하는 유저에
--연결권한 주기
--GRANT CREATE SESSION TO : 유저에게 연결 권한을 주는 구문
GRANT CREATE SESSION TO test01;
--C:\Users\KOSMO>sqlplus test01/1234
--다음에 접속됨:
--Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
--With the Partitioning, OLAP, Data Mining and Real Application Testing options
--
--SQL>
--테이블 생성 권한을 부여해야 한다. 해당하는 유저에
GRANT CREATE TABLE TO test01;
--Grant을(를) 성공했습니다.
--테이블 스페이스 생성
ALTER USER test01 QUOTA UNLIMITED ON USERS;
--계정 생성해서 테이블 만들기
--1. system/1234 로그인
--2. 계정만들기
--CREATE USER test02 IDENTIFIED BY 1234;
--비밀번호 바꾸기
--ALTER USER test02 IDENTIFIED BY 1234;
--3. 연결 권한 부여
--GRANT CREATE SESSION TO test02;
--4. 테이블 생성 권한 부여
--GRANT CREATE TABLE TO test02;
--5. 테이블 스페이스 사이즈 변경 : 2M, 5M, 10M, UNLIMITED 등
--ALTER USER test01 QUOTA UNLIMITED ON USERS;
--6. 생성한 계정으로 로그인 해서 테이블 생성하기
--CREATE TABLE T1_TABLE (
-- TESTCOLUMN1 VARCHAR2(20)
-- ,TESTCOLUMN2 VARCHAR2(200)
--);
--test02/1234 계정만들기
--T2_TABLE 테이블 만들기
--T2_COLUMN1 VARCHAR2(20)
--T2_COLUMN2 VARCHAR2(200)
CREATE USER test02 IDENTIFIED BY 1234;
GRANT CREATE SESSION TO test02;
GRANT CREATE TABLE TO test02;
ALTER USER test02 QUOTA UNLIMITED ON USERS;
SELECT *
FROM DBA_USERS
WHERE USERNAME IN 'test02'
-- 테이블 스페이스에 대해서
-- 오라클버전
SELECT * FROM V$VERSION;
-- 전체 테이블 스페이스
SELECT * FROM DBA_TABLESPACES;
SELECT * FROM DBA_DATA_FILES;
SELECT TABLESPACE_NAME, CONTENTS FROM DBA_TABLESPACES;
-- 임시 테이블 스페이스
SELECT * FROM DBA_TEMP_FILES;
-- 현재 유저의 DEFAULT TABLESPACE 확인
SELECT * FROM USER_USERS;
--#############################################################
--계정 생성 및 테이블스페이스 정하기
CREATE USER test03 -- 유저만들기
IDENTIFIED BY 1234 -- 비밀번호 만들기
DEFAULT TABLESPACE USERS -- DEFAULT TABLESPACE 는 USER 스키마를 위한 기본 테이블스페이스를 지정한다.
TEMPORARY TABLESPACE TEMP; -- TEMPORARY TABLESPACE는 USER 임시 테이블스페이스를 지정한다.
-- 정상적으로 생성되었다면 테이블 스페이스 영역을 설정한다.
-- QUOTA 절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다.
-- UNLIMITED : 공간에 제약없음, 2M, 5M, 10M 등
ALTER USER test03 DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
-- 리소스 권한과 연결 권한을 아이디에 부여한다.
GRANT resource, connect TO test03;
--CONNECT 룰
--Releas 11.2 버전
--CREATE SESSION
--Releas 9.0 버전
--ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION,
--CREATE SYNONYM, CREATE TABLE, CREATE VIEW
--RESOURCE 룰
--사용자가 객체(테이블, 뷰, 인덱스)를 생성할 수 있도록 하기 위해서 스스템 권한을 묶어 놓음
--CREATE CLUSTER
--CREATE PROCEDURE
--CREATE SEQUENCE
--CREATE TABLE
--CREATE TRIGGER
--CONN test03/124
--SELECT * FROM USER_ROLE_PRIVS;
--SELECT * FROM USER_SYS_PRIVS;
--####################################################
--hbe00/hbe1234 계정만들기
CREATE USER hbe00 IDENTIFIED BY hbe1234
DEFAULT TABLESPACE USERS -- DEFAULT TABLESPACE 는 USER 스키마를 위한 기본 테이블스페이스를 지정한다.
TEMPORARY TABLESPACE TEMP; -- TEMPORARY TABLESPACE는 USER 임시 테이블스페이스를 지정한다.
GRANT CREATE SESSION TO hbe00;
GRANT CREATE TABLE TO hbe00;
ALTER USER hbe00 QUOTA 2M ON USERS;
-- ALTER USER hbe00 QUOTA UNLIMITED ON USERS;
3교시 (11:30-12:20)
좋아요 만들기
- spring_like.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="a.b.c.com.kosmo.like.dao.KosmoLikeDAO">
<select id="kosmoLikeSelect" parameterType="kosmoboardlikevo" resultType="kosmoboardlikevo">
SELECT A.KBLNUM KBLNUM
FROM KOSMO_BOARD_LIKE A
WHERE A.DELETEYN = 'Y'
AND A.KMNUM = #{kmnum}
AND A.KBNUM = #{kbnum}
</select>
<select id="kosmoLikeSelectAll" parameterType="kosmoboardlikevo" resultType="kosmoboardlikevo">
SELECT *
FROM KOSMO_BOARD_LIKE A
WHERE A.DELETEYN = 'Y'
AND A.KMNUM = #{kmnum}
AND A.KBNUM = #{kbnum}
</select>
<insert id="kosmoLikeInsert" parameterType="kosmoboardlikevo" >
INSERT INTO KOSMO_BOARD_LIKE ( KBLNUM, KMNUM, KBNUM,
DELETEYN, INSERTDATE, UPDATEDATE)
VALUES( (SELECT NVL(MAX(KBLNUM), 0) + 1 AS KBLNUM FROM KOSMO_BOARD_LIKE),
#{kmnum},
#{kbnum},
'Y',
SYSDATE,
SYSDATE)
</insert>
<update id="kosmoLikeUpdate_1" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_1 = KBLIKE_CNT_1 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
<update id="kosmoLikeUpdate_2" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_2 = KBLIKE_CNT_2 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
<update id="kosmoLikeUpdate_3" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_3 = KBLIKE_CNT_3 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
<update id="kosmoLikeUpdate_4" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_4 = KBLIKE_CNT_4 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
<update id="kosmoLikeUpdate_5" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_5 = KBLIKE_CNT_5 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
<update id="kosmoLikeUpdate_6" parameterType="kosmoboardlikevo" >
UPDATE KOSMO_BOARD_LIKE
SET KBLIKE_CNT_6 = KBLIKE_CNT_6 + 1
,UPDATEDATE = SYSDATE
WHERE KMNUM = #{kmnum}
AND KBNUM = #{kbnum}
</update>
</mapper>
- mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="a.b.c.com.kosmo.product.vo.KosmoProductVO" alias="kosmoproductvo"/>
<typeAlias type="a.b.c.com.kosmo.cart.vo.KosmoCartVO" alias="kosmocartvo"/>
<typeAlias type="a.b.c.com.kosmo.mem.vo.KosmoMemberVO" alias="kosmomembervo"/>
<typeAlias type="a.b.c.com.kosmo.board.vo.KosmoBoardVO" alias="kosmoboardvo"/>
<typeAlias type="a.b.c.com.kosmo.rboard.vo.KosmoRboardVO" alias="kosmorboardvo"/>
<typeAlias type="a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO" alias="kosmoboardlikevo"/>
</typeAliases>
</configuration>
4교시 (12:30-13:20)
좋아요 만들기
- KosmoBoardLikeVO.java
package a.b.c.com.kosmo.like.vo;
public class KosmoBoardLikeVO {
private String kblnum;
private String kmnum;
private String kbnum;
private String kblike_cnt_1;
private String kblike_cnt_2;
private String kblike_cnt_3;
private String kblike_cnt_4;
private String kblike_cnt_5;
private String kblike_cnt_6;
private String deleteyn;
private String insertdate;
private String updatedate;
// 생성자
public KosmoBoardLikeVO() {
}
public KosmoBoardLikeVO(String kblnum, String kmnum, String kbnum, String kblike_cnt_1, String kblike_cnt_2,
String kblike_cnt_3, String kblike_cnt_4, String kblike_cnt_5, String kblike_cnt_6, String deleteyn,
String insertdate, String updatedate) {
this.kblnum = kblnum;
this.kmnum = kmnum;
this.kbnum = kbnum;
this.kblike_cnt_1 = kblike_cnt_1;
this.kblike_cnt_2 = kblike_cnt_2;
this.kblike_cnt_3 = kblike_cnt_3;
this.kblike_cnt_4 = kblike_cnt_4;
this.kblike_cnt_5 = kblike_cnt_5;
this.kblike_cnt_6 = kblike_cnt_6;
this.deleteyn = deleteyn;
this.insertdate = insertdate;
this.updatedate = updatedate;
}
// setter/getter
public String getKblnum() {
return kblnum;
}
public void setKblnum(String kblnum) {
this.kblnum = kblnum;
}
public String getKmnum() {
return kmnum;
}
public void setKmnum(String kmnum) {
this.kmnum = kmnum;
}
public String getKbnum() {
return kbnum;
}
public void setKbnum(String kbnum) {
this.kbnum = kbnum;
}
public String getKblike_cnt_1() {
return kblike_cnt_1;
}
public void setKblike_cnt_1(String kblike_cnt_1) {
this.kblike_cnt_1 = kblike_cnt_1;
}
public String getKblike_cnt_2() {
return kblike_cnt_2;
}
public void setKblike_cnt_2(String kblike_cnt_2) {
this.kblike_cnt_2 = kblike_cnt_2;
}
public String getKblike_cnt_3() {
return kblike_cnt_3;
}
public void setKblike_cnt_3(String kblike_cnt_3) {
this.kblike_cnt_3 = kblike_cnt_3;
}
public String getKblike_cnt_4() {
return kblike_cnt_4;
}
public void setKblike_cnt_4(String kblike_cnt_4) {
this.kblike_cnt_4 = kblike_cnt_4;
}
public String getKblike_cnt_5() {
return kblike_cnt_5;
}
public void setKblike_cnt_5(String kblike_cnt_5) {
this.kblike_cnt_5 = kblike_cnt_5;
}
public String getKblike_cnt_6() {
return kblike_cnt_6;
}
public void setKblike_cnt_6(String kblike_cnt_6) {
this.kblike_cnt_6 = kblike_cnt_6;
}
public String getDeleteyn() {
return deleteyn;
}
public void setDeleteyn(String deleteyn) {
this.deleteyn = deleteyn;
}
public String getInsertdate() {
return insertdate;
}
public void setInsertdate(String insertdate) {
this.insertdate = insertdate;
}
public String getUpdatedate() {
return updatedate;
}
public void setUpdatedate(String updatedate) {
this.updatedate = updatedate;
}
}
- KosmoLikeDAO.java
package a.b.c.com.kosmo.like.dao;
import java.util.List;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;
public interface KosmoLikeDAO {
public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo);
public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo);
public int kosmoLikeInsert(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo);
}
- KosmoLikeDAOImpl.java
package a.b.c.com.kosmo.like.dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;
@Repository
public class KosmoLikeDAOImpl implements KosmoLikeDAO {
Logger logger = LogManager.getLogger(KosmoLikeDAOImpl.class);
@Autowired(required=false)
private SqlSession sqlSession;
@Override
public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeInsert 함수 진입 >>> : ");
return sqlSession.selectList("kosmoLikeSelect", kblvo);
}
@Override
public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeSelectAll 함수 진입 >>> : ");
return sqlSession.selectList("kosmoLikeSelectAll", kblvo);
}
@Override
public int kosmoLikeInsert(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeInsert 함수 진입 >>> : ");
return (Integer)sqlSession.insert("kosmoLikeInsert", kblvo);
}
@Override
public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_1 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_1", kblvo);
}
@Override
public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_2 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_2", kblvo);
}
@Override
public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_3 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_3", kblvo);
}
@Override
public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_4 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_4", kblvo);
}
@Override
public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_5 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_5", kblvo);
}
@Override
public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_6 함수 진입 >>> : ");
return (Integer)sqlSession.update("kosmoLikeUpdate_6", kblvo);
}
}
5교시 (14:30-15:20)
좋아요 만들기
- KosmoLikeService.java
package a.b.c.com.kosmo.like.service;
import java.util.List;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;
public interface KosmoLikeService {
public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo);
public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo);
public int kosmoLikeInsert(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo);
public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo);
}
- KosmoLikeServiceImpl.java
package a.b.c.com.kosmo.like.service;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import a.b.c.com.kosmo.like.dao.KosmoLikeDAO;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;
@Service
@Transactional
public class KosmoLikeServiceImpl implements KosmoLikeService {
Logger logger = LogManager.getLogger(KosmoLikeServiceImpl.class);
// 서비스에서 DAO 연결하기
// 필드 @Autowired 어노테이션으로 DI (의존성 주입하기)
@Autowired(required=false)
private KosmoLikeDAO kosmoLikeDAO;
@Override
public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeSelect 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeSelect(kblvo);
}
@Override
public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeSelectAll 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeSelectAll(kblvo);
}
@Override
public int kosmoLikeInsert(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeInsert 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeInsert(kblvo);
}
@Override
public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_1 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_1(kblvo);
}
@Override
public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_2 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_2(kblvo);
}
@Override
public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_3 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_3(kblvo);
}
@Override
public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_4 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_4(kblvo);
}
@Override
public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_5 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_5(kblvo);
}
@Override
public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo) {
// TODO Auto-generated method stub
logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_6 함수 진입 >>> : ");
return kosmoLikeDAO.kosmoLikeUpdate_6(kblvo);
}
}
6교시 (15:30-16:20)
좋아요 만들기
- KosmoLikeController.java
package a.b.c.com.kosmo.like.controller;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import a.b.c.com.kosmo.like.service.KosmoLikeService;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;
@Controller
public class KosmoLikeController {
Logger logger = LogManager.getLogger(KosmoLikeController.class);
// 필드 오토와이어드
@Autowired(required=false)
private KosmoLikeService kosmoLikeService;
@RequestMapping( value="kosmoBoardLikeForm", method=RequestMethod.GET)
public String kosmoBoardLikeForm(KosmoBoardLikeVO kblvo, Model model) {
logger.info("KosmoLikeController kosmoBoardLikeForm >>> : ");
kblvo.setKmnum("M202205050002");;
kblvo.setKbnum("B0001");
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
model.addAttribute("listAll", listAll);
return "like/kosmoBoardLikeForm";
}
// like 등록
@RequestMapping( value="kosmoLikeInsert_1", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_1(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_1 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKblike_cnt_1() >>> : " + kblvo.getKblike_cnt_1());
logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_1(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_1 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_1 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_1 = listAll.get(0).getKblike_cnt_1();
}
return kblike_cnt_1;
}
@RequestMapping( value="kosmoLikeInsert_2", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_2(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_2 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKblike_cnt_2() >>> : " + kblvo.getKblike_cnt_2());
logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_2(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_2 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_2 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_2 = listAll.get(0).getKblike_cnt_2();
}
return kblike_cnt_2;
}
@RequestMapping( value="kosmoLikeInsert_3", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_3(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_2 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKblike_cnt_3() >>> : " + kblvo.getKblike_cnt_3());
logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_3(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_3 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_3 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_3 = listAll.get(0).getKblike_cnt_3();
}
return kblike_cnt_3;
}
@RequestMapping( value="kosmoLikeInsert_4", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_4(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_4 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKblike_cnt_4() >>> : " + kblvo.getKblike_cnt_4());
logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_4(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_4 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_4 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_4 = listAll.get(0).getKblike_cnt_4();
}
return kblike_cnt_4;
}
@RequestMapping( value="kosmoLikeInsert_5", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_5(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_5 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKblike_cnt_5() >>> : " + kblvo.getKblike_cnt_5());
logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_5(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_4 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_5 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_5 = listAll.get(0).getKblike_cnt_5();
}
return kblike_cnt_5;
}
@RequestMapping( value="kosmoLikeInsert_6", method=RequestMethod.POST)
@ResponseBody
public String kosmoLikeInsert_6(KosmoBoardLikeVO kblvo) {
logger.info("KosmoLikeController kosmoLikeInsert_6 >>> : ");
logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKblike_cnt_6() >>> : " + kblvo.getKblike_cnt_6());
logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
int nCnt = 0;
if (listCnt !=null && listCnt.size() > 0) {
nCnt = kosmoLikeService.kosmoLikeUpdate_6(kblvo);
logger.info("KosmoLikeController kosmoLikeUpdate_6 nCnt >>> : " + nCnt);
}else {
nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);
}
String kblike_cnt_6 = "";
List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
if (listAll !=null && listAll.size() > 0) {
kblike_cnt_6 = listAll.get(0).getKblike_cnt_6();
}
return kblike_cnt_6;
}
}
7교시 (16:30-17:20)
좋아요 만들기
- kosmoBoardLikeForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO" %>
<%@ page import="a.b.c.com.kosmo.common.CodeUtil" %>
<%@ page import="a.b.c.com.kosmo.common.NumUtil" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>
<% request.setCharacterEncoding("UTF-8"); %>
<%
Logger logger = LogManager.getLogger(this.getClass());
logger.info("kosmoBoardLikeForm.jsp 페이지 >>> : ");
Object obj = request.getAttribute("listAll");
if (obj == null) return;
List<KosmoBoardLikeVO> list = (List<KosmoBoardLikeVO>)obj;
int nCnt = list.size();
String nCnt_1 = "";
String nCnt_2 = "";
String nCnt_3 = "";
String nCnt_4 = "";
String nCnt_5 = "";
String nCnt_6 = "";
KosmoBoardLikeVO _kblvo = null;
if (nCnt == 1) {
_kblvo = list.get(0);
nCnt_1 = _kblvo.getKblike_cnt_1();
nCnt_2 = _kblvo.getKblike_cnt_2();
nCnt_3 = _kblvo.getKblike_cnt_3();
nCnt_4 = _kblvo.getKblike_cnt_4();
nCnt_5 = _kblvo.getKblike_cnt_5();
nCnt_6 = _kblvo.getKblike_cnt_6();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="http://code.jquery.com/jqeury-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// kblike_cnt_1
$(document).on("click", "#kblike_cnt_1", function(e){
alert("kblike_cnt_1 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_1.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_1: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_1").text(resData).val();
}
});
// kblike_cnt_2
$(document).on("click", "#kblike_cnt_2", function(e){
alert("kblike_cnt_2 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_2.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_2: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_2").text(resData).val();
}
});
// kblike_cnt_3
$(document).on("click", "#kblike_cnt_3", function(e){
alert("kblike_cnt_3 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_3.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_3: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_3").text(resData).val();
}
});
// kblike_cnt_4
$(document).on("click", "#kblike_cnt_4", function(e){
alert("kblike_cnt_4 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_4.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_4: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_4").text(resData).val();
}
});
// kblike_cnt_5
$(document).on("click", "#kblike_cnt_5", function(e){
alert("kblike_cnt_5 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_5.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_5: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_5").text(resData).val();
}
});
// kblike_cnt_6
$(document).on("click", "#kblike_cnt_6", function(e){
alert("kblike_cnt_6 >>> : " + $(this).val());
e.preventDefault();
let boardLikeURL = "kosmoLikeInsert_6.k";
let reqType = "POST";
let dataParam = {
kblike_cnt_6: $(this).val(),
kmnum: $("#kmnum").val(),
kbnum: $("#kbnum").val(),
};
// dataParam = $("#likeForm").sereialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: boardLikeURL,
type: reqType,
data: dataParam,
sucess: whenSuccess
});
function whenSuccess(resData) {
alert("resData >>> : " + resData);
console.log("resData >>> : " + resData);
$("#like_6").text(resData).val();
}
});
});
</script>
<style type="text/css">
div {
margin: 0 auto;
border: 1px solid #6d82f3;
display:table;
}
td, th {
padding: 5px;
}
h3 {
text-align: center;
}
.mem {
text-align: center;
}
a {
text-decoration-line: none;
/* text-decoration-line: underline; */
/* text-decoration-line: overline; */
/* text-decoration-line: line-through; */
/* text-decoration-line: underline line-through overline; */
}
</style>
</head>
<body>
<h3>좋아요</h3>
<hr>
<div>
<form name="likeForm" id="likeForm">
<table border=1>
<tr>
<td align="center">
<input type="hidden" name="kmnum" id="kmnum" value="<%= "M202205050002" %>" />
<input type="hidden" name="kbnum" id="kbnum" value="<%= "B0001" %>" />
<input type="image" src="/kosmoSpring/img/img_like/1.png"
width="35px" height="35px" class="kblike_cnt_1" name="kblike_cnt_1" value="01" /><br>
<font size="1" style="color:gray;">좋아요</font><br>
<span id="like_1"><%= nCnt_1 %></span>
</td>
<td align="center">
<input type="image" src="/kosmoSpring/img/img_like/2.png"
width="35px" height="35px" class="kblike_cnt_2" name="kblike_cnt_2" value="02" /><br>
<font size="1" style="color:gray;">응원해요</font><br>
<span id="like_2"><%= nCnt_2 %></span>
</td>
<td align="center">
<input type="image" src="/kosmoSpring/img/img_like/3.png"
width="35px" height="35px" class="kblike_cnt_3" name="kblike_cnt_3" value="03" /><br>
<font size="1" style="color:gray;">축하해요</font><br>
<span id="like_3"><%= nCnt_3 %></span>
</td>
<td align="center">
<input type="image" src="/kosmoSpring/img/img_like/4.png"
width="35px" height="35px" class="kblike_cnt_4" name="kblike_cnt_4" value="04" /><br>
<font size="1" style="color:gray;">기대해요</font><br>
<span id="like_4"><%= nCnt_4 %></span>
</td>
<td align="center">
<input type="image" src="/kosmoSpring/img/img_like/5.png"
width="35px" height="35px" class="kblike_cnt_5" name="kblike_cnt_5" value="05" /><br>
<font size="1" style="color:gray;">놀랐어요</font><br>
<span id="like_5"><%= nCnt_5 %></span>
</td>
<td align="center">
<input type="image" src="/kosmoSpring/img/img_like/6.png"
width="35px" height="35px" class="kblike_cnt_6" name="kblike_cnt_6" value="06" /><br>
<font size="1" style="color:gray;">슬퍼요</font><br>
<span id="like_6"><%= nCnt_6 %></span>
</td>
</tr>
<tr>
<td colspan="6" align="center">
<a href="#">
<span class="u_ico"></span>
<em class="u_txt _label">이 기사를 추천합니다</em>
<em class="u_cnt _count">1</em>
</a>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
- kosmoBoardSelect.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page import="a.b.c.com.kosmo.board.vo.KosmoBoardVO" %>
<%@ page import="a.b.c.com.kosmo.common.CodeUtil" %>
<%@ page import="java.util.List" %>
<% request.setCharacterEncoding("UTF-8");%>
<%
Object obj = request.getAttribute("listS");
if (obj == null) return;
List<KosmoBoardVO> list = (List<KosmoBoardVO>)obj;
int nCnt = list.size();
KosmoBoardVO _kbvo = null;
if (nCnt == 1){
_kbvo = list.get(0);
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// pwBtn : 비밀번호 확인
$(document).on("click", "#pwBtn", function(){
let input_kbpw = prompt('비밀번호를 입력하세요', 'aaa');
if (input_kbpw.length > 0){
console.log(input_kbpw);
let pwcheckURL = "kosmoBoardPwCheck.k";
let reqType = "POST";
let dataParam = {
kbnum: $("#kbnum").val(),
kbpw: input_kbpw,
};
//dataParam = $("#boardUpdateForm").serialize();
console.log("dataParam >>> : " + dataParam);
$.ajax({
url: pwcheckURL,
type: reqType,
data: dataParam,
success: whenSuccess,
error: whenError
});
function whenSuccess(resData){
console.log("resData >>> : " + resData);
if ("ID_YES" == resData){
alert("비밀번호 GOOD.");
$("#updateBtn").css('background-color','yellow');
if($("#updateBtn").prop("disabled")==true){
$("#updateBtn").attr("disabled", false);
}
}else if ("ID_NO" == resDataFlag){
alert("비밀번호 BAD.");
return;
};
}
function whenError(e){
console.log("e >>> : " + e.responseText);
}
}
});
// insertBtn
$(document).on("click", "#insertBtn", function(){
location.href="kosmoBoardInsertForm.k";
});
// selectBtn
$(document).on("click", "#selectAllBtn", function(){
$("#boardUpdateForm").attr({"method":"GET", "action":"kosmoBoardSelectAll.k"}).submit();
});
// updateBtn
$(document).on("click", "#updateBtn", function(){
alert("updateBtn");
$("#boardUpdateForm").attr({ "method":"GET", "action":"#kosmoBoardUpdate.k"}).submit();
});
});
</script>
<style type="text/css">
div {
margin: 0 auto;
border:1px solid #6d82f3;
display:table;
}
td, th {
padding: 5px;
}
h3 {
text-align: center;
}
.mem {
text-align: center;
}
</style>
</head>
<body>
<h3>게시글 내용</h3>
<hr>
<div>
<form name="boardUpdateForm" id="boardUpdateForm">
<table border=1>
<tr>
<td align="center">
<font size="4" style="color:black;"><%= _kbvo.getKbsubject() %></font>
<input type="hidden" name="kmnum" id="kmnum" value="<%= "M202206070001" %>" />
<input type="hidden" name="kbnum" id="kbnum" value="<%= _kbvo.getKbnum() %>" />
</td>
</tr>
<tr>
<td align="left">
<font size="1" style="color:gray;">
최초작성일 : <%= _kbvo.getInsertdate() %>
최종수정일 : <%= _kbvo.getUpdatedate() %>
</font>
</td>
</tr>
<tr>
<td align="center">
<img src="/kosmoSpring/fileupload/board/<%= _kbvo.getKbfile() %>" border="1" width="380" height="100" alt="image">
</td>
</tr>
<tr>
<td align="center">
<textarea name="kbcontent" id="kbcontent" rows="5" cols="50"><%= _kbvo.getKbcontent() %></textarea>
</td>
</tr>
<tr>
<td align="left">
<font size="1" style="color:gray;">
작성자 : <%= _kbvo.getKbname() %>
</font>
</td>
</tr>
<!--
<tr>
<td>패스워드
<input type="text" name="kbpw" id="kbpw" />
<button type="button" id="pwBtn">비밀번호</button>
</td>
-->
<tr>
<td colspan="2" align="left">
<button type="button" id="insertBtn">글쓰기</button>
<button type="button" id="selectAllBtn">글목록</button>
<button type="button" id="updateBtn" disabled >수정</button>
<button type="button" id="pwBtn">비밀번호확인</button>
</td>
</tr>
</table>
</form>
</div>
<p>
<!-- 좋아요 처리 하는 루틴 -->
<jsp:include page="/kosmoBoardLikeForm.k">
<jsp:param value="B0001" name="kbnum"/>
<jsp:param value="M202205050002" name="kmnum"/>
</jsp:include>
<p>
<!-- 댓글 처리 하는 루틴 -->
<jsp:include page="/kosmoRboardForm.k">
<jsp:param value="<%=_kbvo.getKbnum()%>" name="kbnum"/>
</jsp:include>
</body>
</html>
8교시 (17:30-18:30)
좋아요 만들기
- index.jsp
<%@ 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>
<h3>index.jsp</h3>
<hr>
<a href="kosmoProductInsertForm.k">코스모 상품 입력</a><br>
<a href="kosmoProductSelectAll.k">코스모 상품 전체조회</a><br>
<p>
<a href="kosmoMemberInsertForm.k">코스모 회원 입력</a><br>
<a href="kosmoMemberSelectAll.k">코스모 회원 전체조회</a><br>
<p>
<a href="kosmoLoginForm.k">코스모 로그인</a><br>
<p>
<a href="kosmoMainPage.k">코스모 메인</a><br>
<p>
<a href="kosmoBoardInsertForm.k">코스모 게시판 글쓰기</a><br>
<a href="kosmoBoardSelectAll.k">코스모 게시판 전체조회</a><br>
<p>
<a href="kosmoRboardForm.k">코스모 댓글 쓰기 </a><br>
<p>
<a href="kosmoBoardLikeForm.k">코스모 게시판 좋아요 </a><br>
</body>
</html>
Notes
728x90
'국비지원교육 (22.01-22.07) > 강의노트' 카테고리의 다른 글
22-05-30(월) 085일차 [JSON] JSON 형식과 활용 (0) | 2022.06.22 |
---|---|
22-05-27(금) 084일차 [Spring Framework, Mybatis Framework] 결제창 띄우기 (0) | 2022.06.22 |
22-05-25(수) 082일차 [Oracle, Spring Framework, Mybatis Framework] 댓글 만들기 (0) | 2022.06.22 |
22-05-24(화) 081일차 [Oracle, Spring Framework, Mybatis Framework] 게시판 만들기 (0) | 2022.06.22 |
22-05-23(월) 080일차 [Oracle, Spring Framework, Mybatis Framework] 프로젝트 주제 발표 (0) | 2022.06.17 |