티스토리 뷰
JSP와 Servlet
둘 다 웹 애플리케이션을 만드는데 사용됨
1. JSP

정적 데이터(HTML, XML, SVG, WML, ... )와
동적 데이터(JSP; <% %> 형태)
와 같은 두 가지 유형의 텍스트를 포함하는 텍스트 문서
사용 문법
선언
멤버변수 or 메소드를 선언하는 영역
<%! 멤버변수와 메서드 %>
스크립트릿
Client요청 시 매번 호출되는 영역으로, Servlet으로 변환 시 service() method에 해당. 요청/응답 관련된 코드 구현
<% 자바 코드 %>
표현식
데이터를 문자열 형태로 출력할 때 사용
<%= 문자열 %>
주석
<%-- 주석 code --%>
확장자가 .jsp
html와 같은 정적 데이터 문서 안에 자바 언어를 삽입해 사용할 수 있도록 해줌
<!-- 다음과 같이 <% %> 를 삽입한 형태로 사용한다. -->
<%@page import="java.util.Random"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<title>Java Random Number</title>
<body>
<!-- Java에서의 util을 import하여 사용 -->
<%
Random ran = new Random();
int num = ran.nextInt(50) + 1;
out.print("<h1>: " + num + "</h1>";
%>
</body>
</html>
2. Servlet

요청-응답 모델을 통해 접근하는 애플리케이션을 호스팅하는 서버의 기능을 확장하는데 사용되는 Java Class
주로 웹 서비스에서 호스팅하는 애플리케이션을 확장하는 데 사용
확장자가 .java
Java 코드 안에 HTML을 포함시킴
package com.my.web;
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;
// 해당 주소/Test 로 접근할 시 출력
@WebServlet("/Test")
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// HTML로 인코딩
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
// 페이지 상에 "get으로 요청"이라는 문구가 띄워짐
PrintWriter out = response.getWriter();
out.print("get으로 요청");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// HTML로 인코딩
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
// 페이지 상에 "post로 요청"이라는 문구가 띄워짐
PrintWriter out = response.getWriter();
out.print("post로 요청");
}
}
3. JSP Servlet 비교
JSP | Servlet |
HTML 문서 안에 Java 코드 포함 | Java 코드 안에 HTML 포함 |
HTML 내부에 Java코드를 작성하기 쉬움 ( 사용이 쉬움 ) | 사용이 어려움 |
MVC 상의 View 역할 | MVC 상의 Controller 역할 |
Servlet보다 느림 : JSP 생명주기의 시작에서 JSP 를 자바 코드로 변환하고 컴파일을 진행하기 때문에 |
빠름 |
HTTP Requests만 지원 | 모든 종류의 Protocol Requests를 지원 |
service() 메서드의 오버라이드(재정의)를 지원하지 않음 | service()메서드의 오버라이드(재정의)를 지원 |
JSP 세션 관리가 자동으로 활성화 | 세션 관리가 자동으로 활성화 되지 않음 사용자가 명시적으로 활성화시켜주어야 함 |
JavaBeans client-side를 사용함으로써 JSP의 비즈니스 로직이 표현 로직과 분리되어있음 |
비즈니스 로직과 표현 로직 등을 하나의 서블릿 파일에 구현해야 함 |
수정이 빠름 | 수정이 느림 : Reload, 재컴파일, JavaBeans 사용, 서버 재시작 등의 작업이 포함 : 시간이 많이 걸리는 컴파일 작업 |
내장된 암묵적 객체 존재 | 내장된 암묵적 객체 없음 |
클라이언트 측에서 Javascript를 실행할 경우 클라이언트 측 검증이 사용됨 |
클라이언트 측에서 Javascript를 실행할 수 있는 방법이 없음 |
패키지를 코드의 어느 부분이든 포함할 수 있음 : bottom, middleclient-side, top, ... |
패키지를 코드의 맨 위에 가져와야 함 |
대용량 데이터의 효율적 처리 불가능 | 대용량 데이터 처리 가능 |
사용자 정의 태그를 작성할 수 있는 기능 있음 | 사용자 정의 태그 작성 기능 없음 |
실행 전, Java Servlet으로 컴파일 Servlet과 유사한 생명 주기를 가짐 |
웹 서버에서 호스팅되고 실행 |
출처
https://invertko.tistory.com/67
2019.01.29 JSP 기본예제#1
#1 랜덤수의 사용 ->Random12345678910111213141516171819java util Colored by Color Scriptercs ▼실행 화면▼ #2 자바변수선언후 그대로 JSP에서 사용123456789101112131415161718192021222324EX2 ID : PW : Colored by Color Scriptercs ▼실
invertko.tistory.com
https://codevang.tistory.com/191
Tomcat(톰캣), JSP, Servlet(서블릿)의 기본 개념 및 구조
JSP와 Servlet(서블릿)은 모두 자바로 웹 어플리케이션을 만들기 위한 도구입니다. 기존 자바를 통해 채팅 프로그램 등을 만들었듯이, 기본 원리는 거의 유사합니다. 다만 웹(Web)을 조금 더 쉽게 다
codevang.tistory.com
https://javacpro.tistory.com/43
[JSP] JSP (JavaServer Pages ) 란 무엇인가?
JSP (JavaServer Pages ) 란 무엇인가? JSP 란 JavaServer Pages 의 약자이며HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며
javacpro.tistory.com
https://geeksforgeeks.org/difference-between-servlet-and-jsp/
Difference between Servlet and JSP - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
https://java-is-happy-things.tistory.com/23
Servlet (서블릿)이해하기 + 실습예제
Servlet Servlet이란 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성늘을 향상하기 위해 사용되는
java-is-happy-things.tistory.com
https://java-is-happy-things.tistory.com/26
JSP(Java Server Page)
JSP JSP란? 자바서버페이지(JSP)는 HTML 내 자바코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. Java EE 스펙 중 일부로 웹 애플리케이션서버에서 동
java-is-happy-things.tistory.com
http://sgcomputer.tistory.com/236
서블릿 기초 형태
2020/10/30 - [백엔드/서블릿&JSP] - 서블릿(Servlet)이란? 서블릿(Servlet)이란? 서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서
sgcomputer.tistory.com
JSP vs Thymeleaf 참고용
https://velog.io/@posasac/SpringJSP-vs-Thymeleaf
[Spring]JSP vs Thymeleaf
자바 프로그래밍을 처음 배울 때 기본적으로 JSP를 배운다. JSP는 일반적인 Java MVC 구조에서 View의 역할을 하는데 요즘 Spring에서는 View로 Thymeleaf를 더 추구한다고 한다! JSP vs Thymeleaf JSP의 경우에는
velog.io
'개발' 카테고리의 다른 글
[Web] Thymeleaf (0) | 2024.07.03 |
---|---|
[Markup] CDATA 관련 (0) | 2024.07.03 |
[Protocol] SNMP (0) | 2024.06.14 |
[Spring Boot] 1. 스프링 부트 기능 특징 (0) | 2024.06.13 |
[Web] React, Spring boot 연동 (2) | 2024.03.21 |
- Total
- Today
- Yesterday
- 특정 거리의 도시 찾기
- 백준
- 11265
- 13397
- 2228
- 파이썬
- 19637
- 라그랑주 네 제곱수 정리
- 뷰탬플릿
- 내 아이피.한국
- 죽음의 비
- 구간 나누기
- db 외부 접속
- 18352
- onos
- 22944
- 구간나누기2
- mysql 유저 생성
- 5547
- 3대요소
- 끝나지 않는 파티
- 비교표현식
- ubuntu
- 5557
- Python
- Four Squares
- 17626
- 말이 되고픈 원숭이
- 16918
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |