본문 바로가기
JSP/이론

servlet + response//response.setContentType("text/html;charset=utf8");

by SEOKIHOUSE 2023. 6. 5.


  • servlet: 요청을 받아서 응답해주는 녀석

사용자: 브라우저에서 사용자가 second라고 url이라고 엔터 --> 요청이 서버를 향해서 간다

서버: 요청 받음---(어떤 자원을 요청했는지 알아야하는데 second라고 온거네?

second라고 처리할놈이 누구다?

요청한 자원 - second (이름표)



  • WebServlet: 클라이언트 요청 식별하는 녀석
  • HttpServlet: (톰켓이 제공)  클라이언트 요청을 처리할 수 있는 객체 - (서블릿 클래스로 용도가 정해짐)
  • doGet : 클라이언트가 서버한테 요청할 때 get방식으로 요청한 녀석을 처리하는 메소드
  • doPost : post방식으로 온 녀석이라 post메소드로 처리해야한다
  • service : doGet + doPost

  • response 서버가 응답,  request 클라이언트 요청에 대한 정보
  • response는 getwriter를 쓴다
  • getWriter : printwriter를 반환한다

 


  • response.setContentType("text/html;charset=utf8");   <<한글도 가능하게 하는 녀석(PrintWriter위에 있어야 되더라)


package servlets;

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;

@WebServlet("/memberlist")
public class ThirdServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public ThirdServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf8");
		//한글도 제대로 나오게 된다
		
		PrintWriter pw = response.getWriter();
		
		//pw.print여러번써도된다
		pw.print("<div>"
				+ "<h1>MemberList</h1>"
				+ "<hr>"
				+ "<table border='1'>"
				+ "<tr>"
				+ "<th>번호</th>"
				+ "<th>이름</th>"
				+ "<th>연락처</th>"
				+ "</tr>"
				+ "<tr>"
				+ "<td>1</td>"
				+ "<td>홍길동</td>"
				+ "<td>010-1111-1111</td>"
				+ "</tr>"
				+ "<tr>"
				+ "<td>2</td>"
				+ "<td>임꺽정</td>"
				+ "<td>010-3333-3333</td>"
				+ "</tr>"
				+ "</table>"
				+ "</div>");
		
		
	}
	


}

  • ArrayList랑 for문써서 해보자

package servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

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 vo.MemberVo;

@WebServlet("/memberlist")
public class ThirdServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
       
    public ThirdServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf8");
		//한글도 제대로 나오게 된다
		MemberVo mv1 = new MemberVo();
		mv1.setNum(1);
		mv1.setName("짱구");
		mv1.setContact("010-zzzz-9999");
		
		MemberVo mv2 = new MemberVo();
		mv2.setNum(2);
		mv2.setName("흰둥이");
		mv2.setContact("010-흰-둥");
		
		MemberVo mv3 = new MemberVo();
		mv3.setNum(3);
		mv3.setName("짱구분신");
		mv3.setContact("010-짱구-분신");
		
		ArrayList<MemberVo> ar = new ArrayList<>();
		ar.add(mv1);
		ar.add(mv2);
		ar.add(mv3);
		
		PrintWriter pw = response.getWriter();

		pw.print("<div>"
				+ "<h1>MemberList</h1>"
				+ "<hr>"
				+ "<table border='1'>"
				+ "<tr>"
				+ "<th>번호</th>"
				+ "<th>이름</th>"
				+ "<th>연락처</th>"
				+ "</tr>");
					
		for(int i =0;i <ar.size(); i++) {
			pw.print("<tr>"
				+ "<td>"+ar.get(i).getNum()+"</td>"
				+ "<td>"+ar.get(i).getName()+"</td>"
				+ "<td>"+ar.get(i).getContact()+"</td>"
				+ "</tr>"
				);
		}
		pw.print("</table>"
				+ "</div>");
		
		
	}
	


}
package vo;


public class MemberVo {
	private int num;
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getContact() {
		return contact;
	}
	public void setContact(String contact) {
		this.contact = contact;
	}
	private String name;
	private String contact;
	
	
	
	
	
}