HappyWeasel

JSP - Servlet - 1 본문

Back-End/Servlet&JSP

JSP - Servlet - 1

HappyWeasel 2019. 6. 11. 14:28
package com.javalex;

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 hello
 */
@WebServlet("/hello")
public class hello extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public hello() {
        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());
	}

	/**
	 * @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);
	}

}

 

Servlet클래스는 HttpServlet을 상속받는다.

 

Servlet 맵핑

Servlet의 긴 경로를 간략하게 줄일 수 있다.

 

1. web.xml에 맵핑 정보 입력하기.

  <servlet>
  	<servlet-name>hell</servlet-name>
  	<servlet-class>com.javalex.hello.java</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>hell</servlet-name>
  	<url-pattern>/h</url-pattern>
  </servlet-mapping>

servlet 태그를 만들어 준 후 정보를 입력한다.

<servlet-name> : 임의의 이름을 만들어 준다.

<servlet-class> : 매핑할 클래스 파일명을 패키지명을 포함하여 정확하게 입력한다.

<url-pattern> : servlet-class의 클래스를 매핑할 임의의 이름을 입력한다. 주의할 점은 '/'로 시작해야한다.

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>servlet_test</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>hell</servlet-name>
  	<servlet-class>com.javalex.hello.java</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>hell</servlet-name>
  	<url-pattern>/h</url-pattern>
  </servlet-mapping>
    
</web-app>

 

 

2. 어노테이션을 이용하는 방법

 

@WebServlet("/hello")

: 맵핑명을 java 소스에 직접 입력한다.

package com.javalex;

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 hello
 */
@WebServlet("/hello")
public class hello extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public hello() {
        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());
	}

	/**
	 * @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);
	}

}

'Back-End > Servlet&JSP' 카테고리의 다른 글

JSP - Servlet 한글 처리  (0) 2019.06.11
JSP - Servlet - 2  (0) 2019.06.11
JSP - 아키텍처  (0) 2019.06.11
JSP - 문서 작성하기  (0) 2019.06.11
JSP - 웹프로그래밍  (0) 2019.06.10
Comments