๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVA/Spring

[Java] Spring ์ดˆ๊ธฐ ์„ธํŒ… (์ˆ˜๋™)

by soy๋ฏธ๋‹ˆ 2021. 9. 15.

 

 

1. Maven Project ์ƒ์„ฑ

  • ์นดํƒˆ๋กœ๊ทธ Internal ๋กœ ์„ค์ •ํ•œ ํ›„ web-app ์„ ํƒ

  • Group id, Artifact id ์„ค์ • -> Finish
  • C:\Users\user\eclipse-workspace\ํ”„๋กœ์ ํŠธ๋ช…\.settings ์— ์ ‘๊ทผ

  • org.eclipse.jdt.core.prefs ํŒŒ์ผ ์ˆ˜์ • (๋ฒ„์ „ 16์œผ๋กœ ๋ณ€๊ฒฝ)
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=16
org.eclipse.jdt.core.compiler.compliance=16
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=16
  • org.eclipse.wst.common.project.facet.core ์ˆ˜์ •
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="16"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
  • pom.xml ์„ค์ • ํ›„ alt + F5 ํ•˜๊ณ  force update
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>Spring999</groupId>
	<artifactId>Spring999</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>Spring999 Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<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>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-war-plugin</artifactId>
				<version>3.3.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<source>12</source>
					<target>12</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
  • ์ดํด๋ฆฝ์Šค์—์„œ ๋‹ค์šด๋ฐ›์€ ํŒŒ์ผ๋“ค ์ €์žฅ๋˜๋Š” ๊ณณ : C:\Users\user\.m2\repository
  • web.xml ์„ค์ • ํ›„ alt + F5 ํ•˜๊ณ  force update
<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>
  • 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>
  • 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>
  • ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญ - Properties - Project Facets ์—์„œ Runtimes - Tomcat ์ฒดํฌ

  • Spring ํ™˜๊ฒฝ ์„ค์ • ์™„๋ฃŒ


* Spring ์„ค์ • ์™„๋ฃŒํ•œ ํ”„๋กœ์ ํŠธ ๋ณต์ œํ•  ๋•Œ

  • ๋ณต์ œํ•œ ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญ - Properties - Web Project Settings ์ด๋ฆ„ ๋ณ€๊ฒฝ
  • pom.xml ์— groupId, artifactId ๋ณ€๊ฒฝ

 

๋Œ“๊ธ€