Java Category/JSP12 JSP와 서블릿을 이용한 MVC 프레임워크 만들기 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. Model, View, Controller 컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다. 모델: 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다. 뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다. 참고 컨트롤러에 비즈니스 로직을 둘 수도 있지만, 이렇게 되면 컨트롤러가 너무 많은 역할을 담당한다. 그래서 일반적으로 비즈니.. Java Category/JSP 2024. 2. 17. [JSP] JSTL(JSP Standard Tag Library) 실행환경 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 파일을 .. Java Category/JSP 2024. 1. 10. [JSP] IntelliJ에서 Servlet 생성 개발환경 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 버.. Java Category/JSP 2024. 1. 9. [JSP] IntelliJ 에서 JSP 개발환경 만들기 개발 환경 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.. Java Category/JSP 2024. 1. 8. [JSP] 파일 업로드 위 파일을 프로젝트 bin 폴더에 추가한다. FileUp.jsp 파일 업로드 이름 파일 선택 파일 업로드는 form태그에 을 통해서 하게 된다. 하지만 별다른 처리를 하지 않으면 실제로 넘어오는건 업로드한 파일이름만 넘어오고, 파일자체는 넘어오지 않는다. 먼저 파일업로드를 받기 위해서는 enctype="multipart/form-data" 속성을 추가해줘야 한다. FileUploadProc.jsp 동일한 이름이 있을경우 파일 이름을 자동 변경 MultipartRequest multi = new MultipartRequest(request, realfolder, maxSize, encType, new DefaultFileRenamePolicy()); %> 당신의 이름은 : Java Category/JSP 2023. 12. 25. [JSP] JSP와 데이터베이스 연동 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.. Java Category/JSP 2023. 11. 27. [JSP] 액션 태그(Action tag) 액션 태그 JSP에서 기본으로 제공하는 태그들의 집합으로 서버 또는 클라이언트에게 수행할 명령을 지시 액션 태그를 사용하게 되면 Java 코드를 사용하지 않아도 JSP 웹페이지를 개발할 수 있음 액션 태그는 XML 형식인 를 사용하며 끝나는 태그는 반드시 />로 마무리해야 함 액션 태그는 JSP 웹페이지를 코딩할 때 Java 코드의 작성을 피하거나 최소화하기 위해 사용 JSP 웹페이지에서 Java 코드를 최소화하게 되면 소스 코드에 대한 유지/보수를 효율적으로 수행 가능 param 현재 위치한 JSP 웹페이지에서 다른 웹페이지로 정보를 전달할 때 사용하는 태그 param 액션 태그는 단독으로 사용할 수 없으므로 태그나 태그의 내부에 선언하여 사용 param 액션 태그는 여러 개의 파라미터를 선언하여 다른.. Java Category/JSP 2023. 11. 27. [JSP] 세션(Session) 세션 네트워크 환경에서 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하기 위한 방법을 의미 세션은 서버 공간에 생성되므로 보안 유지에 유리하지만 데이터를 저장하기 위한 한계성에 대한 문제는 존재함 세션은 클라이언트의 요청에 따라 접속된 웹 서버와 가상으로 연결된 상태를 유지하도록 해 줌 세션에 의한 클라이언트 구분 세션은 웹 서버 공간에 생성되는 객체로 웹 브라우저마다 하나씩 존재 웹 서버와의 접속을 통해 생성된 세션은 네트워크 환경에서 여러 사용자 중 특정인에 대한 구분자의 역할을 수행 세션을 통해 접속된 웹 브라우저를 닫기 전까지는 웹페이지를 이동하더라도 사용자에 대한 정보가 웹 서버에 객체 상태로 저장되어 있으므로 사용자 정보를 지속적으로 활용할 수 있게 됨 세션과 쿠키 웹 브라우저에서 서버로 .. Java Category/JSP 2023. 11. 25. [JSP] 쿠키(Cookie) 쿠키 쿠키는 사이트에 접속할 때 생성되는 정보를 담은 4KB 이하 크기의 임시 파일을 의미 네트워크 환경에서 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하기 위해 사용 세션과 다른 점은 로그인 상태 정보를 사용자 컴퓨터인 클라이언트에 저장된다는 부분(세션은 웹 서버에 저장) 쿠키는 불순한 의도로 복사되거나 해킹 등에 의해 개인 정보가 탈취될 수 있다는 보안상 취약한 단점 존재 쿠키에 의한 웹 브라우저 구분 쿠키는 클라이언트의 정보를 웹 브라우저에 저장하기 때문에 이후 웹 서버로 서비스를 요청할 경우 쿠키를 읽어 새로운 웹 브라우저인지 아니면 이전에 요청했던 웹 브라우저인지를 구별함 쿠키가 생성되면 웹 브라우저는 쿠키가 삭제되기 전까지 쿠키의 요청이 있을 때마다 웹 서버에게 쿠키를 제공 쿠키와 세션 .. Java Category/JSP 2023. 11. 24. [JSP] 내장 객체 내장 객체란 JSP 페이지에서 사용할 수 있도록 JSP 컨테이너에 미리 정의된 객체 JSP 페이지가 서블릿 프로그램으로 번역될 때 JSP 컨테이너가 자동으로 내장 객체를 멤버 변수, 메소드 매개변수 등의 각종 참조 변수(객체)로 포함 JSP 페이지에 별도의 import문 없이 자유롭게 사용 가능 스크립틀릿 태그나 표현문 태그에 선언을 하거나 객체를 생성하지 않고도 직접 호출하여 사용 가능 내장 객체의 종류 내장 객체의 속성관리 JSP는 HTTP 프로토콜의 사용하는 웹 환경에서 구동되는 프로그램 HTTP는 비연결형으로 사용자가 서버에 특정 페이지를 요청하고 요청결과를 응답받으면 서버와의 연결이 끊기는 형태 예를 들어 게시판에 글을 작성하는 페이지에서 작성한 내용은 다른 jsp에서 처리해야 하고 서버는 방금.. Java Category/JSP 2023. 11. 24. [JSP] 스크립트 태그(Script Tag) 스크립트 태그 종류 스크립트 태그는 JSP 웹 페이지를 어떻게 처리할 것인지에 대한 페이지의 정보를 설정하여 웹 컨테이너인 아파치 톰캣에게 보낼 때 선언한다. 스크립트 태그의 종류는 아래와 같다. 디렉티브(지시문) 태그의 종류 디렉티브란 JSP 웹페이지에 대한 파일의 속성을 기술하는 지시문으로 JSP 컨테이너에 해당 웹페이지를 어떻게 처리해야 할 것인지를 전달하는 명령문을 의미한다. 디렉티브의 선언 위치는 일반적으로 JSP 웹페이지의 가장 상단에 선언한다. include 디렉티브 태그의 사용법 디렉티브 태그의 속성 종류 Java Category/JSP 2023. 11. 24. [JSP] JSP를 배우기전 알아야 할 개념 (MVC, 빈, 서블릿, 기본 처리 과정) 용어 정리 View, Model, Controller 용어 내용 View 사용자에게 보여줄 UI 또는 사용자가 보게될 화면 Model 백그라운드에서 동작하는 로직 처리(알고리즘, DB와 상호작용, 데이터 처리 등) Controller 사용자의 입력처리와 흐름 제어(사용자 요청화면 처리, 화면 로직처리 부분) 위 세 가지의 용어를 줄어서 MVC라고 한다. 프레젠테이션 로직, 비즈니스 로직 프레젠테이션 로직 : 사용자 인터페이스와 관련된 작업을 처리하는 부분을 의미 프레젠테이션 로직은 사용자가 애플리케이션과 상호 작용할 때 발생하는 이벤트를 처리하고, 화면에 데이터를 표시하고, 사용자 입력을 유효성 검사하며, 사용자에게 응답을 제공하는 역할을 한다. 비즈니스 로직 : 실제로 수행되는 작업이나 연산을 정의하는.. Java Category/JSP 2023. 10. 15. 이전 1 다음