본문 바로가기

Jsp

(28)
Forwarding RequsetDispatcher 클래스 요청받은 요청객체를 위임하는 컴포넌트에 동일하게 전달 가능. HttpServletResponse 클래스 RequestDispatcher와 차이가 존재. 요청 받은 요청 객체를 위임 받은 컴포넌트에 전달하는 것이 아니라 새로운 요청 객체를 생성
frontController 패턴 & command 패턴 확장자 패턴 hello.do 로 요청하든 world.do로 실행 하던 같은 서블릿으로 감 그대신 매칭된 이름에 맞게 각자 작업함. frontcontroller 패턴 - 클라이언트의 다양한 요청을 한곳으로 집중 시킴. 확장자 패턴을 이용해서 @WevServlet("do") 어떤 확장자로 오는 값을 하나의 컨트롤러가 다 받고 컨트롤러에서는 String uri = request.getRequestURI(); 로 uri 값을 받고 String conPath = request.getContextPath(); 로 앞에 공통 주소 받고 String command = uri.substring(conPath.length()); uri에서 공통 부분만 뺌 그러면 /insert.do /update.do /select.do ..
JSTL JSTL(JSP standard Tag Library) JSP 경우 HTML 태그와 같이 사용되어 전체적인 코드 가독성 떨어짐. HTML코드 나왔다가 JSP 나왔다가 번잡 이를 보완하는 라이브러리 JSTL www.jakarta.apache.org 접속 - Taglibs 클립 - jstl 설치 jstl.jar , standard.jar 를 apache 라이브러리 폴더에 집어 넣음 core 라이브러리 - 출력 관련 반복 , 제어문 포함. core 라이브러리 c로 설정
EL EL (Expression Language) 표현식 또는 액션 태그를 대신해서 값을 표현 하는 언어 -> ${value} EL안에서 연산자도 사용 가능. ${1+2} ${1 ${member.name} 내장 객체
파일 업로드 파일 업로드 -파일 업로드 라이브러리 설치. www.servlets.com 좌측 com.oreilly.servlet 클릭 하단 자료 다운로드하고 압축 해제 후에 lib - cos.jar파일 이클립스 경로에 넣어야함 이클립스 프로젝트 web-inf-lib 밑에 넣음 webContent에 file을 넣을 폴더 하나 넣음 form 태그로 파일 올릴 수 있음 form을 받는 곳에서 파일을 저장시킬 path를 정함 file -> file이름 orifile -> 같은 file이름 방지, 실제 파일 이름 DefaultFileRenamePolicy 동일 이름인 경우 파일 이름에 인덱스 붙으면서 처리 fileforder는 서버에 저장 되는것이므로 apache기준 폴더 주소를 적어야함. 이클립스에서 폴더 생성하면 아파치 ..
커넥션 풀(DBCP) 클라이언트 다수의 요청 발생시 데이터베이스에 부하가 발생. - 클라이언트 요청시 계속 connection 객체가 열리므로 커넥션 객체를 미리 생성해 놓고 커넥션 요청시 만들어 놓은걸로 연결. 커넥션 풀은 서버 안에 있으므로 tomcat 컨테이너에서 수정 해 줘야함. maxActive => 몇개의 풀을 만들지. maxWait => 풀을 다 쓸 때 다음 풀을 얼마나 기다릴지 Server context.xml에 적어주고 Tomcat sync 맞춰줌. 그리고 커넥션 풀을 연동시킬 곳에서 DataSource 객체 생성. 그리고 Context 객체를 new InitialContext()로 생성
Prestatement prestatement statement객체의 경우 중복코드가 많아지는 단점 보완. 생성과 동시에 query 삽입.
DAO & DTO DAO = Data Access Object -DB 접근 로직 수행 DTO = Data Transfer Object -데이터만 모아서 DTO에 담음. (그냥 Model로 생각하면 편함) DTO -데이터 담는 객체 public class DTO { private Integer id; private String pw; private String name; private String phone; public DTO(Integer id,String pw,String name,String phone) { this.id=id; this.pw = pw; this.name = name; this.phone = phone; } public Integer getId() { return id; } public void se..