์๋
์ข์ ์ฌ๋! ์๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ฌ์์์ด ๋ฌธ์๊ฐ ์๋ชป ํ์๋๋ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋๋ ๊ธฐ์ฌ๋ฅผ ์ฝ๊ณ ์
์ ๊ทผ์๊ณผ ๊ฑธ๋ฆผ๋์ ์ดํดํ์ต๋๋ค. JSP ํ์ด์ง์์ ์ด๋ฌํ ํ์ด ํ์ํ ์ด์ ์ ํด๋ผ์ด์ธํธ-์๋ฒ -DB ์ฒด์ธ ์ ๋ฐ์ดํฐ ์ ์ก ๋จ๊ณ๋ฅผ ๊นจ๋ฌ์์ต๋๋ค .
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
๋ด ์ฃผ์ ๋ฌธ์ ๋ ํ ์ข์ ๊ธฐ์ฌ์ ์ค๋ช
๋ ๋ด์ฉ์ ์์์ต๋๋ค(์ถ์ฒ: Tyts ) .
๊ด๋ฆฌ์๊ฐ ๊ตฌ์ถํ ์๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๊ด๋ฆฌ์๊ฐ ๊ตฌ์ถํ ์๋ฒ์์ ์คํ๋๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๊ด๋ฆฌ์๊ฐ ๊ตฌ์ถํ ์๋ฒ์์ ์คํ๋๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ์ธ ์๋ธ๋ฆฟ์ ๋๋ค. ๋๋ ๋์ผํ ์๋ธ๋ฆฟ์ธ JSP์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์๋ธ๋ฆฟ์ ์์ฒญ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋? ๋ฐ์ดํธ ์งํฉ์ ๋๋ค. ์๋ธ๋ฆฟ์๋ ๋ฌด์์ด ํ์ํฉ๋๊น? ๊ธฐํธ. ์ง๋ฌธ: ์ด๋ค ์ธ์ฝ๋ฉ์ ์ฌ์ฉํด์ผ ํฉ๋๊น? HTTP์ ๋ํ ๋ ๋ค๋ฅธ ์ฌํ. POST ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋ ์์์ ๋ฐ์ดํฐ๋ ํน์ ์ฝํ ์ธ ์ ํ์ ๋ํ๋ด๋ ์ ์ก๋ฉ๋๋ค: Content-type: application/x-www-form-urlencoded ์ด๋ก ์ ์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ์ ์ธ์ฝ๋ฉ์ ์ฌ๊ธฐ์์ ์ง์ ํ ์๋ ์์ต๋๋ค: Content-type: application/ x-www-form-urlencoded; charset=UTF-8 ์ด์จ๋ Tomcat์ ์ฌ๊ธฐ์์ ์ด๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํฉ๋๋ค. ์ค์ ๋ก๋ Opera๋ง์ด ์ธ์ฝ๋ฉ์ ์ง์ ํฉ๋๋ค. ์ด์ฉ๋ฉด ๋ฏธ๋์ ๋ญ๊ฐ ๋ฐ๋ ์๋ ์์ง๋ง ํ์ฌ๋ก์๋ ์ฌ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ค์ด์ค๋ ๋ฐ์ดํฐ์ ์ธ์ฝ๋ฉ์ ์ ์ ์์ต๋๋ค! ๊ทธ๋ฆฌ๊ณ ์ด์ ๋ํด ๋ญ๊ฐ ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค.ํด๊ฒฐ์ฑ ์ ํํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ์ ์ฐ์ฌ ์๊ณ ๊ทธ๊ฒ ๋ด๊ฐ ํ ์ผ์ ๋๋ค. (์ถ์ฒ: tyts ) ์ด ๊ตฌ์ฑ ์ฝ๋๋ฅผ web.xml์ ์ฝ์ ํ์ต๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์กฑ์ค๋ฝ์ต๋๋ค. ํ์ง๋ง ์ด ํํฐ๋ Spring ์ฃผ์์ ํตํด ๊ตฌ์ฑํ๊ณ ์ถ์ต๋๋ค . Java ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ๊ตฌ์ฑ. ๊ทธ๋ฆฌ๊ณ ๋๋ ์ด๋ป๊ฒ๋ ํต์ผ์ฑ์ ์ํ๋ค. 2๊ฐ์ ๊ตฌ์ฑ ํด๋์ค๊ฐ ์์ต๋๋ค. ํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๊ณ ๋ค๋ฅธ ํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ(์ข ์์ฑ ์ฃผ์ )๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํด๋์ค์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด ํด๋์ค์ ํํฐ ๊ตฌ์ฑ์ ์ฝ์ ํด์ผ ํ๋ค๊ณ ์๊ฐํ๋๋ฐ ์ฝ๋์ ๋ญ๊ฐ ์ฝ๊ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฒซ ๊ฒฝํ์ด๋ฏ๋ก ๊ฒฝํ์ด ๋ง์ ๋ถ๋ค์ ๋์์ ์์ฒญํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
characterEncodingFilter
/*
package net.kaa.todolist.config; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; public class AppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); appContext.register(ApplicationContextConfig.class); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); } }
GO TO FULL VERSION