티스토리 뷰

학습정리-12-09.txt
0.00MB

 

 

1.템플릿 sb_admin을 적용하여 게시판이 나오도록 하시오.

- 템플릿을 적용한 프로젝트 폴더의 webapp에 sb_admin 폴더 안의 내용물을 전부 복사해서 붙여넣기한다.

- 기존의 list.jsp를 list2.jsp로 바꾼뒤, tables.html을 복사해서 list.jsp 파일을 새로 하나 만든다.(이때 상단에 jsp 코드 잊지말고 넣기!)
- 해당 내용 중 테이블 내용에 해당되는 곳을 기존에 만들었던, el, jstl 코드로 바꾼다.
코드가 너무 길어서 변경한 부분만 첨부

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
        <!-- Begin Page Content -->
        <div class="container-fluid">
 
          <!-- Page Heading -->
          <h1 class="h3 mb-2 text-gray-800">Board</h1>
          <p class="mb-4">DataTables is a third party plugin that is used to generate the demo table below. For more information about DataTables, please visit the <a target="_blank" href="https://datatables.net">official DataTables documentation</a>.</p>
 
          <!-- DataTales Example -->
          <div class="card shadow mb-4">
            <div class="card-header py-3">
              <h6 class="m-0 font-weight-bold text-primary">DataTables Example</h6>
            </div>
            <div class="card-body">
              <div class="table-responsive">
                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                  <thead>
                    <tr>
                      <th>번호</th>
                      <th>이름</th>
                      <th>제목</th>
                      <th>날짜</th>
                      <th>히트</th>
                    </tr>
                  </thead>
                  <tfoot>
                    <tr>
                      <th>번호</th>
                      <th>이름</th>
                      <th>제목</th>
                      <th>날짜</th>
                      <th>히트</th>
                    </tr>
                  </tfoot>
                  <tbody>
                      <c:forEach var="dto" items="${list}">
                        <tr>
                            <td>${dto.bid}</td>
                            <td>${dto.bname}</td>
                            <td> 
                            <c:forEach begin="1" end="${dto.bindent}">[Re]</c:forEach> 
                            <a href="content_view.do?bid=${dto.bid}">${dto.btitle}</a>
                            </td>
                            <td>${dto.bdate}</td>
                            <td>${dto.bhit}</td>
                        </tr>
                    </c:forEach>               
                  </tbody>
                </table>
              </div>
            </div>
          </div>
 
        </div>
        <!-- /.container-fluid -->
 
cs

sql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
-- 모든 사원의 이름(첫 글자는 대문자로, 나머지 글자는 소문자로 표시) 및 이름 길이를
-- 표시하는 쿼리를 작성하고 컬럼 별칭은 적당히 넣어서 출력하라.
SELECT UPPER(SUBSTR(ENAME,1,1)) || LOWER(SUBSTR(ENAME,2,12)) AS "NAME",
LENGTH(ENAME) AS "LENENAME"
FROM EMP;
 
-- 사원의 이름과 커미션을 출력하되, 커미션이 책정되지 않은
-- 사원의 커미션은 'no commission'으로 출력하라.
SELECT ENAME, NVL(TO_CHAR(COMM),'no commission'FROM EMP; -- to_char 숫자를 문자로
 
SELECT * FROM dept;
-- 모든 사원의 이름,부서번호,부서이름을 표시하는 질의를 작성하라.(DECODE)
SELECT ename, deptno, DECODE(deptno, 10'ACCOUNTING'20
'RESEARCH'30'SALES'40'OPERATIONS')as "DNAME" FROM emp;
 
-- 모든 사원의 이름,부서번호,부서이름을 표시하는 질의를 작성하라.(JOIN)
SELECT ename, emp.deptno, dname FROM emp, dept WHERE emp.deptno=dept.deptno;
-- deptno만 select에 사용하면 두 테이블에 공통적으로 들어가 있어 어떤 쪽의 값인지 불분명해 오류가 발생.
-- 따라서 emp.deptno 나 dept.deptno 라고 적어줘야 정상 출력
-- SELECT * FROM emp, dept -> 카테이션 곱
 
-- 30번 부서에 속한 사원의 이름과 부서번호 그리고 부서이름을 출력하라.
SELECT ename, emp.deptno, dname FROM emp, dept 
WHERE emp.deptno=dept.deptno AND emp.deptno=30;
 
-- 30번 부서에 속한 사원들의 모든 직업과 부서위치를 출력하라.
--(단, 직업 목록이 중복되지 않게 하라.)
SELECT DISTINCT e.job, d.loc FROM emp e, dept d 
WHERE e.deptno=d.deptno AND e.deptno=30;
 
-- 커미션이 책정되어 있는 모든 사원의 이름, 부서이름 및 위치를 출력하라.
SELECT e.ename, d.dname, d.loc FROM emp e, dept d 
WHERE e.deptno=d.deptno AND comm IS NOT NULL;
 
-- 이름에 A가 들어가는 모든 사원의 이름과 부서 이름을 출력하라.
SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno=d.deptno 
AND e.ename LIKE '%A%';
 
-- Dallas에서 근무하는 모든 사원의 이름, 직업, 부서번호 및 부서이름을 출력하라.
SELECT e.ename, d.dname, d.deptno, d.loc FROM emp e, dept d 
WHERE e.deptno=d.deptno AND d.loc = 'DALLAS';
 
-- 사원이름 및 사원번호, 해당 관리자이름 및 관리자 번호를 출력하되,
-- 각 컬럼명을 employee,emp#,manager,mgr#으로 표시하여 출력하라.
SELECT e.ename as "employee", e.empno as "emp#", m.ename as "manager" , m.empno as "mgr#" 
FROM emp e, emp m WHERE e.mgr=m.empno;
-- self join은 반드시 별칭을 정해줘야한다. emp e, emp m
 
-- 모든 사원의 이름,직업,부서이름,급여 및 등급을 출력하라.
SELECT e.ename, e.job, d.dname, e.sal, s.grade FROM emp e, dept d, salgrade s 
WHERE e.deptno=d.deptno AND e.sal BETWEEN s.losal AND s.hisal;
cs

내일 게시판은 

내일 타이머 내용.
69번 한번더 돌리 도록 하겟습니다.



게시판 속성 강좌 
To do list 기법
=============================
1. 설계도 외우기 - 2분
2. 프로젝트 생성 - 1분 jsp_board_test5
3. 라이브러리 집어 넣기 3 개 - 30초 
4. DTO 만들기   - 3분
-desc mvc_board
-BDto - edu.kosmo.ex.dto
5.DAO 만들기   - 5분
-BDto - edu.kosmo.ex.dto
- 커넥션풀 
- list()
- select * from mvc_board order by bGroup desc, bStep asc 
sql 문 정리 

5. Commad 인터페이스 만들기 - 1분
- edu.kosmo.ex.command

6. BListCommad class 만들기 - 3분
-  BCommnad 상속
-  edu.kosmo.ex.command (패기지명)
- DAO 객체 생성
- list 함수 호출 
- request 객체 안에 게시판 넣기

7. Servelet 객체 만들기(컨트롤러 객체 만들기) - 5분
 - *.do 설정
 - actionDo 함수 만들기
 - 명령어 해석 
String uri = request.getRequestURI();
String conPath = request.getContextPath();
String com = uri.substring(conPath.length());
- 명령해석후 BListCommand 객체 생성
if(com.equals("/list.do")) {
command = new BListCommnad();
command.execute(request, response);
viewPage = "list.jsp";
}
- 빠빠라치 객체 설정
RequestDispatcher dispatcher = request.getRequestDispatcher(viewPage);
dispatcher.forward(request, response);


8.list.jsp 만들기 - 5분
-UTF-8 ,세팅
-지시자 jstl
- 댓글 RE 다는 부분 주의 할것.
-<table width="500" border="1">
<tr>
<td>번호</td>
<td>이름</td>
<td>제목</td>
<td>날짜</td>
<td>히트</td>
</tr>
<c:forEach var="dto" items="${list}">
<tr>
<td>${dto.bid}</td>
<td>${dto.bname}</td>
<td>
<c:forEach begin="1" end="${dto.bindent}">[Re]</c:forEach>
<a href="content_view.do?bid=${dto.bid}">${dto.btitle}</a>
</td>
</tr>

</c:forEach>

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함