JSP JSTL (JSP Standard Tag Library) JSP에서 Java코드를 사용하기에 불편해서 나온 라이브러리 Java의 여러가지 기능을 태그 형태로 사용할 수 있고, 모든 기능을 사용할 수 있는 것은 아니지만 유용하다. JSP코드를 깔끔하게 유지할 수 있다. JSTL 사용방법 JSTL을 사용하기 위해서는 JSTL 라이브러리와 페이지 지시어에 명시를 해주어야 한다. JSTL 라이브러리 다운 아래의 사이트에 접속 https://tomcat.apache.org/taglibs/standard/ 위의 사이트에 접속 후 아래 사진을 따라서 총 3가지를 다운 받는다. 다운 받은 jar 파일을 프로젝트 webContent(webapp) / WEB-INF / lib 폴더에 넣는다. JSP페이지 heade..
JSP EL (Expression Language) JSP에서 EL을 통해 Attribute, Parameter에 실려있는 값들을 편리하게 사용할 수 있다. Attribute는 page,request,session,application의 스코프로 범위별로 값을 저장할 수 있다. Attribute EL setAttribute("key", "value")의 형태로 값을 설정 했을 때 jsp페이지에서 ${key} 를 작성하면 웹 페이지에서 value가 출력된다. 단 4가지의 스코프에 동일한 이름으로 attribute가 존재한다면 앞에 각 영역의 이름을 붙이고 사용해야 한다 (안 붙이면 가장 작은 영역에 있는 scope의 attribute가 선택된다) 각각의 scope에 따른 key값 출력 예시 page - $..
JSP / Encoding JSP에서 코드 작성하고 get, post방식으로 데이터를 주고받을 때 한글이 깨지는 경우가 많다. POST와 GET방식에 따라 설정할 수 있는 방법이 다르다. GET방식 한글 인코딩 1. 이클립스 Java EE / Servers / server.xml파일의 Connector 부분에 URIEncoding 추가 기본적으로는 적혀있지 않으며 적혀있지 않는 경우 UTF-8이 기본값이다. 2. 이클립스 파일 생성시 기본 인코딩을 UTF-8로 변경 (혹은 EUC-KR로 변경 할거라면 Connector 부분에 UTF-8을 EUC-KR로 바꿔주자.) 이클립스 window -> Preferences -> encoding검색 -> Web 내부의 CSS, HTML, JSP 파일의 인코딩을 UTF..
JSP에서 특정페이지로 이동시키는 방법으로 forward, redirect가 있다. forward request 스코프에 담긴 값이 유효 (전달받은 request,response를 유지하고 페이지를 넘긴다.) 이동된 url이 사용자에게 보여지지 않는다. forward로 페이지 넘기기 @WebServlet(urlPatterns = {"/page/controller"}) public class PageNumController extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 넘길 페이지..
request HttpServletRequest에는 사용자의 요청에 대한 모든 정보가 담겨 있다. 그 중에서 form을 통해 실려온 데이터는 요청 객체의 parameter에 담겨 있다. HttpServletRequest 내의 메소드로 사용자의 요청에 대한 값들을 확인하거나 설정할 수 있다. 예제 JSP에서 이름, 거주지, 취미를 입력 받아 값 출력하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Insert title here 이름 거주지 수도권 지방 취미 게임 영화 Colored by Color Scripter cs 위 name태그의 값들을 서블릿에 전달 getParameter() jsp태그 내의 name 속성에 ..
JSP 스크립트 태그 스크립트 태그는 JSP페이지에서 자바코드를 사용하고 싶을 때 사용하는 문법이다. 선언문 (declaration) 변수나 메소드를 정의하는 영역 스크립트릿 (scriptlet) 모든 자바 코드를 사용할 수 있는 영역 표현식 (expression) 변수, 메소드 리턴값 등등 결과값을 문자열 형태로 출력 예제 JSP페이지에서 글자색, 배경색을 각각 빨간색으로 만들어주는 메소드를 선언후 사용 우선 JSP 페이지를 생성한다. 1 2 3 4 5 6 7 8 9 10 11 12 Insert title here Colored by Color Scripter cs 선언문을 사용하여 createRedText(), createBackgroundColorRedText() 라는 메소드를 두개 생성 style..
JSP / Servlet Servlet 클라이언트의 요청을 처리하고 결과를 응답해주는 자바 웹 프로그래밍 기술 웹 사이트가 클라이언트에게 보이는 과정 (1) 클라이언트가 호스트에게 원하는 웹 페이지를 보여달라고 요청. 요청할 때 원하는 페이지가 무엇잇지 웹 주소(URL)에 적어서 보낸다. (2) 사용자의 요청이 톰캣(WAS)에 도착 Apache-Tomcat에 등록되어있는 URL매핑들중 일치하는 자원을 찾는다. (3) 등록된 자원들 중 사용자의 요청에 따라 다른 결과들이 나오는 페이지를 동적 웹 페이지라고 한다. (4) 클라이언트의 요청이 올바른 요청이라면(톰캣에 등록된 자원이 맞다면) 해당 자원을 만들거나 이미 있는 자원을 응답한다.(Servlet 프로그램 실행) (5) 웹 서버에서 응답한 자원이 요청 ..
톰캣 연동 1. 이클립스에서 Java EE 바꾼뒤 Servers탭 선택 만약 Servers가 보이지 않는다면 Window -> show view -> Servers를 선택해서 볼 수 있다. 1. Servers 탭 아래의 파란글씨 클릭 2. 본인이 설치한 톰캣 버전 선택 3. next 1. 본인이 다운받은 톰캣폴더를 찾아서 선택 2. 계속 next 이후 finish
1. File -> New -> Dynamic Web Project 2. Project name 설정 나머지는 서버 연동을 했다면 전부 자동으로 설정이 되어 있다. 3. Next 4. Generate web.xml ... 체크 후 Finish 테스트 1. 프로젝트 내부의 WebContent 혹은 webapp 우클릭 -> New -> JSP File 선택 2. 파일 이름 작성 후 Finish 3. 아무 내용이나 작성 4. Ctrl + F11을 누른후 서버를 선택 후 Finish를 누르면 실행이 된다. ( 설정해 놓은 서버가 하나밖에 없으면 그냥 아무것도 안누르고 Finish를 누르면 된다.) 페이지가 잘 나오는것을 확인할 수 있다.
JDBC 개념과 역할 - 자바애플리케이션에서 표준화된 데이터베이스 접근 제공. - 각 데이터베이스 접속에 대한 상세한 정보를 알 필요 없음. JDBC 구조 - 자바에서 DB를 표준화 된 방법으로 접속할 수 있도록 마든 API 규격 - DB벤더와 상관없이 동일한 개발이 가능 JDBC 환경구축 1. 설치된 오라클폴더내에 JDBC 드라이버 찾기 (ojdbc.jar) C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar 혹시 없거나 못찾겠다면 오라클홈페이지에서도 받을수 있습니다. 방법은 총 3가지가 있고 보통 집에서 학습용으로 사용한다고 하면 셋중에 하나만해도 동작은 되겠지만 실제 업무에서 사용할때는 확실하게 하려고 3가지 방법 다 사용한다고 합니다..
스코프(scope)란? 사전적 의미 컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다. 내가 공부하고있는 jsp에서의 의미와 개념 스코프(객체 범위)의 구성 웹프로그래밍을 하다보면 여러 객체들이 있다. 이러한 객체들이 존재하는 범위가 4가지가 있다. 크기는 page < session < request
403에러 사이트에 접근할 권한이 없을때 404에러 file을 찾을 수 없을때 ( 서버가 요청한 파일이나 스크립트를 찾지 못할때) 403,404는 내가 사이트를 접근할때 많이 보던 오류지만 405부터는 잘 보지 못했던 것들. 405에러 메소드가 매칭이 되지 않아 생기는 오류로 매칭을 시켜주면 된다. ( get,post 잘 확인) 408에러 요청시간 초과에러 414에러 Get방식으로 파라미터 전달시 파라미터 길이가 허용치를 초과할때 발생.(240byte) 따라서 POST방식으로 바꿔주면 된다. 503에러 여러가지 이유가 있지만 기본적으로 서버의 문제로 인해 서비스가 불가할때 나옴. 방화벽이나 톰캣실행 여부나.. 등등 확인하기