이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. Model, View, Controller 컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다. 모델: 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다. 뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다. 참고 컨트롤러에 비즈니스 로직을 둘 수도 있지만, 이렇게 되면 컨트롤러가 너무 많은 역할을 담당한다. 그래서 일반적으로 비즈니..
실행환경 windows 11 pro IntelliJ : 23.3.2 Apache Tomcat : 9.0 JDK : 17.0.9 라이브러리 추가 JSTL이란 JSP Standard Tag Library를 뜻한다. 먼저 JSTL JAR 파일을 받아야 한다. 아래의 링크에서 다운로드를 진행해야 한다. https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 빨간색으로 표시된 부분을 클릭해서 jar 파일을 다운로드 받자. 인텔리제이로 돌아와서 Project Structure를 클릭한다. modules - 해당 프로젝트 선택 후 오른쪽에 보이는 +(Add) 버튼을 클릭한다. 이후 JARs or Dircetories.. 버튼을 눌러서 아까 다운로드 받은 JAR 파일을 ..
개발환경 windows 11 pro jdk : 17.0.9 Apache Tomcat : 9.0 intelliJ : 2023.3.2 프로젝트에서 new 를 할 때 서블릿 추가 버튼이 없는 사람을 위한 글이다. Servlet 생성 새로운 프로젝트를 생성한다. Add Frameworks Support에서 Java EE 에서 아래 부분을 체크하고 apply - ok 를 누른다. Project Structure - Libraries - +버튼 - From Maven을 누른다. 톰캣 9.0 기준 javax.servlet:javax.servlet-api:4.0.1 를 검색한다(오른쪽 검색버튼을 누르고 기다리면 됌) 프로젝트를 선택하고 ok를 누른다. servlet api가 추가된 것을 확인하고 apply - ok 버..
개발 환경 windows 11 pro jdk : 17.0.9 Apache Tomcat : 10.1.17 intelliJ : 2023.3.2 IntelliJ에서 JSP 개발환경 초기 설정 인텔리제이를 실행하고 프로젝트를 만든다. 우측 상단에 돋보기 버튼을 누른다. add framework support 를 검색하고 클릭한다. Java EE - web applition을 체크하고 Create web.xml 도 체크하고 ok를 누른다. 이후 우측 상단의 current file 의 드랍다운 박스를 눌러서 Edit configurations...를 누른다. 아래와 같은 화면이 나오면 왼쪽 상단의 + 버튼을 누른다. 이후 Tomcat Server - Local을 누른다. Application server에서 Con..
위 파일을 프로젝트 bin 폴더에 추가한다. FileUp.jsp 파일 업로드 이름 파일 선택 파일 업로드는 form태그에 을 통해서 하게 된다. 하지만 별다른 처리를 하지 않으면 실제로 넘어오는건 업로드한 파일이름만 넘어오고, 파일자체는 넘어오지 않는다. 먼저 파일업로드를 받기 위해서는 enctype="multipart/form-data" 속성을 추가해줘야 한다. FileUploadProc.jsp 동일한 이름이 있을경우 파일 이름을 자동 변경 MultipartRequest multi = new MultipartRequest(request, realfolder, maxSize, encType, new DefaultFileRenamePolicy()); %> 당신의 이름은 :
JDBC(Java DataBase Connectivity) Java에서 DBMS의 종류와 관계없이 데이터베이스를 조작하기 위한 API(Application Programming Interface)를 의미 JDBC를 간단하게 요약하면 메소드 호출용 SQL 인터페이스라고 표현할 수 있음 JDBC 드라이버 다양한 DBMS 제조사들은 본사에서 개발한 DBMS를 Sun사의 Java 프로그램과연동할 수 있도록 기술을 지원하는 것을 의미 JDBC는 MySQL 설치과정에서 이미 설치하였으므로 따로 설치할 필요는 없지만 JDBC 드라이버가 어느 폴더에 저장되어 있는지에 대해서는 알고 있어야 함 JSP프로젝트 내에 lib폴더에 JDBC 드라이버를 추가해준다. 자세한 JDBC에 대한 내용은 아래의 포스트를 참고 2023.0..
액션 태그 JSP에서 기본으로 제공하는 태그들의 집합으로 서버 또는 클라이언트에게 수행할 명령을 지시 액션 태그를 사용하게 되면 Java 코드를 사용하지 않아도 JSP 웹페이지를 개발할 수 있음 액션 태그는 XML 형식인 를 사용하며 끝나는 태그는 반드시 />로 마무리해야 함 액션 태그는 JSP 웹페이지를 코딩할 때 Java 코드의 작성을 피하거나 최소화하기 위해 사용 JSP 웹페이지에서 Java 코드를 최소화하게 되면 소스 코드에 대한 유지/보수를 효율적으로 수행 가능 param 현재 위치한 JSP 웹페이지에서 다른 웹페이지로 정보를 전달할 때 사용하는 태그 param 액션 태그는 단독으로 사용할 수 없으므로 태그나 태그의 내부에 선언하여 사용 param 액션 태그는 여러 개의 파라미터를 선언하여 다른..
세션 네트워크 환경에서 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하기 위한 방법을 의미 세션은 서버 공간에 생성되므로 보안 유지에 유리하지만 데이터를 저장하기 위한 한계성에 대한 문제는 존재함 세션은 클라이언트의 요청에 따라 접속된 웹 서버와 가상으로 연결된 상태를 유지하도록 해 줌 세션에 의한 클라이언트 구분 세션은 웹 서버 공간에 생성되는 객체로 웹 브라우저마다 하나씩 존재 웹 서버와의 접속을 통해 생성된 세션은 네트워크 환경에서 여러 사용자 중 특정인에 대한 구분자의 역할을 수행 세션을 통해 접속된 웹 브라우저를 닫기 전까지는 웹페이지를 이동하더라도 사용자에 대한 정보가 웹 서버에 객체 상태로 저장되어 있으므로 사용자 정보를 지속적으로 활용할 수 있게 됨 세션과 쿠키 웹 브라우저에서 서버로 ..