본문 바로가기
Back-End/Spring Boot

Spring Boot - jsp

by 코젼 2022. 7. 20.
728x90
반응형

2022-07-20(23일차)


💡서버

▪️ 렌더링 (Rendering) : 화면에 표시할 웹 페이지를 만드는 과정이다.

💁‍♀️서버가 하는 일

▪️ java 해석
▪️ 하향식으로 처음부터 끝까지 렌더링 ( <html>, <head>, <body> 순 )

▪️ 정의 후 스크립트는 맨 마지막에 짤 것
▪️ 작동 전에 body태그가 로드가 끝나고 나서 함수를 작동하라고 액션을 걸어준다.

💁‍♀️jsp

▪️ jsp는 html에 java 문법을 더한 정보를 가지고 있다.
▪️ jsp 페이지가 있으면, jsp에서는 java가 렌더링 되고 나서 실행된다.
▪️ 완전한 html을 만든다.
 --> 렌더링 한다.
▪️
.jsp 파일에는 html(최종 정보), js, java가 존재한다.
▪️ jsp는 사용자한테 열릴 일이 없다.

💡STS encoding 설정

▪️ 인코딩 설정

windows - Preferences - encoding 검색해서 Text file encoding 형식을 UTF-8로 변경한다.


Eclpse Enterprise Java and Web Developer Tools 설치 후 나온다.

자바에서 인식 못하는 EUC-KR를 UTF-8로 수정한다.
json 파일도 UTF-8로 수정한다.


💡Spring Boot Maven - JSP 사용가능 환경 구축

https://otch80.tistory.com/18

 

Spring Boot Maven - JSP 사용가능 환경 구축

Spring Boot는 기본적으로 JSP를 지원하지 않는다고 한다 우리가 해야 할 작업은 5가지이다. pom.xml 파일에 dependency 추가 JSP 보관할 폴더 만들기 application.properties에 설정 추가 URL 처리 코드 작성 JSP..

otch80.tistory.com

  1. pom.xml 파일에 dependency 추가
  2. JSP 보관할 폴더 만들기
  3. application.properties에 설정 추가
  4. URL 처리 코드 작성
  5. JSP 생성

1, 2, 3번은 반드시 필요한 작업이다.


1. pom.xml 파일에 dependency 추가

📃<dependency>

	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>

	<dependency>
		<groupId>org.apache.tomcat.embed</groupId>
		<artifactId>tomcat-embed-jasper</artifactId>
		<scope>provided</scope>
</dependency>

pom.xml 파일에 dependency 추가

주의사항 : </dependencies> 태그 안에 <dependency>를 추가한다.

▪️ jstl은 Jsp Standard Tag Library의 약자로 JSP를 동작시키기 위해 필요한 라이브러리

라이브러리가 들어온 것을 확인할 수 있다.


밑에가 was(웹 애플리케이션 서버)의 루트 디렉터리


2. JSP 보관할 폴더 만들기

▪️ src - main - webapp - 우클릭 - New - Folder

▪️ wepapp은 tomcat에서 알아듣는 루트 디렉터리

폴더 생성하는 방법

src - main - webapp 폴더 안에 WEB-INF 폴더 생성

WEB-INF 폴더 안에 views 폴더 생성

views 폴더 안에 base, item, Login, Member 폴더 생성


2-1. package 만들기 (선택)

️ src/main/java - com.example.base - 우클릭 - New - Package

️ 패키지를 나눈 이유는 소스가 많아졌을 때 구분하기 위해서이다

️ com.example.base 안에 .item, .login, .member, .web 패키지를 만든다.

️ com.example.base.web 안에 .contorller, .dao, .service, .vo 패키지를 만든다.

️ com.example.base.web.comtroller에 BaseWebController.java 클래스를 생성한다.

 


◾controller

▪ 사용자에게 요청받는다.
▪  java파일을 넣는다.
▪  @Controller, @RequestMapping..등등 어노테이션을 포함한다.

◾service

▪  업무 로직이 들어간다.
▪  복잡한 연산을 수행한다.

◾vo

▪ 데이터를 전송하는데 담는 그릇이다.
▪ getter, setter를 정의한다.
 --> lombok을 사용해서 만들 수도 있고, Source를 통해서도 만들 수 있다.
▪  insert, select 등의 구문이 들어있다.

▪ dto(data transfer object)는 vo(value object) 와 유사하다.

◾dao

▪  db에 연결하여 데이터를 넣는다.
Contorller라는 java를 만들고 이 데이터들을 Service로 넘긴다.

Service에서는 업무 로직들이 있고 각종 vo를 셋팅할 수 있다.

db안에는 컬럼들이 있는데 사용자들한테 받은 정보들도 있다.
사용자가 입력한 것만 vo에 해당되는 것은 아니다.

vo 중 필요한 정보만 dao로 넘겨서 db작업을 진행한다.
최종 작업이 끝나면 jsp로 옮겨받고 html로 넘긴다.

3. application.properties에 설정 추가

▪️ src/main/resources - application.properties 

▪️ /WEB-INF/views/ 밑에 있는 폴더의 모든 확장자는 .jsp로 사용할 것이다.
▪️  application.properties에서 jsp설정으로 sprint.mvc.view.suffix = .jsp로 적어놨기 때문에 return 값을 .jsp 로 받는다.
# JSP 설정, 폴더 위치와 확장자명을 추가합니다.
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

jsp 세팅


💡abstract

▪️  abstract클래스는 대표 특징을 뽑아 정의하고 나머지 구체적인 정보들은 추후에 정의한다.
▪️ 상속받으면 반드시 overriding시켜야 한다.
 --> 하나씩 다 추상화를 붙이기 복잡해져서 interface가 생겼다.


💡페이지를 찾는 법

▪️  Ctrl + H
▪️  어느 jsp에 들어있는지, html에 들어있는지 확인한다.


💡Eclpse Enterprise Java and Web Developer Tools

▪️  Help - Eclipse Marketplace - Eclipse Enterprise Java and Web install


 

 

728x90
반응형

'Back-End > Spring Boot' 카테고리의 다른 글

Spring Boot - JPA  (0) 2022.07.21
Spring Boot - 어노테이션 종류  (0) 2022.07.20
Spring Boot - jsp 파일 생성, web 확인  (0) 2022.07.20
Spring boot - 시작하기  (0) 2022.07.19
Spring Boot - 환경 변수 설정 및 파일 설치  (0) 2022.07.19

댓글