본문 바로가기

전체 글

(330)
07.18 공지사항,질문답변 게시판 구현 (7.14실습파일) SELECT * FROM notice_board ORDER BY notice_num DESC 필드이름과 테이블의 속성 이름이 같아야 속성명으로 반복문 돌려서 값 채우는 방법 사용이 가능하다. (SQL 쿼리문 SELECT에서 이름이 필드명과 다른 속성을 지정해놓고 AS로 별칭정의하는 방법이 있다.) ${n.notice_num} [${n.notice_category}] ${n.notice_title} ${n.notice_author} ${n.notice_date} 등록된 게시물이 없습니다. 게시글 번호 쿼리 스트링으로 같이 전달 SELECT * FROM notice_board WHERE notice_title LIKE '%${param.searchValue}%' WHERE notice_content LIKE..
TIL (Today I Learned) https://pronist.dev/158#%EC%B2%98%EC%9D%8C%EC%9C%BC%EB%A1%9C%20%EA%B9%83%ED%97%88%EB%B8%8C%EB%A5%BC%20%EA%B4%80%EB%A6%AC%ED%95%B4%EB%B3%B4%EA%B3%A0%20%EC%8B%B6%EB%8B%A4%EB%A9%B4-1 깃허브를 포트폴리오로 쓰려면 어떻게 해야할까? 메리 크리스마스! 오늘은 즐거운 크리스마스입니다. 이 글을 작성하는 때가 크리스마스이기에 첫 문구를 크리스마스로 시작하게 되었답니다? 저는 연인이 없는지라 집에서 나 홀로 집에나 보고 pronist.dev 이 글 에서 TIL 이라는 것을 알게되었다. 오늘 배운 내용을 오늘 적자는 챌린지. https://github.com/milooy/TIL ..
07.17 JSTL 실습문제 풀이(07.14파일) alert('잘못된 회원정보입니다.'); history.back(); SELECT * FROM digital_member WHERE u_id = ? ${joinMember.u_id} alert('이미 사용중인 아이디입니다.'); history.go(-1); INSERT INTO digital_member(u_id,u_pass,u_age,u_gender) VALUES(?,?,${joinMember.u_age},?); ${joinMember.u_id} ${joinMember.u_pass} ${joinMember.u_gender} /* EL 사용시 값이 없을때를 대비해서 ''로 감싸줘야함.(값이 없으면 오류발생하니까) */ let result = '${result}'; alert(result+"행 삽입완료")..
7.14 JSTL() JSTL 태그 사용 시 이렇게 선언 필수. ex)core태그 §Functions 태그의 종류 EL 내부에서 사용한다. DOCTYPE html> jstlFn.jsp EL test : ${test} toUpperCase : ${fn:toUpperCase(test)} toLowerCase : ${fn:toLowerCase(test)} 이미지 파일입니다 텍스트 파일이 아닙니다. 텍스트 파일입니다. 텍스트 파일이 아닙니다 contains: ${fn:contains(test,'java')} containsIgnoreCase : ${fn:containsIgnoreCase(test,'java')} indexOf : ${fn:indexOf(test,'java')} substringBefore : ${fn:substrin..
7.13 웹 MVC, EL, 스탠다드 태그 라이브러리 19_guest_book_mvc 모델 2 방식 요청 전달받는게 컨트롤러(서블릿):흐름제어 (forward 방식) 요청에 대한 로직을 처리하는 모델(service(자바코드로 처리), dao(crud))2개로 나눠놓음 (forward 방식)request 이용해서 뷰 화면에 데이터 전달 -> 스크립틀릿을 대체하는 JSTL (JSP 스탠다드 태그 라이브러리 ): 자바코드를 태그 형식으로 , 영역객체를 표현해주는 EL(expression language) EXPRESSION LANGUAGE - 표현언어 4대 영역 객체의 속성값을 JSP page내에서 쉽게 연산하고 읽어서 출력할 수 있도록 구성된 언어 * 주석 처리 인식 안됨 \${} 이렇게 해야 주석처리 가능! EL 표현식 - ${영역객체.key값} page E..
7.12 함수, GROUP BY -- 대소문자를 바꿔주는 함수 SELECT UPPER(ENAME), LOWER(ename), INITCAP(ename) FROM emp; -- 예시 --SELECT * FROM 게시판 --WHERE 게시판제목 LIKE '%oracle%'; -- 이렇게 했을 때 oracle ORACLE 등의 정보는 검색이 되지 않는다. SELECT ENAME FROM EMP WHERE ENAME = upper('smith'); -- Smith SMITH smith sMiTh -- 다양한 데이터가 대소문자 구분 없이 들어와도 -- SQL문 조회에서 대소문자 함수를 사용하면 모든 종류의 데이터를 검색할 수 있다. -- 문자열의 길이 구하기 SELECT ENAME, LENGTH(ENAME) FROM EMP; -- Q1. 사원 ..
7/11 서버에 커넥션 풀 등록, 페이징 처리 (7/10 실습 풀이), 모델 2(MVC) forward 방식으로 index페이지에서 guestbook 폴더 안에 있는 경로로 이렇게 전달하는 경우 URL 위치는 contextPath가 됨. redirect 방식인 경우 URL은 http://localhost:8080/18_guest_book_answer/guestbook/guestbook_list.jsp 가 된다. guestbook/guestbook_list.jsp 에서 작성시 경로 주소는 전달 방식에 따라 바뀔 수 있음. Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/digital_jsp", "digital", "12345" );..
07.10 connection pool (7.7 실습문제 풀이) 커넥션 풀의 장점 : 서버안정화, 커넥션을 할 때 시간단축 src/main/java/util/JDBCUtil.java package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * database 연결 작업 및 자원해제를 도와줄 Util class */ public class JDBCUtil { /** * database 연결에 필요한 필수 정보 */ private static final String DRIVER = "com.mysql.cj.jdbc.Driver"; private static final String URL = "jdbc:mysql://localhost:330..