[Spring] 03. VIEW 파일 추가.

개발공부/Spring 2019. 8. 18. 16:20

pom.xml 파일을 열어서 dependency를 추가.

		<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
		<dependency>
		    <groupId>javax.servlet</groupId>
		    <artifactId>jstl</artifactId>
		    <version>1.2</version><!--$NO-MVN-MAN-VER$-->
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
		<dependency>
		    <groupId>org.apache.tomcat.embed</groupId>
		    <artifactId>tomcat-embed-jasper</artifactId>
		    <version>9.0.24</version><!--$NO-MVN-MAN-VER$-->
		</dependency>

google에 maven repository 검색 -> 사이트 내에서 검색하면 나옴.

 

프로젝트에서

main/resources/application.properties 파일 오픈.

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

추가.

 

webapp폴더 하위에 spring.mvc.view.prefix에 설정한 구조와 같도록 디렉터리 생성.

컨트롤러 파일 오픈후, 아래 내용 입력.

	@RequestMapping("/page")
	public ModelAndView page() {
		ModelAndView mv = new ModelAndView("tester");
		mv.addObject("text", "tester2");
		return mv;
	}

 

위에 spring.mvc.view.prefix 에서 설정한 디렉터리에 ModelAndView 에서 설정한 파일명으로 파일 추가.

ex) /WEB-INF/jsp/tester.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
${text }
</body>
</html>

파일내용 입력.

mv.addObject("키", "데이터");

 

tester.jsp 에서 ${키} 하면 컨트롤러에서 셋팅된 데이터가 나옴.

 

 

 

 

:

[Spring] 02. 컨트롤러 추가

개발공부/Spring 2019. 8. 16. 10:39

새로운 컨트롤러 추가.

 

새로운 패키지 생성.

 

새로만든 패키지에 새로운 클래스 생성.

 

새로만든 클래스를 @Controller 어노테이션을 붙여서 컨트롤러로 등록.

클래스 안에 @RequestMapping("/hello") 를 추가하여 /hello로 접근시 아래 매소드가 실행되도록 적용.

 

http://localhost:8080/hello 접속.

화면이 나오지 않음... 왜그럴까.. 한참고민.

구글링 결과, 컴포넌트 스캔이 필요하다는것을 알게됨.

이전 글에서 DB관련 문제때문에 서버가 뜨지 않았을때, 어노테이션으로 처리하던 파일에 들어감. (*Application.java)

거기에 @ComponentScan("com.example")를 추가 후 저장.

다시 http://localhost:8080/hello 접속.

Hello Spring Boot World! 가 나오는것을 확인.

 

나는 프로젝트 생성시 시큐리티도 추가해서 시큐리티 관련 설정을 더 추가함...

관련 설정을 해주지 않을경우, /hello 접근시 시큐리티가 'ㅇㅇ 안돼 돌아가' 시전..

그래서 구글링해서 해당 설정을 추가 후 화면을 볼수있었음.

 

 

:

[Spring] 01. 프로젝트 생성

개발공부/Spring 2019. 8. 14. 00:13

완전 공부용으로 새로 시작!

 

이클립스 Project Explorer 우클릭 -> New -> Project... 선택

 

Spring Boot 폴더안에 Spring Starter Project 선택

 

기본적으로 입력이 되어있음.

입맛에 맞게 수정. Packaging만 War로 수정하였음.

 

Frequently Used는 최근에 선택했던 친구들.

원하는 기능들을 체크한 뒤에 Finish 클릭.

 

프로젝트 우클릭 -> Run As -> Spring Boot App 클릭 하면 프로젝트가 실행됨.

 

실행시 콘솔에 위와같은 내용이 나오고 서버가 제대로 뜨지 않을경우, DB관련 설정이 없어서 생기는 현상.

방법은 2가지 있음.

 

  1. 어노테이션을 추가하는 방법.
    1. 생성된 패키지 안에 *Application.java 파일을 연다. (스프링부트 메인 클래스)
    2. 해당 클래스 안에 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 을 추가한다.
  2. DB정보를 추가하는 방법.
    1. src -> main -> resources -> application.properties 파일 오픈.
    2. 아래 정보 본인의 DB에 맞게 수정하여 입력.
      spring.datasource.url=jdbc:mysql://localhost/databasename 
      spring.datasource.username=root
      spring.datasource.password=root
      spring.datasource.driver-class-name=com.mysql.jdbc.Driver


서버실행.

 

콘솔에 정보가 출력되면서 서버 올라감.

 

페이지 확인결과 서버 제대로 올라감. (스프링 시큐리티 추가해서 기본 로그인 페이지가 뜸.)

: