봄 #1

Java 언어를 기반으로 하는 오픈 소스 프레임워크입니다. Spring은 Java 엔터프라이즈 개발에 필요한 기능을 제공하며 IoC 컨테이너(Inversion of Control) 및 AOP(Aspect Oriented Programming)와 같은 기능을 포함합니다. Spring을 사용하면 Java 언어로 웹 애플리케이션 개발의 여러 측면을 자동화할 수 있습니다.

Spring은 각각 다음 기능을 제공하는 다양한 모듈로 구성됩니다.

  1. Spring Container: 객체의 생명주기를 관리하는 IoC 컨테이너를 제공합니다.
  2. Spring MVC: 웹 애플리케이션 개발을 위한 MVC 패턴을 구현하는 기능을 제공합니다.
  3. Spring Data: 데이터베이스 통합을 단순화하는 기능을 제공합니다.
  4. Spring Security: 인증 및 권한 관리를 위한 보안 기능을 제공합니다.
  5. Spring Boot: Spring 애플리케이션을 빠르고 쉽게 개발할 수 있는 기능을 제공합니다.

봄의 주요 특징은 다음과 같습니다.

  1. Lightweight: Spring은 경량 프레임워크로서 불필요한 기능과 라이브러리를 배제하여 빠르고 가벼운 애플리케이션을 구현할 수 있습니다.
  2. 모듈성: Spring은 서로 다른 모듈로 구성되어 있어 필요한 기능만 사용할 수 있습니다.
  3. 유연성: Spring은 객체 지향 개발을 지원하며 다양한 라이브러리와 함께 사용할 수 있습니다.
  4. 테스트 지원: Spring은 자동화된 테스트 환경을 제공하여 개발 및 테스트를 용이하게 할 수 있습니다.

따라서 Spring은 Java 언어로 웹 애플리케이션을 개발하기 위한 필수 기술 중 하나이며 많은 개발자들이 사용하고 있습니다.

스프링 설치 방법

※ 자바가 설치되어 있어야 합니다.

  • 스프링을 설치하는 두 가지 방법
    일식 또는 STS
  • 어둠
    STS 플러그인 추가 설치 후 사용
  • STS
    Eclipse에서 별도로 다운로드하여 압축을 풉니다.

설치 진행

Eclipse IDE 정보(버전 확인)


Eclipse를 다시 시작한 후 관리자 권한으로 설치를 계속하십시오.
현재 버전 확인(4.8)


도움말 – 새 소프트웨어 설치…


Add… – Add Repository 작성 후 아래 스크린샷과 같이 Add

이름은 본인이 직접 작성
복사하여 제자리에 붙여넣기

http://download.springsource.com/release/TOOLS/update/e4.8


모두 선택 – 다음 >


설치를 계속하려면 다음을 클릭하십시오.


동의 및 완료


그 아래에는 소프트웨어 설치 중임을 알립니다.


그래도 설치를 클릭하십시오.


모두 선택 후


재부팅하는 동안 설치를 완료하려면 지금 재부팅을 클릭하십시오.


설치 완료



Spring 샘플 파일 추가

파일 – 파일 시스템에서 프로젝트 열기…를 클릭합니다.


디렉터리…를 클릭합니다.


Spring 샘플 파일 추가


파일이 추가된 것을 확인할 수 있습니다.



스프링 샘플 폴더 설명


main : 구현하는 곳

  • 테스트: 테스트할 위치(필요하지 않음)\
  • views : 사용자에게 보여지는 부분 (.jsp 파일 저장)

자원

  • META-INF : 다음과 같은 Java 응용 프로그램에서 사용되는 압축 파일에 대한 메타 데이터를 포함하는 특수 폴더입니다. B. JAR(Java Archive) 파일, WAR(Java Web Archive) 파일 및 EAR(Java Enterprise Archive) 파일.


src/main/java/org/hj/controller : 컨트롤러가 있는 위치 컨트롤러가 진입점인 위치

src/main/java/org/hj/model : 모델의 위치

MVC 패턴을 이용한 작업 공유를 위해 위와 같이 폴더를 구성하여 사용합니다.

스프링 레거시 프로젝트

스프링 프로젝트 생성
File-New-Spring 레거시 프로젝트


프로젝트명 작성(팀으로 작업 시 프로젝트명은 일관성이 있어야 함),
현재 projectEx의 예를 살펴보고 있습니다.


패키지 이름 만들기
예) org.hj.controller


생성되면 아래와 같이 생성됩니다.


기본적으로 HomeController.java가 생성되며,


필요한 경우 더 많은 패키지를 생성하는 것도 가능합니다.


봄을 달리다

컨트롤러(진입점)에서 실행해야 합니다.

프로젝트를 선택하고 Run As – Run on Server를 마우스 오른쪽 버튼으로 클릭합니다.


다음


아래와 같은 화면이 나타납니다.


ADD를 누르거나 더블 클릭하여 실행할 워크스페이스를 오른쪽으로 이동합니다.

실행 시 아래와 같은 오류가 발생하는 경우


src/main/webapp/WEB-INF/spring/root-context.xml 파일 실행


URL 경로, 사용자 이름 및 비밀번호 확인


그렇다면 편집하고 저장하십시오.

오류가 지속되는 경우
C:\사용자\GR.m2\저장소
경로에 있는 모든 파일을 삭제하고 Eclipse를 다시 시작하면 자동으로 파일을 다시 가져옵니다.


jstl을 작업 공간에 붙여넣고 maven 업데이트를 실행합니다.


마지막으로 청소를 클릭하십시오.



http://localhost:8080/서버 이름(도메인)
더블 클릭


편집을 클릭하여 경로를 편집할 수 있습니다.



/를 입력하여 localhost:8080으로 변경할 수 있으며 localhost:8080으로 편집할 수 있습니다.



servlet-context.xml // 서버 역할을 하는 파일
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

	<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
	
	<!-- Enables the Spring MVC @Controller programming model -->
	<annotation-driven />

	<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
	<resources mapping="/resources/**" location="/resources/" />

	<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
	<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="prefix" value="/WEB-INF/views/" />
		<beans:property name="suffix" value=".jsp" />
	</beans:bean>
	
	<context:component-scan base-package="org.hj.controller" />
	
	<beans:bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
	</beans:bean>

</beans:beans>

컨트롤러와 jsp의 관계

컨트롤러는 Spring MVC의 요청을 수락하고, 처리를 위해 서비스 및 DAO를 호출하고, 결과를 Model에 주입하고 View에 전달합니다. View는 보통 JSP 페이지로 구성되며 컨트롤러에서 제공하는 모델 객체의 데이터를 화면에 표시합니다.

따라서 컨트롤러와 JSP는 밀접한 관련이 있습니다. 컨트롤러는 사용자가 요청한 URI를 구문 분석하고 비즈니스 로직을 실행하여 요청을 처리한 다음 결과를 모델에 삽입하고 JSP에 제출합니다. JSP는 Model 객체의 데이터를 화면에 출력하고 그 결과를 사용자에게 제공합니다.

이와 관련하여 JSP는 HTML과 Java 코드를 혼합할 수 있는 동적 페이지로 작성됩니다. HTML과 같은 정적 페이지와 달리 JSP는 Java 코드를 사용하여 데이터를 동적으로 생성하고 표시할 수 있습니다. JSP는 일반적으로 View를 담당하지만 Controller 및 Model 개체와 함께 작업하여 전체 Spring MVC 애플리케이션에서 중요한 역할을 합니다.

즉, Controller와 JSP는 Spring MVC에서 함께 작동하여 사용자 요청을 처리하고 화면에 데이터를 표시하는 중요한 역할을 합니다. 이를 통해 사용자는 보다 직관적이고 편리한 애플리케이션 사용 환경을 제공할 수 있습니다.


Spring MVC의 URL 규칙

Spring MVC에서 URL 규칙은 일반적으로 다음과 같습니다.

요청 URL이 들어오면 DispatcherServlet이 요청을 처리합니다.

DispatcherServlet은 적절한 컨트롤러를 찾기 위해 HandlerMapping을 사용합니다.

컨트롤러는 요청을 처리하고 결과를 모델 개체에 넣고 뷰 이름을 반환합니다.

DispatcherServlet은 ViewResolver를 사용하여 보기를 찾습니다.

뷰는 모델 개체를 사용하여 요청 결과를 생성하고 클라이언트에 보냅니다.

URL 규칙은 다음과 같이 정의할 수 있습니다.

요청 URL은 일반적으로 다음 형식으로 구성됩니다.

http://<hostname>:<port>/<context>/<servlet>/<path>

컨텍스트는 애플리케이션 이름이며 web.xml 파일에서 설정할 수 있습니다.

servlet은 DispatcherServlet의 이름이며 web.xml 파일에서 설정할 수 있습니다.

path는 컨트롤러가 처리할 요청 경로입니다. 예를 들어 /board/list는 요청을 처리하기 위해 BoardController의 list() 메서드를 호출합니다.

컨트롤러가 반환하는 뷰 이름은 일반적으로 다음과 같은 형식입니다.

<prefix><viewName><suffix>

접두사는 ViewResolver에서 사용하는 접두사입니다. 일반적으로 “/WEB-INF/views/”가 사용됩니다.

viewName은 컨트롤러에서 반환된 보기 이름입니다.

접미사는 ViewResolver에서 사용하는 접미사입니다. 일반적으로 “.jsp”가 사용됩니다.

예를 들어 요청 URL “/board/list”가 들어오면 DispatcherServlet은 BoardController의 list() 메서드를 호출하여 요청을 처리합니다. list() 메서드는 모델 객체에 게시물 목록을 저장하고 보기 이름 “board/list”를 반환합니다. DispatcherServlet은 ViewResolver를 사용하여 “/WEB-INF/views/board/list.jsp”를 찾고 요청 결과를 생성하는 데 사용합니다.

(예)

실제 실행 파일에는 빨간색 밑줄이 그어져 있습니다.





pom.xml에 작성된 코드를 임의로 작성하지 마시고, 아래 링크에서 필요한 코드를 가져와서 복사하여 사용하시면 됩니다.


https://mvnrepository.com/ 부착

mysql에서 필요한 것이 있으면 mysql을 검색하십시오.


해당 버전을 클릭한 후 아래 Maven 코드를 복사하여 붙여넣습니다.