반응형
맵핑을 하는 이유는 URL 주소가 너무 길고, 보안에 노출되어 있는 경로를 간단하게 노출하기 위해서 입니다.
예를들어 기존 경로가 다음과 같을 때,
기존 경로 : http://localhost:8181/helloworld/servlet/com.javalec.ex.HelloWorld
URL맵핑 경로 : http://localhost:8181/helloworld/HWorld
맵핑을 하기 위한 방법은 2가지가 있습니다.
1. 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_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>helloworld</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>com.javalec.ex.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/HWorld</url-pattern>
</servlet-mapping>
</web-app>
<servlet-name > : 임의의 이름을 만들어 줍니다.
<servlet-class> : 맵핑할 클래스 파일명을 패키지명을 포함하여 정확하게 입력합니다.
<url-pattern> : servlet-class의 클래스를 맵핑할 임의의 이름을 입력합니다. 주의할 점은 '/'로 시작해야 합니다.
2. 어노테이션을 이용한 서블릿 맵핑
package com.javalec.ex;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
@WebServlet("/HWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
System.out.println("HelloWorld~~~~");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
@WebServlet("/HWorld")
- 맵핑명(HWorld)을 .java 파일의 소스에 직접 입력합니다.
반응형
'웹 프로그래밍 > Back-End' 카테고리의 다른 글
Django - SQL (0) | 2020.09.10 |
---|---|
Django - CRUD (0) | 2020.09.03 |
Django 기초 (0) | 2020.08.28 |
Servlet Parameter 와 한글처리 (0) | 2020.03.11 |
Servlet 라이프사이클(생명주기), 선처리와 후처리 (0) | 2020.03.11 |