PLOD

[JSP] XML과 Annotation 본문

개발 공부/Spring framework

[JSP] XML과 Annotation

훌룽이 2023. 2. 28. 23:40

Extensible Markup Language(XML)

XML은 반정형 데이터의 한 종류이다. XML은 데이터를 정의하는 규칙을 제공하는 마크업 언어로써 다른 프로그래밍 언어와 달리 XML은 자체적으로 컴퓨팅 작업을 수행할 수 없지만, 구조적 데이터 관리를 위해 모든 프로그래밍 언어 또는 소프트웨어를 구현할 수 있다. XML을 사용하면 공유 가능한 방식으로 데이터를 정의하고 저장할 수 있다. XML은 웹 사이트, 데이터베이스 및 타사 애플리케이션과 같은 컴퓨터 시스템 간의 정보 교환을 지원한다. 

Sevlet과 XML

XML은 Servlet을 설정할 때 사용된다 서블릿 컨테이너는 자신이 생성하고 관리할 객체에 대한 정보를 web.xml 파일을 통해서 힉득하고 관리한다. 따라서 서블릿 클래스를 사용하기 위해서 반드시 서블릿 클래스를 web.xml 파일에 등록해야 한다.

 

<?xml version="1.0" encoding="UTF-8"?>
<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_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>BoardWeb</display-name>
	<welcome-file-list>
		<welcome-file>login.do</welcome-file>
	</welcome-file-list>
	<context-param>
		<param-name>boardEncoding</param-name>
		<param-value>UTF-8</param-value>
	</context-param>

</web-app>

 

web.xml 파일은 보통 <web-app>을 루트-앨리먼트로 가지고 있다. <display-name>은 웹 어플리케이션의 이름을 지정한다.  <welcome-file-list> 는 등록된 파일이 웹 어플리케이션의 welcome-file이 되는 것이다 welcome-file은 사용자가 시스템에 접근할 때 시스템이 가장 먼저 제공하는 파일로써 굳이 요청 URL에 명시하지 않아도 서버가 자동으로 인식한다. 

<Servlet>은 이름 그대로  서블릿 클래스를 등록할 떄 사용되며 <Servlet-name>과 <Servlet-class>를 자식 엘리먼트로 사용한다. <servlet-name> 서블릿 객체의 이름이고 <servlet-class>에는 패키지 경로를 포함한 전체 경로가 등록되어야 한다.  

 

....
	<Context docBase="BoardApp" path="/" 
           reloadable="true" source="org.eclipse.jst.jee.server:BoardApp"/>
            </Host>
		</Engine>
	</Service>
</Server>

다음은 servers 폴더 아래에 있는 server.xml의 일부이다. Tomcat server의 add and remove를 통해 BoardApp 프로젝트를 추가하면 server.xml에서 자동으로 <context docBase...> 가 추가된다. 여기서 path = "/"로 설정하면 서버를 구동하고 http://localhost:8080/ 까지만 입력하면 welcome-page로 이동할 수 있다.

Annotation 설정

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>로그인</title>
</head>
<body>
	<center>
	<h1>로그인</h1>
	<hr>
	<form action="login.do" method="post">
		.....

login.html에서 form action 태그에 "login.do"를 설정한다. 

@WebServlet("/login.do")
public class LoginServlet extends HttpServlet {...}

그다음 LoginServlet에서 @webServlet 어노테이션을 삽입하고 주소를 "/login.do"로 추가한다. @webServlet 어노테이션의 역할은 "/login.do"요청에 대해서 LoginServlet 객체에 실행되도록 매핑하는 것이다. 

'개발 공부 > Spring framework' 카테고리의 다른 글

[spring] spring MVC- (1.Model)  (0) 2023.03.23
[JSP] JSP , JSTL  (0) 2023.03.09
[JSP] JDBC  (0) 2023.03.01
[JSP] HTTP와 Servlet  (0) 2023.02.26
[Intellij] 단축키 모음  (0) 2022.08.09
Comments