-
[IntelliJ] 인텔리제이 Spring MVC 프로젝트 설정하기IntelliJ 인텔리제이 2020. 12. 9. 16:50반응형
버전>
IntelliJ 인텔리제이 얼티메이트 2020.1
자바 1.8
톰캣 8.0
Spring 5.2.3
1. 프로젝트 생성하기
2. Maven 선택 , 자바 버전 확인
3.프로젝트 정보 입력한다.
4. pom.xml 내용 넣기
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.tistory.devmg</groupId> <artifactId>devmg</artifactId> <packaging>war</packaging> <dependencies> <!-- spring webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <!-- JSTL Dependency --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- Servlet Dependency --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin> </plugins> </build> </project>
내용을 넣고 오른쪽에 작은 아이콘으로 보이는 maven 리프레시를 누른다. 그럼 의존성을 다운로드한다.
4. 자바단 패키지를 생성한다. (컨트롤러 서비스 다오의 루트가 되는 곳이다.)
File -> Project Structue을 누르고 Modules을 누르고 프로젝트 명을 클릭하고 Sources탭에서 src/main/java 폴더 우클릭하고 기본 Sources영역으로 지정한다.
java폴더 우클릭 > New > Package를 누르고 com.tistory.devmg.home.controller 패키지를 생성한다.
컨트롤러 자바를 생성하기 위한 경로다.
5. webapp폴더 생성 및 web.xml 파일 생성
File -> Project Structue을 누르고 Modules에서 상단 [+] 버튼을 누르고 Web을 선택한다.
Web탭을 누르면 오른쪽에서
- Deployment Descriptors의 Path의 내용을
프로젝트경로/src/main/webapp/WEB-INF/web.xml로 변경한다.
- Web Resource Directories의 Web Resource Directory의 내용을
프로젝트경로/src/main/webapp로 변경한다.
인텔리제이는 웹루트 경로가 다르기 때문에 이클립스나 sts의 기본 경로로 구성 했다.(편의상)
6. web.xml 내용 넣기
<?xml version="1.0" encoding="UTF-8"?> <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_4_0.xsd" version="4.0"> <display-name>Spring MVC</display-name> <!-- Root context --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/root-context.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- servlet context --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- encoding filter --> <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>
root-context.xml와 servlet-context.xml를 만들어야한다.
WEB-INF에 Spring Config파일로 root-context와 servlet-context를 생성한다.
상위폴더 우클릭 > New > Xml Configuration File > Spring Config 선택
root-context.xml은 그냥 파일만 생성한다. 내용은 없어도 된다. servlet-context.xml의 내용을 넣는다.
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- This tag registers the DefaultAnnotationHandlerMapping and AnnotationMethodHandlerAdapter beans that are required for Spring MVC --> <mvc:annotation-driven /> <!-- This tag allows for mapping the DispatcherServlet to "/" --> <mvc:default-servlet-handler /> <!-- Process annotations on registered beans like @Autowired... --> <context:annotation-config/> <!-- 컴포넌트 스캔 --> <!-- src/main/java 폴더를 소스폴더로 지정해야지 컴포넌트 스켄 오류가 사라진다--> <context:component-scan base-package="com.tistory.devmg" /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
아까 4번 단계에서 com.tistory.devmg.home.controller 자바 패키지를 생성했는데
com.tistory.devmg.home.controller 이 부분이 컴포넌트 스캔의 영역이다.
추후 경로는 com.tistory.devmg.home.service / com.tistory.devmg.home.dao 이런식으로 경로를 지정하기 위해서다.
7. HomeController.java 생성
package com.tistory.devmg.home.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HomeController { @RequestMapping("/home") public String home(){ System.out.println("홈 컨트롤러 호출"); return"home"; } }
8. home.jsp 생성
home.jsp를 만들기 전에 views폴더를 먼저 만들어야 한다.
프로젝트 우클릭 > New > Directory를 누르고 views폴더를 생성한다.
home.jsp
<%-- Created by IntelliJ IDEA. User: devmk Date: 2020/12/09 Time: 2:31 오후 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Welcome Home!</title> </head> <body> 홈 입니다~ </body> </html>
9. 톰캣 서버 연결
File -> Project Structue > Artifacts > [+]를 누르고 > Web Application: Exploded > From Modules > [OK] 누른다.
Run -> EditConfigurations > 왼쪽 탭에 Tomcat Server > Local 선택
서버 이름 지정하고 Fix를 누른다
컨텍스트를 지정한다. 디폴트값을 지우고 /로 하면 localhost:8080/ 로 url 이 시작된다. 그리고 [ok]
10. 컨틀롤러 요청후 jsp가 호출되는지 확인한다.
반응형'IntelliJ 인텔리제이' 카테고리의 다른 글
[IntelliJ]인텔리제이 JSP 수정시 자동 Refresh 새로고침 설정하기 (0) 2021.11.07 [IntelliJ] Mac OS 인텔리제이 글꼴,폰트 Font변경하기! (0) 2021.10.31 [IntelliJ] Mac OS 인텔리제이 단축키 모음 (0) 2021.10.31 인텔리제이 IntelliJ 깃허브 GitHub 연동하기 (0) 2020.12.21 IntelliJ 인텔리제이 lombok 설치하기 (0) 2020.12.18