XML(eXtensible Markup Language)
다목적 마크업 언어로써 다른 종류의 시스템 혹은 인터넷끼리 연결된 시스템 끼리 데이터를 주고 받을 수 있게 하기 위해 탄생했다.
🎯 설계 목표
- 단순성
- 일반성
- 인터넷을 통한 사용 가능성
💡기본 개념
XML에서의 기본 개념에는 10가지가 있다.
- XML은 구조적인 데이터를 위한 것이다.
- XML은 다소 HTML 같이 보인다.
- XML은 텍스트이며, 읽히는 것만을 뜻하지 않는다.
- XML은 크기가 커진다.
- XML은 기술의 집합이다.
- XML은 새로운 기술이 아니라 발전한 기술이다.
- XML은 모듈식이다.
최초 선언
<?xml version="1.0" encoding="UTF-8" ?>
XML 문서는 완전히 유니코드 문자로만 이루어진다. 소수의 일부 특별히 제외된
제어 문자(control characters)를 제외하면, 유니코드에 정의된 어떤 문자든 XML 문서 내용에 나타날 수 있다. 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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.ico</url-pattern>
<url-pattern>*.swf</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>
<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>
</web-app>
위 예제는 필자의 첫 홈페이지 프로젝트의 web.xml 파일이다.