JSP & Servlet

    톰캣(Tomcat) URL 경로 변경

    톰캣(Tomcat) URL 경로 변경

    서버 실행 시 localhost:8080/{프로젝트명} 이 기본값으로 되어있다. 이를 바꾸기 위해선 다음과 같이하면 된다. localhost:8080/ 가 기본값이 되도록 설정해보겠다. 💡방법1: server.xml 수정 1. 톰캣 server.xml에 들어간다. 2. 태그의 path 수정 💡방법2

    톰캣(Tomcat) 다운로드

    톰캣(Tomcat) 다운로드

    1. 톰캣(Tomcat) 사이트로 들어간다. https://tomcat.apache.org/download-80.cgi Apache Tomcat® - Apache Tomcat 8 Software Downloads Welcome to the Apache Tomcat® 8.x software download page. This page provides download links for obtaining the latest versions of Tomcat 8.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versions tomcat.apache.org 2. 받고..

    [Eclipse] 웹 프로젝트 생성 (dynamic web project) (feat.JSP & Servlet)

    [Eclipse] 웹 프로젝트 생성 (dynamic web project) (feat.JSP & Servlet)

    📌웹 프로젝트 생성하기 💡JSP 1. 그림과 같이 Project Explorer 뷰에서 마우스 우측 버튼 클릭한 후 차례대로 선택해준다. 2. Project name을 각자 지정하고 ( ex) JspProject ) [Finish] 버튼을 클릭한다. 2-1. 만약 Project 생성 후에 WebContent 폴더가 있는 경우 2-1번은 스킵해도 된다. (WebContent 안보이는 경우) 2번 이미지에서 [Next] 클릭해준다. 그리고 [Next]로 넘기다가 ContentDirectory 입력 칸에 WebContent를 넣어주면된다. 3. [WebContent] > [New] > [JSP File] > File Name : Test로 생성 4. 생성된 Test.jsp 에서 " " 사이에 "테스트" 문자열..

    [JSP & Servlet] 프로젝트 관리

    글을 작성하면서 DataBinding 하는 부분은 빼고 작성하도록 하겠다. 이 부분은 작성하지 않아도 코드를 수정하여 충분히 구현할 수 있을 것이라 본다. 📌테이블 생성 멤버(Members) 테이블 CREATE TABLE members( mno INT PRIMARY KEY, --회원일련번호 email VARCHAR(40) NOT NULL,--이메일 pwd VARCHAR(100) NOT NULL, --암호 mname VARCHAR(50) NOT NULL,--이름 cre_date DATETIME NOT NULL,--가입일 mod_date DATETIME NOT NULL --마지막암호변경일 ) COMMENT '회원기본정보'; CREATE UNIQUE INDEX UIX_MEMBERS ON members( --회..

    필터(Filter) 사용하기

    필터(Filter)란? 필터는 서블릿 실행 전후에 어떤 작업을 하고자 할때 사용하는 기술이다. 예를 들어 서블릿이 실행되기 전 자원이 필요하다거나, 모든 각 서블릿에 한글 인코딩 , 시간 측정등과 같은 반복적으로 처리해야 하는 공통 작업을 미리 필터에서 처리하여 번거로움이 줄어든다. 필터는 용도에 따라 2 가지로 나뉜다. 요청 필터 인코딩 기능 사용자 인증 및 권한 검사 요청 시 요청 관련 로그 작업 응답 필터 서비스 시간 측정 응답 결과에 대한 암호화 작업 필터 관련 API javax.servlet.Filter init(): 필터 생성 시 컨테이너에 의해 호출되어 초기화 작업을 수행 doFilter(): 요청/응답 시 컨테이너에 의해 호출되어 기능을 수행 destory(): 필터 소멸 시 컨테이너에 의..

    요청(request) URL 정보 추출하기

    HttpServletRequest의 메소드로 URL 정보 추출 요청 URL에서 특정 정보만 추출하는 HttpServletRequest의 메소드는 다음과 같다. 메소드 설명 반환값 getRequestURL() 요청 URL 리턴(단, 매개변수 제외) http://localhost:8080/web/member/list.do getRequestURI() 서버 주소를 제외한 URL /web/member/list.do getContextPath() 웹 애플리케이션 경로 /web getServletPath() 서블릿 경로 /member/list.do getQueryString() 요청 매개변수 정보 pageNo=1&pageSize=10 사용 예) 클라이언트가 요청한 서블릿의 경로를 알고 싶으면 getServletPa..

    커넥션풀(Connection Pool) (DataSource와 JNDI) (feat. MySQL)

    커넥션풀(Connection Pool) (DataSource와 JNDI) (feat. MySQL)

    📌DB Connection Pool JDBC를 통해 연동하였을 때, 웹 클라이언트에서 요청할 때마다 DB 서버에 연결하기 위해 Connection 객체를 얻어야 한다. SQL 작업을 할 때마다 DB Connection 객체를 생성한다면, 실행 속도가 느려지고 많은 Gabage가 생성될 것이다. 실행 속도가 느려지는 이유는 Connection을 맺을 때마다 DB 서버는 사용자 인증과 권한 검사를 수행하고 요청 처리를 위한 준비 작업을 해야 하기 때문이다. 이런 문제를 해결하기 위해 DB Connection Pool이 등장하였다. DB ConnectionPool을 이용하면, 각 요청에 대해 별도의 Connection 객체를 사용하기 때문에 다른 작업에 영향을 주지 않는다. 또한 사용한 DB Connectio..

    데이터 보관소(네 가지 객체 보관소)

    데이터 보관소(네 가지 객체 보관소)

    데이터 보관소 서블릿 기술은 데이터를 공유하기 위한 방안으로 네 가지 종류의 데이터 보관소를 제공한다. 각각의 데이터 보관소는 공유 범위를 기준으로 구분된다. 자세하게 설명하기 앞서 간단한 코드로 가볍게 설명하도록 하겠다. ... ServletContext ctx = getServletContext(); HttpSession session = request.getSession(); ctx.setAttribute("context", ctxValue); session.setAttribute("session", sessValue); request.setAttribute("request", reqValue); 이와 같이 ServletContext / HttpSession / HttpServletRequest 객..