본문 바로가기

Web Language/JSP

(12)
날씨 API 활용하기 ▶ 기상청에서 공공데이터 받기 주소 → http://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp RSS를 클릭하고 해당 uri로 이동해보면, 아래처럼 GET 방식으로, zone=지역코드로 이루어져 있다. Crome으로 F12번의 개발자 도구를 킨다. option의 value 값에 지역코드들이 들어가 있다. ▶ 날씨 API 활용해보기 1. pom.xml 파일에 jsoup dependency 를 추가한다. jsoup은 HTML 문서에 저장된 데이터를 구문 분석, 추출 및 조작하도록 설계된 오픈 소스 Java 라이브러리 이다. org.jsoup jsoup 1.12.1 Jsoup 클래스의 static 메소드 connect에 uri 경로로 분석하고자 하는 ht..
MVC 패턴 - model2 MVC (모델-뷰-컨트롤러) 모델-뷰-컨트롤러, 즉 MVC는 사용자 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. ▶ MVC 구성요소 - 컨트롤러 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. - 모델 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다...
forward 와 redirect forward 와 redirect ▶ forward 클라이언트가 경로를 요청하면 웹 컨테이너 내에서만 경로가 이동되기 때문에 보여지는 경로는 변하지 않고, 화면만 변한다. 그렇기 때문에 웹 컨테이너에 담은 정보들을 공유할수 있다. request.getRequestDispatcher("/WEB-INF/views/"+fwPath) .forward(request, response); ▶ redirect 클라이언트가 경로를 요청하면 이동하는 url을 그대로 노출시킨다.그렇기 때문에 웹컨테이너에 담은 정보들이 공유되지 않는다. response.sendRedirect("http://seollica.tistory.com"); response.sendRedirect(request.getParameter("url"));..
JSP와 DB연결 - 로그인 기능(DB연결) 로그인기능 예전에 했던 로그인 기능을 생각해 보자. session을 응용하여 파일 내에서 선언해둔 변수(아이디,패스워드)의 값과 일치 불일치를 따져보고 로그인에 성공하고 실패하고 유지되는 작업을 해보았었다. 하지만 오늘 할 로그인 기능은 데이터베이스에 저장된 아이디, 패스워드 값을 로그인폼에서 입력한 값과 비교를 하여 로그인에 성공하고 실패하고 유지되는 작업을 해볼것이다. ▶ 로그인 기능 구현 1. 파일 구성 WebContent 폴더 하위에 login 폴더와 index.jsp 파일을 만들었다. index.jsp파일은 로그인 유지가 되는 메인 홈 화면이고, login 폴더 안의 jsp파일은 각각 - login_form : 로그인 정보를 입력할 수 있는 화면이다. - login_pro : 데이터베이스에 연결..
JSP와 DB연결 - DELETE JSP와 DB연결 - DELETE 이제는 Query문을 여러번 다뤄봤으니 delete는 쉬울것이다. 마찬가지로 테이블 내에서 아이디를 기준으로 선택한 행의 데이터를 DELETE 쿼리문으로 삭제하면 끝이다. ▶ 삭제 기능 회원 정보를 수정하는 방법도 해 보았다면, 회원 계정을 탈퇴하거나, 계정이 만료되어 삭제를 하거나 하는 작업을 할수도 있다. 그러려면 데이터베이스에서 해당 회원의 정보를 가진 행을 없애는 작업을 해야한다. 회원 정보 리스트에서 삭제버튼을 누른다고 가정한다. 앞서 했던 수정버튼과 동일하게 삭제버튼을 눌렀을 경우 삭제버튼에 rul을 걸어주어 url에 삭제 버튼이 눌린 아이디를 get방식으로 받아오도록 하자. 삭제버튼을 눌렀을 때 실제 데이터베이스에연결하여 쿼리문을 입력하는 기능을 하는 m_d..
JSP와 DB연결 - UPDATE * JSP와 DB연결 - UPDATE 웹 페이지 내에서 데이터베이스 내의 데이터를 수정할 수 있게 하고싶다. (회원정보수정, 등등) 앞서 해봤던 INSERT와 SELECT처럼 이번에는 UPDATE 쿼리문을 사용할 것이다. 리스트 > 수정버튼 > 수정화면 - 수정완료버튼 > 데이터베이스 UPDATE 수행 > 리스트 수정 화면 구성 회원 정보 리스트에서 수정 버튼을 눌렀다고 가정한다. 수정버튼을 눌렀을 경우, 버튼에 url을 걸어주어 url에 수정버튼이 눌린 아이디를 get방식으로 받아오도록 하고 싶다. 수정 버튼을 눌렀을 때 수정 화면으로 넘어가게 되며, 해당 아이디의 값을 send_id라는 변수에 담아 url 경로와 함께 이동하게 된다. 그럼 이제 수정화면의 구성부터 해 보도록 하자. 1. JDBC 객체 사..
JSP와 DB연결 - SELECT JSP와 DB연결 - SELECT 앞서 JSP와 Database를 연결하여 Query에 INSERT문장을 작성하여 데이터를 입력하는 처리를 해보았다. 이번에는 마찬가지로 Query에 select문장을 작성하여 데이터베이스의 원하는 데이터를 출력해 보자. 1. JDBC 드라이버를 사용하기 위한 임포트를 한다. 앞서 했던 것 처럼, mySQL 드라이버를 다운받고, 라이브러리에 저장하며, JDBC객체를 사용하기 위한 준비를 한다. 드라이버 로딩. 2. JDBC 객체 초기화. JDBC의 객체로 객체참조변수를 선언하고 null로 초기화 하는 작업이다. 앞서 했던 INSERT 쿼리를 작성하는 과정에서는 사용하지 않았던 ResultSet 이라는 객체를 새로 가져와야 한다. 이는 나중에 쿼리문의 결과를 받아 결과를 사..
JSP와 DB연결 JDBC 드라이버 JDBC : 자바로 작성된 프로그램과 데이터베이스의 상호 작용을 위한 인터페이스 규격이다. 프린터나 키보드, 마우스 등 컴퓨터에서 외부 기기를 사용하기 위해 가장 먼저 해야하는 것이 드라이버 설치이다. 이처럼 데이터베이스에서 (작성한)외부적인 프로그램을 사용하기 위해서는 드라이버를 다운로드 해야 한다. 각 데이터베이스 별 필요로 하는 드라이버를 다운받아야 한다. 각 제조사? 홈페이지에서 찾아볼수 있을 것이다. 나는 MySQL을 사용하므로 MySQL JDBC Driver을 다운로드 받으면 된다. ▶ JDBC MSQL 드라이버 다운로드 https://dev.mysql.com/downloads/connector/j/ JSP와 Database연결 (INSERT) 1. JDBC 드라이버를 사용하..