일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오산대맛집
- 객체지향프로그래밍
- SQL 연산자
- 스프링
- spring
- SQL 명령어
- numpy
- java spring
- java설치
- 환경설정
- Flexbox Froggy
- 관계형데이터베이스
- ubuntu
- HTML5
- 리액트
- 노마드코더
- 이클립스
- node.js
- REACT
- SQL
- 람다식
- Eclipse
- 자바 스프링
- SQL 문제
- Flex Box 기본
- 플랙스박스기본
- 타입
- spring 환경설정
- 자바스프링
- Hooks
- Today
- Total
이것저것
[Spring] Spring 환경설정(약식) 본문
우리가 쓰는 책은 스프링5 프로그래밍 입문이다.
스프링 레시피라는 책이있다.
토비의 스프링
- 스프링 버전 2.0, 3.0일때 나온 책 번역서이다. 1200페이지짜리 상, 하권으로 나눠져 있다. 지금은 맞지 않음
- 예전에는 토비의 스프링도 안 봤냐고 그랬다
스프링은 예전에는 환경설정에서 엄청 피곤한 일이었다.
스프링 5로 업그레이드된지는 얼마 안됐다.
큰 주제로는 DI, AOP, IOC 가 있다.
스프링의 책의 절반은 DI, AOP, IOC를 설명하며 환경설정을 진행하기 때문에 시간이 오래걸린다.
그러한 과정은 반드시 필요한 것이기때문에 알아야하는 것이 맞다.
하지만 이번에는 환경설정을 빠르게 진행하기 위해서 약식으로 진행하였다.
면접 질문
- 스프링이 뭐냐 : 백엔드 프로그램이다.
- 스프링을 사용하는 이유 : 스프링이 지원하는 웹 MVC 프레임워크 때문이다. (스프링의 나머지는 다른 분야에서 쓰는 것)
- 스프링을 왜 하냐 : MVC 패턴을 구축시킨 프레임워크로 프로젝트를 진행하기 위해서
바로 환경설정에 들어간다.
Step 1.
처음에 이클립스로 환경설정을 해주겠다.
이클립스에 tomcat이 깔려있어야 한다. (Server가 연결되어있어야 한다.)
1-1.
File -> New -> Other에 들어가 준다.
1-2.
검색창에 ma라 쳐주면 Maven Project를 선택하고 Next를 눌러준다.
1-3.
Next로 넘어가 준다.
1-4.
Catalog에서 Internal을 선택해주고
스크롤을 내려보면 Artifact Id에 webapp으로 되어있는 것이 있다. 1.0 Version을 선택해주었다.
1-5.
Group Id와 Artifact Id 가 무엇인지 알기 위해서 아래 사이트를 들어간다.
아래 사이트는 Spring의 거대한 Repository이다.
여기서 Group Id와 Aritfact Id를 찾으러 가본다.
아래는 원시적으로 들어가는 방법이지만 가끔 사용할 것이다.
https://repo.maven.apache.org/maven2/
maven2/org/springframework/spring-context/ 로 들어가 준다.
여기서 springframework를 Group Id라고 하고
spring-context를 Artifact Id라고 한다.
예를 들자면 Group Id는 연산이고 Artifact Id는 더하기, 빼기, 나누기 같은 것이다.
Group Id는 Repository에서 목록을 찾은 다음에 Artifact Id에서 항목을 찾는다.
spring-context 항목은 가장 아래가 제일 최신이기 때문에 가장 아래나 그 근처의 것들을 사용하는 게 좋다.
Group Id와 Artifact Id를 임의로 생성해주자.
Spring01로 생성해주었다.
그리고 Finish를 누르면 설치에 들어간다.
이클립스 가장 오른쪽 아래를 보면 설치되고 있는 것을 확인할 수 있다.
더블클릭을 하면 큰 창으로 볼 수 있다.
이렇게 빨간색이 떠도 신경 쓰지 않아도 된다.
단계를 거쳐야지 오류가 사라진다.
2-1.
Spring01에서 우클릭 후 Properties를 들어간다.
2-2.
Project Facets에서 Java는 1.5 버전, Dynamic Web Module는 2.3 버전으로 되어있을 것이다.
버전을 변경시켜주기 위해 다음 단계를 진행하겠다.
2-3.
Resource에 들어가서 Location의 버튼을 눌러서 Spring01 폴더가 저장되어있는 폴더로 이동한다.
2-4.
Spring01 폴더의 .settings로 이동한다.
2-5.
확장자가 jdt.core.prefs인 파일과 facet.core.xml 파일을 메모장으로 열어서 수정해 줄 것이다.
2-6.
jdt.core.prefs 파일에 1.5로 되어있는 곳을 1.8로 수정해준 뒤 저장해준다.
2-7.
facet.core.xml에서는 1.5로 되어있는 것을 1.8로 2.3으로 되어있는 것을 3.0으로 수정해준다.
즉, java버전을 1.5에서 1.8로 web Module버전을 2.3에서 3.0으로 수정해준 것이다.
2-8.
파일들을 수정해주고 다시 Properties를 열어주면 버전들이 수정된 것을 확인할 수 있다.
2-9.
오른쪽에 Runtimes를 클릭 후 Apache Tomcat을 선택해준다.
그리고 Apply를 시켜 연결된 것을 확인하고 Apply and Close로 닫아준다.
2-10.
새로고침을 해주면 Spring01 프로젝트에 오류 표시가 사라진 것을 확인할 수 있다.
새로고침이 안되면 Spring01 프로젝트를 선택한 다음에 F5 버튼을 눌러준다.
오류를 수정하였지만 아직 hellow world를 띄우지 못했다...
Step2로 넘어가자
Step2.
1-1.
index.jsp는 root 폴더이다.
우선은 pom.xml에 들어간다.
1-2.
pom.xml에서 <dependencies>를 구분하기 위해 시작 태그와 끝 태그 앞뒤로 엔터를 넣어서 구분해준다.
그리고 아래에 보면 Dependencies라는 메뉴를 선택해준다.
1-3.
Add를 눌러서 Group과 Artifact에 tiger를 넣어준 뒤 OK를 눌러서 다시 pom.xml로 이동한다.
pom.xml은 Dependencies가 있던 아래 창에 가장 오른쪽에 있다.
1-4.
그러면 tiger dependency가 생성된 것을 확인할 수 있다.
하지만 이 방법보다는 위의 dependency를 복사해서 쓰는 것이 더 편하고 쉽다.
기본적인 방법은 알아야지 좋다.
완성하면 tiger dependency는 그냥 지워주자.
*중요*
그리고 항상 저장을 할 때는 Crtl + S 를 한 다음에 Alt + F5를 누른다.
Alt + F5를 누르면 Mave Project를 업데이트할 거냐는 창에서
Force Update of Snapshots/Releases를 체크해주고 OK를 눌러주면 변경된 라이브러리에서 추가할 것이 생기면 업데이트를 해준다.
항상 해주는 습관을 가져야 한다.
2-1.
아래 소스를 가져다가 붙여 넣어준다.
물론 원래 있던 dependencies와 build는 지워준다.
그리고 Alt + F5 -> Froce..으로 저장 후 업데이트해준다.
<properties>
<spring.version>4.0.1.RELEASE</spring.version>
</properties>
<repositories>
<repository>
<id>Spring Plugins</id>
<url>https://repo.spring.io/plugins-release/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
//참고
repository는 C드라이브 -> 사용자 -> 사용자명 -> .m2 -> repository가 있다.
이 폴더에 업데이트된다.
필요한 라이브러리는 아래 사이트에서 가져온다.
예를 들어서 mongoDB의 라이브러리를 가져온다고 하면
검색창에 mongoDB를 입력 후 나오는 mongoDB java를 눌러서 안의 가장 최신 버전을 클릭해주고 안에 있는
dependency를 복사해서 가져오면 된다.
(예를 들어서 한 것이고 실제로 하지는 않았다.)
ps. oracle은 maven에 없다. oracle에 직접 가서 받아야 한다.
----------------------------------------------------------------------------------------------------------------------------------
2-2.
WEB-INF 폴더에 web.xml을 열어준다.
아래쪽에 Source를 클릭해 열어준 다음에 아래 코드를 복사해서 전부 바꿔준다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--dispatcher 설정 -->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--한글 설정 -->
<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>
</web-app>
복사 붙여 넣기 한 다음에 파일 저장 후에 Alt+F5로 Force 업데이트를 해준다.
그러면 pom.xml에 오류가 사라질 것이다.
dispatcher부분은 다음에 만들 파일 이름을 dispatcher로 할 것이라는 뜻이다.
한글 설정은 말 그대로 한글 설정하는 곳이므로 건드리면 안 된다.
가끔 계속해서 오류가 뜨는 경우가 있는데 오류를 보기 위해서 창을 하나 열어줄 것이다.
1) Window -> Show View -> Other로 들어간다.
2) pro라고 치면 Problems가 나오는데 이창을 열어놓으면 오류를 찾을 수 있다.
web.xml 단계까지 전부 하고서 새로고침까지 했는데 오류가 뜬다면 Problems 창에서 확인하면 된다.
오류창에서 가끔 태그가 전부 정상인데 오류라고 하는 경우가 있다.
그럴 경우에는 pom.xml창을 닫았다가 다시 열어주면 오류가 사라진다...
왜 그런지는 잘 모르겠ㄷ....
Step 3.
1-1.
WEB-INF에 새 파일을 생성해준다.
파일명은 dispatcher-servlet.xml로 생성해준다.
1-2.
생성한 dispatcher-servlet.xml에 아래 코드를 넣어준다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 컨트롤러 위치 설정 -->
<context:component-scan base-package="pack01" />
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- 뷰 위치 설정 -->
<mvc:view-resolvers>
<mvc:jsp prefix="/WEB-INF/views/" />
</mvc:view-resolvers>
</beans>
MVC는 디자인과 코드를 분리하는 것이다.
디자인은 jsp이고 코드는 java와 같다.
1) base-package="pack01"은 java 프로젝트의 패키지 경로명을 지정한다.
만약에 java 프로젝트를 만들 때 Pack01로 하면 실행이 되지 않는다.
대소문자를 맞춰줘야 한다.
2) mvc:jsp prefix="/WEB-INF/views/"는 jsp의 파일의 경로를 views로 지정해준 것이다.
프로젝트를 만들 때 jsp파일을 만들려면 위의 경로에 views파일을 만들어 넣어주면 된다.
1-3.
index.jsp에 아래 파일을 덮어씌워준다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*, java.text.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
<title>메인 페이지</title>
</head>
<body>
<%=new Date()%>
<h2>Hello World</h2>
<a href="t1">링크1</a><br/>
</body>
저장한 뒤에 오류가 뜨지 않는 것을 확인했으면 실행을 해보자
실행은 Ctrl+F11이다.
그러면 실행창이 뜨는 것을 확인할 수 있다.
'Spring' 카테고리의 다른 글
[Spring] Mybatis (0) | 2020.06.19 |
---|---|
[Spring] ajax로 페이지 refresh없이 출력하기 (0) | 2020.06.18 |
[Spring] axios로 spring 구현 (0) | 2020.06.18 |
[Spring] JSTL 사용하기 (0) | 2020.06.16 |
[Spring]환경설정(약식2) (0) | 2020.06.15 |