336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
보통 배포 서술자라고 하면 웹 어플리케이션의 기본적인 설정 파일 정도로 알고 있었다. WEB-INF 라는 폴더에 들어있는 web.xml 파일.. 한마디로 외계어로 되어있는 파일이다... XML의 세계는 알수 업ㅂ다.. -_-;;
그래서 왜 웹 어플리케이션에서 배포 서술자를 사용하는가?????? 라고 책에 나와 있었다.. -_- 이 또한 외계어..
일단 web.xml 에서 사용되고 있는 엘리먼트 리스트 부터 알아볼 필요가 있다. 따라서 아래와 같은 예제를 한번 파해쳐 보자.. -_- 흠좀무..
이렇게 생겨먹은 xml 파일이 있다고 생각을 해봅시다... 한줄씩 파해쳐 보겠습니다 -_-;; 젠장.. 외계어..
<?xml version="1.0" encoding="UTF-8"?> 이부분은 XML 파일이라는 것을 알리는 부분입니다. 그리고 인코딩 속성은 UTF-8로 하겠다.. 라는 선언이 되겠죠.. 선언부일 뿐 -_-... 하지만 중요합니다.
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
이게 가장 외계어 스럽습니다!!!!! 그냥.. 외우세요.. 자세히 알필요 없어요 -_-
<display-name>JspStudy</display-name> 이부분은... 프로젝트의 이름을 이야기 하는 것이구요.. 필요에 의해서 바꿀수도 있다고 하네요..
<servlet>
<description> 처음 만드는 서블릿 </description>
<servlet-name> HelloWorld </servlet-name>
<servlet-class> jspStudy.HelloWorld </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloWorld </servlet-name>
<url-pattern>/HelloWorldServlet </url-pattern>
</servlet-mapping>
요기에서는<servlet> 이라는 태그 안에서 HelloWorld 라는 것에 대해서 정의를 해주었습니다. 경로를 알리는 class 태그를 사용하여 패키지 내에서의 위치를 잡아주고.. servlet-mapping 태그에서 해당 서블릿을 호출하기 위해서 URL을 설정합니다. http:/localhost:8080/HelloWorld 라고 해주면 해당 서블릿을 호출하겠죠??
<filter>
<filter-name> JspStudyRequest</filter-name>
<filter-class> jspStudy.JspFilter </filter-class>
<init-param>
<param-name>EncodingName</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name> JspStudyRequest </filter-name>
<url-pattern> *.jsp </url-pattern>
</filter-mapping>
요거.. 재미있다.. 필터라는 태그가 하는 역할은 웹 어플리케이션 전반적으로 걸쳐서 특정 URL이나 파일 요청할때 먼저 로딩이 되서 사전에 처리할 작업을 먼저 하도록 한다고 한다. (일종의 필터링이죠...) 여기서는 jspStudy.JspFilter 라는 패키지에 있는 *.jsp 모든 jsp 파일에 대해서 인코딩을 UTF-8로 해주는 것이다~ 여지껏 페이지마다 삽입 해줬던게 이렇게 간단하게 되어버리니까.. 행복하다..
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
얘는 처음에 웹 어플리케이션 요청시에 자동으로 보여줄 파일을 지정합니다~ 첫화면인 셈이죠..
<context-param>
<param-name>workspace</param-name>
<param-value>C:\Documents and Settings\workspace</param-value>
</context-param>
요건 그냥 웹 어플리케이션 경로라고 알아두면 됩니다.
그래서 왜 웹 어플리케이션에서 배포 서술자를 사용하는가?????? 라고 책에 나와 있었다.. -_- 이 또한 외계어..
대체 뭐하는 시츄에이션인지 -_- 뭐라고 하는지 알 수가 없군효.. 일단 차근 차근.. 무슨 뜻인지 한번 알아보도록 하겠습니다.. 몰라지면 말고 -_-;; 일단 web.xml 파일의 역사를 살펴보면.. 원래는 DTD 파일로 되어있었다는데 뭐 어쩌구 저쩌구 해서 패스...컨테이너 호환성 유지 : 웹 어플리케이션의 배포와 관련된 정보를 제공함으로써 서로 다른 컨테이너에서도 별도의 설정 없이 동일한 어플리케이션을 운영할 수 있다.
효율적인 어플리케이션 유지보수 : 특정 서블릿 혹은 전체 어플리케이션에서 공유하기 위한 초기화 파라미터의 설정이 가능하므로, 애플리케이션 프로그램 간 데이터 공유가 용이 하다.
유연한 어플리케이션 운영 : 서블릿 매핑 등 다양한 정보를 텍스트 기반으로 설정할 수 있으므로, 서비스 운영 중 프로그램을 수정하지 않고도 어플리케이션의 동작 등에 대한 조정이 가능하다.
일단 web.xml 에서 사용되고 있는 엘리먼트 리스트 부터 알아볼 필요가 있다. 따라서 아래와 같은 예제를 한번 파해쳐 보자.. -_- 흠좀무..
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
JspStudy</display-name>
<servlet>
<description> 처음 만드는 서블릿 </description>
<servlet-name> HelloWorld </servlet-name>
<servlet-class> jspStudy.HelloWorld </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloWorld </servlet-name>
<url-pattern>/HelloWorldServlet </url-pattern>
</servlet-mapping>
<filter>
<filter-name> JspStudyRequest</filter-name>
<filter-class> jspStudy.JspFilter </filter-class>
<init-param>
<param-name>EncodingName</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name> JspStudyRequest </filter-name>
<url-pattern> *.jsp </url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>workspace</param-name>
<param-value>C:\Documents and Settings\workspace</param-value>
</context-param>
</web-app>
이렇게 생겨먹은 xml 파일이 있다고 생각을 해봅시다... 한줄씩 파해쳐 보겠습니다 -_-;; 젠장.. 외계어..
<?xml version="1.0" encoding="UTF-8"?> 이부분은 XML 파일이라는 것을 알리는 부분입니다. 그리고 인코딩 속성은 UTF-8로 하겠다.. 라는 선언이 되겠죠.. 선언부일 뿐 -_-... 하지만 중요합니다.
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
이게 가장 외계어 스럽습니다!!!!! 그냥.. 외우세요.. 자세히 알필요 없어요 -_-
<display-name>JspStudy</display-name> 이부분은... 프로젝트의 이름을 이야기 하는 것이구요.. 필요에 의해서 바꿀수도 있다고 하네요..
<servlet>
<description> 처음 만드는 서블릿 </description>
<servlet-name> HelloWorld </servlet-name>
<servlet-class> jspStudy.HelloWorld </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloWorld </servlet-name>
<url-pattern>/HelloWorldServlet </url-pattern>
</servlet-mapping>
요기에서는<servlet> 이라는 태그 안에서 HelloWorld 라는 것에 대해서 정의를 해주었습니다. 경로를 알리는 class 태그를 사용하여 패키지 내에서의 위치를 잡아주고.. servlet-mapping 태그에서 해당 서블릿을 호출하기 위해서 URL을 설정합니다. http:/localhost:8080/HelloWorld 라고 해주면 해당 서블릿을 호출하겠죠??
<filter>
<filter-name> JspStudyRequest</filter-name>
<filter-class> jspStudy.JspFilter </filter-class>
<init-param>
<param-name>EncodingName</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name> JspStudyRequest </filter-name>
<url-pattern> *.jsp </url-pattern>
</filter-mapping>
요거.. 재미있다.. 필터라는 태그가 하는 역할은 웹 어플리케이션 전반적으로 걸쳐서 특정 URL이나 파일 요청할때 먼저 로딩이 되서 사전에 처리할 작업을 먼저 하도록 한다고 한다. (일종의 필터링이죠...) 여기서는 jspStudy.JspFilter 라는 패키지에 있는 *.jsp 모든 jsp 파일에 대해서 인코딩을 UTF-8로 해주는 것이다~ 여지껏 페이지마다 삽입 해줬던게 이렇게 간단하게 되어버리니까.. 행복하다..
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
얘는 처음에 웹 어플리케이션 요청시에 자동으로 보여줄 파일을 지정합니다~ 첫화면인 셈이죠..
<context-param>
<param-name>workspace</param-name>
<param-value>C:\Documents and Settings\workspace</param-value>
</context-param>
요건 그냥 웹 어플리케이션 경로라고 알아두면 됩니다.
라고 맨 위에 써있던 장점들을 제 나름대로 풀어봤습니다.. -_-;;;삽질 방지 : 한번에 원하는 설정이 가능하다!!
삽질 방지 2 : 배포 서술자에서 공통적으로 지정하니까 수정사항이 생겨도 한방에 해결!!
삽질 방지 3 : 여러번 삽질 안해도 된다!!