서블릿으로 개발
장점- JSP에서 서블릿으로 변환과정이 없기 때문에 실행 속도가 빠르다.
단점- 자바의 작성능력이 필요하다.
JSP => 모델1 - 중소규모의 사이트
모델2 - 대규모의 사이트
- 스프링
HelloSerlet 으로 클래스 네임입력
*URL mappings
웹상에서 어떻게 요청을하 는지 경로를 지정해주는 것을 말한다.
요청에 따른 메서드를 선택
보통의 경우 doGet(), doPost()를 선택
이번 학습에서는 init(), destroy()를 추가로 선택하였다.
Constructors from superclass 체크 해제
*****서블릿의 조건******
1.import javax.servlet.* //서블릿의 클래스
import javax.servlet.http.*; // 웹상에서의 접속에 관련된 정보
import java.io.*; // 입출력
=> c:\tomcat8.5\lib->servlet-api.jar 파일에 저장
2. 반드시 public class로 작성해야 된다. => 누구나 접속이 가능하게 해주기 위해
3. 반드시 httpServlet클래스를 상속받아야 된다.
httpServlet -> 사이트에 접속할때 마다 처리해주는 기능을 가지고 있다.
get-------------->do Get()메서드를 사용하기위해서
post-------------->doPost()
--Hello Servlet 출력해보기--
import java.io.IOException; //입출력
import java.io.PrintWriter;
import javax.servlet.ServletConfig; //서블릿의 초기환경설정에 대한 클래스
import javax.servlet.ServletException; // 서블릿의 오류발생시 처리
import javax.servlet.annotation.WebServlet; // 웹상에서 어떻게 접근 -> 정보
// 실행시키는 서블릿(web.xml)
import javax.servlet.http.HttpServlet; // 상속을 받을 부모클래스
import javax.servlet.http.HttpServletRequest; // 서블릿의 요청
import javax.servlet.http.HttpServletResponse; // 서블릿의 응답
/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
System.out.println("서블릿 실행시 제일먼저 호출되는 메서드");
System.out.println("생성자와 같은 역할(서블릿 초기값을 설정할 때 )");
}
/**
* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
System.out.println("서블릿이 종료될 떄 자동호출(메모리 해제)");
}
/**
* 외부에서 요청을 했을 떄 그 요청에 따라서 요철을 처리해주는 메서드 - request
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("웹상에서 get방식으로 접속할때마다 자동으로 호출");
response.setContentType("text/html; charset=utf-8"); // 한글처리
// 상대방에게 데이터를 전송 -> PrintWriter out = new PrintWriter() (x)
PrintWriter out = response.getWriter(); // 메서드의 반환형
out.println("<html><head></head>");
out.println("<body>");
// 서블릿의 기능을 써주면 된다.
out.println("<h2>Hello Servlet</h2>");
out.println("</body>");
out.println("</html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("웹상에서 post방식으로 접속할때마다 자동으로 호출");
}
}
--구구단 출력해보기--
import java.io.IOException; //입출력
import java.io.PrintWriter;
import javax.servlet.ServletConfig; //서블릿의 초기환경설정에 대한 클래스
import javax.servlet.ServletException; // 서블릿의 오류발생시 처리
import javax.servlet.annotation.WebServlet; // 웹상에서 어떻게 접근 -> 정보
// 실행시키는 서블릿(web.xml)
import javax.servlet.http.HttpServlet; // 상속을 받을 부모클래스
import javax.servlet.http.HttpServletRequest; // 서블릿의 요청
import javax.servlet.http.HttpServletResponse; // 서블릿의 응답
/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
System.out.println("서블릿 실행시 제일먼저 호출되는 메서드");
System.out.println("생성자와 같은 역할(서블릿 초기값을 설정할 때 )");
}
/**
* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
System.out.println("서블릿이 종료될 떄 자동호출(메모리 해제)");
}
/**
* 외부에서 요청을 했을 떄 그 요청에 따라서 요철을 처리해주는 메서드 - request
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("웹상에서 get방식으로 접속할때마다 자동으로 호출");
response.setContentType("text/html; charset=utf-8"); // 한글처리
// 상대방에게 데이터를 전송 -> PrintWriter out = new PrintWriter() (x)
PrintWriter out = response.getWriter(); // 메서드의 반환형 //클라이언트에게 데이터 전송목적(출력객체)
out.println("<html><head></head>"); //out.println("보내줄 데이터 작성")
out.println("<body>");
// 서블릿의 기능을 써주면 된다.
out.println("<h2>Hello Servlet</h2>");
out.println("<hr>");
out.println("<table border=1>");
for(int i=2; i<=9; i++) {
out.println("<tr>");
for(int j=1; j<10; j++) {
out.println("<td>");
out.println(""+i+"*"+j+"="+(i*j));
out.println("</td>");
}
out.println("</tr>");
}
out.println("</body>");
out.println("</html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("웹상에서 post방식으로 접속할때마다 자동으로 호출");
}
}
'KIC > JSP' 카테고리의 다른 글
[JSP] forward (0) | 2020.09.21 |
---|---|
[JSP] notice (0) | 2020.09.21 |
[JSP] 프로젝트 생성/삭제 (0) | 2020.09.21 |
[JSP] 프로젝트 export / import (0) | 2020.09.21 |
[JSP] JSP 표만들기 (0) | 2020.09.21 |