Web 기본
개요
Server - Apache tomcat
JSP
HTML + Java
view의 역할을 수행
Servlet
Java + HTML
controller의 용도로 사용
사용자의 요청을 처리하고 이를 JSP에 인도
Servlet Class
Servlet Java Class는 HttpServlet을 상속받는다
<>
init(), service(), destroy()
| (상속)
<>
| (상속)
<>
메소드
init()
- 딱 한 번만 호출(생성자와 같은 역할)
- Servlet 인스턴스는 싱글톤으로 관리된다
- 초기화 코드가 들어간다
destroy()
- 리소스에 대한 해제 코드들이 들어간다
제어의 역행(Inversion of Control)
- Servlet에 대한 라이프사이클은 개발자가 아닌 컨테이너가 관리한다
doGet()
- default service method
// GET 방식
// URL + query string(parameter)
http://127.0.0.1:8088/incWEB/greeting.do?key=value&key=value
doPost()
// POST 방식
// URL
http://127.0.0.1:8088/incWEB/greeting.do
// GreetingServlet.java
package ctrl;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
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("/greeting.do")
public class GreetingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public GreetingServlet() {
super();
// TODO Auto-generated constructor stub
}
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
System.out.println("init");
}
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destroy");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("doGet");
response.setContentType("text/html;charset=utf-8");
/*
// 이렇게 Java 코드에 HTML 코드를 담는건 부적절 --> 사용자의 요청을 처리하고 이를 JSP에 넘기자
PrintWriter out = response.getWriter();
out.print("<html>");
out.print("<body>");
out.print("<div align='center'>뭐이 중한디~~</div>");
out.print("</body>");
out.print("</html>");
out.close();
*/
/*
// 요청 재지정
// JSP를 숨기고 Servlet .do의 request 페이지에서 JSP로 포워딩
1. .do로 요청하지만 jsp로 요청을 재지정
response.sendRedirect("greeting.jsp");
2. RequestDispatcher 방식 사용 --> 현업에서 많이 사용
RequestDispatcher view = request.getRequestDispatcher("greeting.jsp");
view.forward(request, response);
*/
RequestDispatcher view = request.getRequestDispatcher("greeting.jsp");
view.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("doPost");
}
}
// greeting.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div align="center">hello</div>
<hr />
</body>
</html>
출처: SHINSEGAE I&C 인턴십
Author And Source
이 문제에 관하여(Web 기본), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@vencott/Web-기본저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)