Spring STS 설정 하기#1
저번 포스팅에 STS를 설치하고 간단하게 프로젝트만 만들고 제대로 출력되는것만 보았다.
이제 세부적인 세팅을 해볼 것인데 하나씩 따라해보자!
1.pom.xml 설정하기
여기서 자신의 자바 버전과 springframework 버전을 맞춰준다. 스프링 프레임워크는 적당하게 저정도 맞추면 되고 자바 버전만 주의하면 될것 같다. 가끔 정부관련 프로젝트할 땐 3.x.x버전을 유지하는게 좋다. 아직 정부에서의 스프링이 업데이트가 안되었기 때문이다.
이렇게 properties로 버전관리를 해주면 그 뒤부터는 이 파일을 그대로 불러와서 사용하기에 상당히 중요하다.
아래의 예시처럼 말이다.
2.Maven 설정하기
위 링크로 접속해 필요한 jar 파일을 찾아서 여기다 적으면 된다.
아래쪽에 버전들이 여러 개 나올텐데 버전 때문에 에러가 나는 경우가 많으니 그때마다 버전을 낮추거나 올려서 받으면 된다.
여기창에서 Maven코드를 클릭만해도 복사가 되니까 복사해서 pom.xml 파일에 붙여넣기 하면된다.
필자같은 경우엔 35번째 줄부터 적용하였다. 필요한 부분을 적고 저장하면 메이븐이 자동으로 라이브러리 파일을 가져온다. 하지만 인터넷 상황이 좋지 않을 때 파일을 전부 가져오지못해 종종 문제를 일으키니까 그럴땐 파일을 싹 삭제한다. 그러면 메이븐이 다시 자동으로 파일을 가져오기 때문에 다시 될 확률이 있다.
또한 ojdbc6 같은 경우 파일 다운이 잘 안되서 lib폴더에 직접 넣었는데 그렇게 하는것도 하나의 방법이다.
3. web.xml 설정하기
web.xml은 전에 사용하던 서블릿의 web.xml과 똑같아서 비슷한 설정도 같이 들어간다.
그냥 진행하면 2.5 버전이라 아래의 코드를 복사 후 덮어주면 된다.
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
웰컴 파일 등록하기
처음에 기본으로 등록된 home.jsp로 연결되기 때문에 따로 웰컴 파일을 만들어줬다.
필터 적용하기
서블릿에서 어노테이션 방식과 xml방식으로 나눴던 필터 적용방식이 스프링에선 xml방식으로 통일된다. 하지만 따로 객체는 만들어 주지 않고 위처럼만 설정하여 모든 서블릿 요청에 대하여 utf-8 셋팅을 거치고 오게 된다.
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
마지막으로 적용한 것들 확인하기
확인할 프로젝트 우클릭 후 properties를 클릭
빨간 네모로 들어가서 버전이 우리가 바꾼 자바 1.8과 다이나믹 웹 모듈이 3.1이상인지 확인하고 아니라면 바꿔줘야함.
자신의 자바 버전은 위의 사진으로 확인 가능하다.
마지막으로 자바 컴파일러 버전까지 확인을 맞추면 끝~
실습할 jsp와 파일들 설정하기
각각의 jsp 파일들
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | <!-- header.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="${pageContext.request.contextPath }/resources/js/jquery-3.2.1.min.js"></script> <!-- 부트스트랩관련 라이브러리 --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous"> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script> <!-- 사용자작성 css --> <link rel="stylesheet" href="${pageContext.request.contextPath }/resources/css/style.css" /> <meta charset="UTF-8"> <title>${param.pageTitle }</title> </head> <body> <div id="container"> <header> <div id="header-container"> <h2>${param.pageTitle}</h2> </div> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#"> <img src="${pageContext.request.contextPath }/resources/images/logo-spring.png" alt="스프링로고" width="50px" /> </a> <!-- 반응형으로 width 줄어들경우, collapse버튼관련 --> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"><a class="nav-link" href="${pageContext.request.contextPath}">Home</a></li> <li class="nav-item"><a class="nav-link" href="${pageContext.request.contextPath}/board/boardList">게시판</a></li> <li class="nav-item"><a class="nav-link" href="${pageContext.request.contextPath}/demo/demo.do">Demo</a></li> </ul> </div> </nav> </header> <section id="content"> <!-- index.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <jsp:include page="/WEB-INF/views/common/header.jsp"> <jsp:param value="HelloSpring" name="pageTitle"/> </jsp:include> <img src="${pageContext.request.contextPath }/resources/images/logo-spring.png" id="center-image" alt="스프링로고"/> <jsp:include page="/WEB-INF/views/common/footer.jsp"></jsp:include> <!-- footer.jsp--> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <jsp:include page="/WEB-INF/views/common/header.jsp"> <jsp:param value="HelloSpring" name="pageTitle"/> </jsp:include> <img src="${pageContext.request.contextPath }/resources/images/logo-spring.png" id="center-image" alt="스프링로고"/> <jsp:include page="/WEB-INF/views/common/footer.jsp"></jsp:include> | cs |
resource파일들
적용된 화면
부트 스트랩으로 적용된 화면을 볼 수 있다.