목록프로그래밍/JSP (14)
처음부터 차근차근
JDBC란 먼저 데이터베이스 드라이버에 대해서 알아보자. db 드라이버는 오라클의 SQL Driveloper, Mysql의 Workbench 같이 데이터베이스에 연결, 인증, 문장 실행, 결과패치 등의 기능을 가진 DB API이다. db 드라이버 안에는 쿼리 실행에 관련된 코드들이 모두 들어있다. jdbc란 데이터베이스 드라이버를 사용하는 것을 좀 더 편리하게 해주는 도구이다. 데이터베이스 드라이버들은 각자 내부적으로 다른 함수를 가지고 있어서 어떤 특정한 db 드라이버를 사용하려면 사용할 db 드라이버가 가지고 있는 함수들을 다 알아야하고, 맞춰서 써야한다. 그래서 데이터베이스를 변경하면 작성했던 코드들도 모두 변경해야한다. 이러한 번거로움을 없애주는 역할이 바로 jdbc이다. jdbc는 db를 바꾼다..
기업형 mvc 모델 (패키지 따로 만들기)controller -> servlet class service class 객체 만들어서 함수 호출하고 그 값 table class 객체 만들어서 대입한 후 request.setAttribute('a', a);. 그다음 jsp 파일 forwarding. IndexController - index.jsp(메인) 화면에 출력하는 controller 별다른 내용없고 forwarding만함 view -> jsp 파일(WEB-INF 디렉터리 아래) model -> (패키지 따로 만들기)service class - 실질적인 서비스를 담당하는 class 데이터베이스 관련 내용 들어감. 안에 들어있는 함수들은 최대한 함수를 재사용해서 구현. 예를들어서 return 아래에있는함수..
jstl 자바서버 페이지 표준 태그 라이브러리(JavaServerPages(JSP) Standard Tag Library) jstl이란 for문이나 if문 등의 여러 자바 코드들을 태그 형식으로 사용할 수 있게 하는 라이브러리 이다. jstl은 스파게티 코드를 해결하기 위해 만들어졌다. 스파게티 코드란 웹 문서 여러군데에 java 코드가 끼워져 있어서 전체적으로 복잡하고, 한 번에코드 수정하기 어려운 코드 상태를 말한다. db에서 가져온 데이터로 list를 출력해야하는 경우 어쩔 수 없이 while문이나 for문을 써야하는데 여기서 쓰이는 java 코드를 태그화 시키기 위해 만든 것이라고 생각하면 편하다. jstl 다운로드 및 사용 방법 https://mvnrepository.com/artifact/ja..
model1 jsp 파일 맨 위에 jdbc, 데이터베이스 연동, 쿼리문 다 들어감 String name = rs.getString("name"); rs.close(); st.close(); con.close(); 아래에 while (rs.next()) { }이런식으로 쿼리 결과 출력 model2 servlet(이름 ~contorller) class(패키지 : com.ksy.web.controller) jdbc, 데이터베이스 연동, 쿼리문 다 들어감 String name = rs.getString("name"); ... People people = new People( id, name, ... ); request.setAttribute("people", people); rs.close(); st.close..
EL Expression Lanuage의 약자로, 저장 객체에서 값을 추출할 때 간편하게 추출할 수 있도록 하는 언어이다. requsest 저장 객체에 'fruit'라는 이름으로 apple값을 가진 데이터가 저장되었다고 가정하면 원래는 이렇게 썼어야 했는데 EL을 사용하면 ${fruit} 라고 간단하게 쓰면 된다. 리스트 예시 // list 생성과 request 저장 객체에 데이터 저장 List list = new ArrayList(); list.add("a"); list.add("b"); request.setAttribute("my_list", list); // 데이터 추출 // el방식으로 데이터 추출 ${my_list[0]} HashMap예시 // hashmap 생성과 request 저장 객체에 데..
jsp jsp란 html 코드를 servlet class 파일로 변환해주는 스크립트 언어이다. html 코드 안에 java 코드를 삽입하여 동적 웹 페이지를 만들 수 있다. jsp를 사용하는 이유 jsp를 사용하지 않고 servlet class에서 html 코드를 화면에 출력하려면 아래와 같이 반복 작업을 해야한다. 이런 반복작업을 대신해주는 소프트웨어가 바로 jasper이다. jasper은 jsp 파일을 만들면 사용자가 해당 jsp 파일을 요청할 때 알아서 html코드을 위의 이미지 처럼 servelt class로 변환해서 만들어준다. 즉, test.jsp 파일을 url로 요청하면 test_jsp.java 라는 이름으로 새로운 java 파일이 만들어 진다는 뜻이다. 심화 jsp 파일 java 파일로 변..
servlet에서 get과 post 나눠서 처리하는 3가지 방법 service() 함수 오버라이드해서 직접 if else문으로 나눠 처리 service() 함수 오버라이드 안하고 doGet(), doPost() 오버라이드해서 처리 위에꺼 둘다하기 HttpServlet의 service()함수는 기본적으로 get요청이 오면 doGet()함수를, post요청이 오면 doPost()함수를 실행한다. 그래서 doGet(), doPost()가 override되어있지 않으면 오류가 난다. 1번 @WebServlet("/hi") public class TestServlet extends HttpServlet { @Override protected void service(HttpServletRequest request,..
submit버튼 여러개 만들기 이렇게 보내면 servlet class에서 submit의 value값을 받을 수 있다. String button_ = request.getParameter("button"); 입력 데이터 배열로 받기 이렇게 같은 name으로 값을 여러개 보내면 servlet class에서 배열로 받을 수 있다. int sum = 0; String[] val_ = request.getParameterValues("val"); for (int i = 0; i < val_.length; i++) { int number = Integer.parseInt(val_[i]); // 여기서 number 변수는 for문 돌때마다 새로 정의되지 않음 sum += number; } number은 for문 돌때..