Spring Boot - Sizuha/devdog GitHub Wiki

ํ”„๋กœ์ ํŠธ ์„ค์ •

UTF-8 ์ง€์›์„ค์ •

Make sure you register Spring's CharacterEncodingFilter in your web.xml (must be the first filter in that file).

<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>  
    <init-param>  
       <param-name>forceEncoding</param-name>  
       <param-value>true</param-value>  
    </init-param>  
</filter>  
<filter-mapping>  
    <filter-name>encodingFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping> 

MySQL ์‚ฌ์šฉํ•˜๊ธฐ

https://qiita.com/neriai/items/549617569b1b719eb84d

์ ‘์† ํ™˜๊ฒฝ ์„ค์ •

pom.xmlใ‚’้–‹ใใ€ๅ†…ใฎๆœ€็ต‚่กŒใซ่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.45</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’ๅณใ‚ฏใƒชใƒƒใ‚ฏใ—ใ€ใ€ŒๅฎŸ่กŒ > Maven cleanใ€ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚
ๅŒใ˜ใใ€ใ€ŒๅฎŸ่กŒ > Maven installใ€ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚

root-context.xmlใ‚’้–‹ใใ€ๅ†…ใฎๆœ€็ต‚่กŒใซ่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName">
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property name="url">
        <value>jdbc:mysql://localhost:3306/db_name?useUnicode=true&amp;characterEncoding=utf8</value>
    </property>
    <property name="username">
        <value>root</value>
    </property>
    <property name="password">
        <value></value>
    </property>
</bean>

โ€ป ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ, jdbc ์—ฐ๊ฒฐ URL์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

?useUnicode=true&amp;characterEncoding=utf8

Controller

/**
 * Handles requests for the application home page.
 */
@Controller
public class HomeController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        final List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT * FROM users");
        model.addAttribute("data", list.get(0).get("name") );
        return "home";
    }
}

View

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
    <head>
        <title>Home</title>
    </head>
    <body>
    <h1>
        Hello world!  
    </h1>
    <p>  DB's data is ${data}. </p>
    </body>
</html>

Server ์„ค์ •

WebApps ์ด์™ธ์˜ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” URL ์„ค์ • (Tomcat/server.xml)

server.xml์— ๋‹ค์Œ์„ ์ถ”๊ฐ€.

<Context docBase="์›๋ณธ ๊ฒฝ๋กœ"  path="/๋งตํ•‘ํ• URL" />

Tomcat ์žฌ์‹œ์ž‘ ํ•„์š”.

ไพ‹๏ผ‰

<Server port="8025" shutdown="SHUTDOWN">
 ...
  <Service name="Catalina">
    ...
    <Engine defaultHost="localhost" name="Catalina">
     ...
     <Host appBase="webapps"
      autoDeploy="false" name="localhost" unpackWARs="true"
      xmlNamespaceAware="false" xmlValidation="false">
      ...
       <Context  docBase="/var/project/images" path="/project/images" />
      </Host>
    </Engine>
  </Service>
</Server>

์ฃผ์˜!! ๋ฐ˜๋“œ์‹œ ์‹ค์ œํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ๊ฒƒ
์กด์žฌํ•˜์ง€ ์•Š์€ ๊ฒฝ๋กœ๋กœ server.xml์„ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ์— Tomcat์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

๊ฐœ๋…

Spring MVC

โš ๏ธ **GitHub.com Fallback** โš ๏ธ