JSP
게시판 만들기, jsp, DAO 정리
1. BoardBean.java - DB의 정보와 동일하게 변수를 지정하고, private 으로 선언한다 - 외부에서 데이터에 접근할 수 있도록 setter, getter 메서드를 public으로 선언한다 2. BoardDAO - DB연결과 DB의 CRUD를 작성 - getCon(): DB 연결은 커넥션 풀을 사용하여 서버의 부하를 줄인다 - insertBoard(BoardBean ): 자바빈을 받아와 게시글을 등록하는 메서드 -- ref:글묶음(게시글의 작성자 기준으로 나뉜다) -- re_step:새글과 댓글 구분 -- re_level:게시글의 계층. 원글:1 댓글2 인데, 새 댓글이 달리면 기존댓글이 3이 되고, 새 댓글이 2가 된다. -- ref가 큰 값(원글 최신글)이 먼저 뜬다. 그 다음, re..
커넥션 풀 (DBCP)
커넥션 풀 (connection poll) 데이터베이스로의 추가 요청이 필요할 때 연결을 재사용할 수 있도록 관리되는 데이터베이스 연결 캐시 접속 인원이 많은 웹 페이지에서 DB의 효율성, 속도를 높이기 위해 사용 서버의 부하를 줄여준다 웹(앱)이 실행되면 DB와 연결(connection)을 한 객체를 pool에 저장해둔다 클라이언트가 접속 할 때마다 DB 연결을 시도하는 것이 아니라, connection 을 내어주고 처리가 끝나면 connection을 반납받아 pool에 저장한다. jsp 에서 커넥션 풀 설정 server.xml 파일의 Context 부분을 수정하여 Resource 를 추가한다 프로젝트마다 서버가 달라질 수 있기때문에 매번 확인 해줘야한다.
DAO 이용한 회원관리
회원가입 회원가입 폼 - MemberJoin.jsp 더보기 아이디 패스워드 패스워드확인 이메일 전화번호 당신의관심분야 캠핑 등산 영화 독서 당신의직업은 교사 변호사 의사 기술사 당신의연령은 10대 20대 30대 40대 하고싶은말 JoinProc.jsp 더보기 회원정보수정 회원탈퇴 회원 전체목록 회원가입 회원의 정보를 수정할 수 있는 폼 - MemberUpdate.jsp 기존 정보를 출력하고, 새롭게 입력 가능하다. DB의 기존 비밀번호와 일치하는지 검증하기 위해 비밀번호를 입력받는다 더보기 회원 정보 수정하기 아이디 이메일 전화번호 당신의관심분야 당신의연령은 하고싶은말 패스워드 회원 전체 목록보기 특정 회원(1명) 정보 조회 : DAO 더보기 public MemberBean oneMember(String..
DB 전까지의 문제
1. 다음을 보고 코드를 구현해라. (개발 시 유효성 체크를 할 때 보통 자바스크립트 파일로 설정한다.) param.js 아이디, 나이는 반드시 입력되어야 하고 나이는 수치 데이터만 입력가능하도록 유효성을 체크하는 자바스크립트 파일 param.jsp param.js 파일을 포함시켜 아이디, 나이에 데이터가 잘 입력되었는지 점검하여 서블릿으로 입력된 값을 받아 전송(html 폼 구조) param.java Html 문서의 입력 양식에 입력한 내용을 처리하는 서블릿 클래스 더보기 param.js /** * 아이디, 나이는 필수. 나이는 숫자만 입력 가능 */ function chk(){ var uid = addPer.uid.value; var age = addPer.age.value; if((uid == nu..
DB 연동
JDBC 드라이버 로드 : DriverManager DB 연결 : Connection SQL 실행 : Statement 연결끊음 : ResultSet import java.sql.Connection; import java.sql.DriverManager; public class JdbcUtil { // 데이터 베이스 연결 public static Connection con; public static Connection getConnection() { Connection conn = null; //연결 try { String id = "아이디"; String pw= "비밀번호"; String url="jdbc:oracle:thin:@localhost:1521/xepdb1"; //jdbc 드라이버 로딩 Cl..
서블릿
서블릿 : server + applet 자바 클래스 형태의 웹 애플리케이션 서블릿 클라이언트의 요청처리, 그 결과를 반환하는 servlet 클래스의 구현 규칙을 지킨 기술 자바를 사용하여 웹을 만들기 위해 필요한 기술 클라이언트 요청을 하면 그에 대한 결과를 전송해야하는데(동적으로 작동), 이 역활을 하는 것이 자바 프로그램 ex) id, pw → 로그인 버튼 → 서버는 클라이언트 id, pw를 확인하고 다음 페이지 띄워줘야하는데 → 서블릿이 이 역활을 한다 더보기 브라우저를 통해 자바 클래스가 실행되도록 하기 위해서는 javax.servlet.http 패키지에서 제공하는 HttpServlet클래스를 상속받아 구현해야 한다. JDK에서는 웹 애플리케이션을 제작할 수 있는 클래스가 제공되지 않고 톰캣을 설..
JAVABEANS
JAVABEANS jsp 안의 많은 자바 코드들이 담당했던 일들을 독립적으로 처리하기 위한 부품과 같다 자바빈 정보덩어리, 데이터 저장소 개별적으로 접근해서 사용하기 보다는 필요한 정보를 객체로 구성하는 멤버로 작성하여 한꺼번에 데이터에 접근해서 사용할 수 있다 데이터 은닉화 외부에서 데이터를 직접 다루면 데이터가 손상될 수 있어 이를 막기 위해서 나온 개념 필드와 getter/setter 메소드를 하나의 쌍으로 갖는 특별한 클래스 정보를 저장하는 변수는 pricate으로 선언 setXxx() 메소드와 getXxx() 메소드를 public으로 선언 jsp:useBean (클래스명)클래스의 (객체명)객체를 생성함 jsp 파일과 자바빈을 연결하는 (자바빈) 객체를 생성 scope : 객체가 사용될 유효 영역..
jsp review
숫자하나를 입력받아 그 숫자에 해당하는 구구단을 출력하시오 (form을 이용해서 페이지도 이동) 더보기 gugu1 입력: gugudan 자바빈 이용하기 더보기 favo01 좋아하는 색: 좋아하는 음악: favo02 을 좋아하고, 음악을 좋아합니다. package co.bm.p1; public class favoBean { private String color; private String music; public String getColor() { return color; } public void setColor(String color) { this.color = color; } public String getMusic() { return music; } public void setMusic(String ..
액션 태그
서버나 클라이언트에게 어떤 행등을 하도록 명령하는 태그 JSP 페이지에서 페이지와 페이지 사이 제어 다른 페이지의 실행 결과 내용을 현재 페이지에 포함 jsp:forward 현재 jsp 페이지에서 다른 사이트로 이동할 때 사용 / 페이지 흐름을 제어할 때 사용 가독성이 좋고, 코드 양이 줄어든다 act01_teal 이 파일은 act01_teal.jsp 이다. 녹색 /////////////////////////////////////////////// act01_gold 이 파일은 act01_gold.jsp 파일이다. 골드 아래 두 코드는 동일하다 RequestDispatcher dis = request.getRequestDispatcher("act01_gold.jsp.jsp"); dis.forward(re..
내장 객체의 영역
내장 객체의 영역 : page, request, session, application 내장 객체의 영역 객체의 유효기간 객체가 얼마동안이나 살아있는가 page 하나의 jsp페이지를 처리할 때 사용되는 영역 한번의 클라이언트 요청에 따라 하나의 jsp 페이지를 범위로 갖음 pagecontext 라는 내장 객체를 할당 받음 더보기 first.jsp second.jsp second 페이지로 이동했습니다. 다른 페이지 thrid third 페이지로 이동했습니다. request 하나의 요청을 처리할 때 사용되는 영역 브라우저의 주소창에 url 입력 / 페이지 링크 클릭할 때 브라우저가 웹 서버에 전송하는 요청 브라우저가 요청 할 때마다 새로운 request 내장 객체가 생성되고 매번 새로운 request 영역이 ..