Servlet

조윤후·2021년 7월 21일
0

WEB.XML에서 서블릿 맵핑 하는법

web.xml에 </welcome-file-list> 가 끝난 구문뒤에 아래 코드를 붙여주면 된다.

<?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>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>/hw</url-pattern>
  </servlet-mapping>
</web-app>

servlet-name : 임의의 이름을 만들어 준다.
servlet-class : 매핑할 클래스 파일명을 패키지명을 포함하여 정확하게 입력한다.
url-pattern : servlet-class의 클래스를 매핑할 임의의 이름을 입력합니다. 주의할 점은 '/' 로 시작해야한다.

Servlet Project 분석?

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();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("헬로월드");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

Servlet프로젝트는 httpServlet클래스를 상속 받는다.

(HttpServletRequest request, HttpServletResponse response) 메서드에서 (HttpServletRequest request 는 요청처리객체이며, HttpServletResponse response 응답처리 객체이다.

Get 방식 : URL값으로 정보가 전송되어 보안에 약함
Post 방식 : header를 이용해 정보가 전송되어 보안에 강화

Get 과 Post방식을 정하는것은 HTML 안에 Form태그 method 속성값으로 정한다.

Get방식 예제 ?

package com.javalec.ex;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sun.print.PrinterJobWrapper;

/**
 * Servlet implementation class HelloWorld
 */
@WebServlet("/HWorld")
public class HelloWorld extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloWorld() {
        super();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		PrintWriter out = response.getWriter();
		response.setContentType("text/html");
		out.println("<html>");
		out.println("<head>");
		out.println("</head>");
		out.println("<body>");
		out.println("Helloworld~~");
		out.println("</body>");
		out.println("</html>");
		
		out.close();
		
		System.out.println("doGet");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doPost");
	}

}
profile
공부하며 예제풀이 정리

0개의 댓글