1. 사용자가 웹페이지 form(HTML Form)을 통해 자신의 정보를 입력한다. (input)
2. Servlet의 doGet() 또는 doPost() 메소드는 입력한 form data에 맞게 DB 또는 다른 소스에서 관련된 정보를 검색한다.
3. 이 정보를 이용하여 사용자의 요청에 맞는 적절한 동적 컨텐츠(HTML Page)를 만들어서 제공한다. (Output)
■ Servlet(서블릿) 이란?
웹 기반의 요청에 의한 동적인 처리가 가능한 하나의 클래스이다.
-> Server Side에서 돌아가는 Java Program이며, 개발자가 작성해야 한다.
■ Web Browser Web <-> Application Server와 통신(WAS)
■ Server 동작 방식
- Get : Parameter가 Open된 방식
- Post : Parameter가 Hide된 방식
■ 셋팅
eclipse에 끌어다가 놓기
● 수동으로 셋팅하는 방법
web.xml 파일 새로 생성해서, 기존 web.xml 파일에 <web-app> 부분 붙여넣기
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
doGet과 doPost만 오버라이딩
Super부분은 지워주기
● 여기까지 들어오는지 확인
package sample01;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HelloServlet doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HelloServlet doPost");
}
}
new로 생성 안해줘도 된다. Web서버에서 생성해주면 된다.
● index.html 셋팅
<h1> Servlet </h1>
<form action="" method="get"> <!-- 안 적어도 기본 default값은 get이다. -->
<input type="submit" value="get 방식">
</form>
<form action="" method="post">
<input type="submit" value="post 방식">
</form>
● web.xml에 servlet class 등록하자
- 규칙 1. servlet-name, Servlet 이름은 동일해야한다. 이름 하나 생길때마다 한 셋트씩 만들어줘야한다.
- 규칙 2. servlet-class는 패키지명과 함게 서블릿 Class는 같이 입력해주어야한다.
- 규칙 3. url-pattern : 링크를 걸었을 때 문자열, 링크가 걸리면 무조건 sample01.HelloServlet 클래스로 가라!
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- servlet class 등록할 수 있는 부분 -->
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>sample01.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/location</url-pattern>
</servlet-mapping>
</web-app>
<h1> Servlet </h1>
<form action="location" method="get"> <!-- 안 적어도 기본 default값은 get이다. -->
<input type="submit" value="get 방식">
</form>
<form action="location" method="post">
<input type="submit" value="post 방식">
</form>
Console 확인!
Java코드를 쓸 수 있는 코드다~ 하면 무조건 DB접속이 가능해진다고 보면 된다.
(MVC에서 Model 1과 Model 2의 차이점이 여기에 있다.)
'개발 > JAVA' 카테고리의 다른 글
[Servlet] #03. a 태그의 Get 방식 Parameter 전송 표기 (0) | 2020.07.21 |
---|---|
[Servlet] #02. GET/POST 방식으로 데이터 전송 (0) | 2020.07.21 |
[JAVA] #06. Operator 연산자(+,-,*,/,%) & 증가(++), 감소(--) 연산자 (0) | 2020.07.19 |
[JAVA] #05. SWAP(스왑) 기법 구현 (0) | 2020.07.19 |
[JAVA] #04. Scanner :: 표준 입력 클래스 사용 방법 (0) | 2020.07.18 |