본문 바로가기

Java, Spring

(77)
9일차 4 - 게시판 List구현 & JSTL BoardList 할거야. 1. Bean 설정파일(dispatcher-servlet.properties) 에 등록 #로그인 폼 /Login.do=controller.Login #로그인 확인 /LoginAction.do=controller.LoginAction #게시판 리스트 /BoardList.do=controller.BoardList #게시판 글쓰기 폼 /BoardInsert.do=controller.BoardInsert #게시판 글쓰기 데이터를 DB에 저장 /BoardInsertAction.do=controller.BoardInsertAction #게시판 상세보기 /BoardView.do=controller.BoardView #글수정 폼 /BoardUpdate.do=controller.BoardUpd..
9일차 5 - 게시판 글쓰기, 글보기 구현 이제 ‘글쓰기’ 해보자. 1. dispatcher-servlet.properties 에 BoardInsert.do추가 #로그인 폼 /Login.do=controller.Login #로그인 확인 /LoginAction.do=controller.LoginAction #게시판 리스트 /BoardList.do=controller.BoardList #게시판 글쓰기 폼 /BoardInsert.do=controller.BoardInsert 2. action class만들어 (BoardInsert : 여기서는 입력폼으로 이동해야 하는데 뿌려주거나 데이터 넘겨줄 일은 없지.) package controller; import javax.servlet.http.HttpServletRequest; import javax.se..
9일차 6 - connection pooling, JNDI 음.. 현재 파일마다 DB접근하잖아.. 컨트롤러 마다 BoardDao호출하면 메서드마다 getConnection()하잖아.. 이게 현재 로컬에서 혼자만 돌리니까 문제가 없지만 이게 동접자가 많아지면 이야기가 틀려지지.. 어제까지 동접자 1000명이 메스컴타고 10000이 될 수도 있잖아. 이래서 뻗어버리느니 일정 숫자이상이면 튕겨버리는게 낫잖아.. 그래서 connection pool을 만들어.. 이 넘이 jdbc를 호출해서 db에 붙어.. 이걸 붙일때 어떻게 붙이느냐.. max를 100개라고 커넥션갯수를 지정하면 알아서 100개를 연결해 놔. 우리가 쓸려고 하면 남은게 있으면 써.. 그러니까 접속하는 시간이 안걸려.. 그리고 일정용량이상의 의도하지않은 사람이 접속하려고 하면 접속이 안되서 DB서버가 안정..
8일차 1 - Java Beans java beans jsp 파일 : /webdev/WebContent/beans/beanTest.jsp class : /webdev/src/test/bean/BeanTest.java 만들어 package test.bean; public class BeanTest { private String name = "SEOTAIJI"; public String getName() { return name; } public void setName(String name) { this.name = name; } } 이름 : 주소 : 아이디 : 비밀번호 : 그럼 이전에 만든 위의 insert_action을 bean으로 바꿔보자.. 문제 java beans를 이용하여 값을 생성한 후 뷰페이지에서 출력 600, 700,800,..
8일차 2 - 화면분할(파일분할) 화면분할(파일분할) Top Menu Content 실질적으로 어떻게 동작하는지 jsp파일을 컴파일하면 java파일이 되는건 알지.. 어떻게 java파일로 변환되는지 보면.. C:\Java\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\webdev\org\apache\jsp\beans 보면 클래스 파일이 따로따로 만들어져있지. 각각의 페이지인거야. 변수값 공유 같은건 당연히 안되지.. 완전히 모듈화된거지.. 다른 방법은 jsp자체에서 include tag를 쓰는 방법이 있지.. content.jsp, main.jsp, menu.jsp, top.jsp 를 /webdev/WebContent/basic 에..
8일차 3 - session session servlet 사용할 경우 httpsession 가져다 쓰면 되고 jsp에서 쓸 경우에는 내장객체에서 아주 편하게 쓸 수가 있어. session.getAttribute session.setAttribute session은 서버단에 저장하는 것이기 때문에 커다란 데이터같은거 저장하며 안되겠지. 주로 id에 대한 정보, 인증정보, 접속정보 같은 거 저장하지. 세션 테스트 [세션값 생성] [id 세션값 삭제] [pw 세션값 삭제] [세션값 초기화] 처음 실행하면 session이 안만들어졌으니까 null로 나오지. session 생성 10초 후에 reflesh하면 다시 null이겠지. loginform.jsp ID PW onload tag : body tag안에 들어있을 때 body에 있는 모든 ..
8일차 4 - Cookie (1) cookie - session과는 반대로 클라이언트 브라우저에 저장하지.. - 4kb초과하면 안되고 한 사이트당 20개 이하.. 쿠키에 절대 중요한 정보를 넣으면 안돼. 인코딩해서 읽을 수 있고. 패킷스나이퍼같은걸로 채갈 수도 있거든.. 로그인 상태인지 체크해놓으면 껏다 켜도 자동 로그인되는 사이트있자나.. 어디다 저장할까? 암호화된 쿠키에 넣어놓는거지. 그래도 게임방같은데선 하지마.. session은 jsp에 내장되있어서 session. 하고 바로 사용가능하지만 cookie는 바로 못쓰고 instance를 만들어야해. 쿠키를 구울게요 쿠키의 이름 : 쿠키의 값 : 쿠키의 유지시간 : 쿠키 확인 cookie.setMaxAge(10); 초단위. 최초 접속시간부터 (session은 최종시간부터) ex)한달 ..
8일차 5 - Cookie (2) cookie 계속.. 로그인에서 id저장 체크하면 다음 로그인시 id남아있고 체크박스에 체크되어있게 하기 PW id 저장 님이 로그인 되었습니다. 로그아웃 이제 체크한 상태에서 로그아웃해도 아이디값은 남아있지.. 그런데.. 조금 편하게 자바클래스를 만들어서 사용해보자.. Cooker 만들어 써보자. package cookie; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpS..