웹 애플리케이션
웹 브라우저로 접근하여 사용되는 애플리케이션,
Web Application Server : WAS
-> BEA사의 WebLogic, IBM사의 WebSphere, SUN사의 iPlanet, Oracle 9iAS 등등
톰캣(Tomcat)!!!!
정적 |
웹 브라우저에 사이트 주소를 입력하면 해당 사이트에 있는 웹 페이지를 달라고 요청이 전송됨 웹 서버는 요청 받은 페이지를 응답 웹 브라우저는 응답받은 html 페이지를 해석하여 사용자에게 화면으로 출력 |
동적 |
웹 브라우저에 사이트 주소를 입력하면 해당 웹 어플리케이션 서버에게 요청이 전송됨 웹서버는 우베 어플리케이션에 구현되 있는 로직이나 DB연동등을 통해 결과 페이지를 생성해 응답 웹 브라우저는 응답받은 html 페이지를 해석하여 사용자에게 화면으로 출력 |
JSP
띄여쓰기 <br>
<%@page import="java.util.Date"%> - -> 디렉티브라고 부르며, JSP페이지에 대한 전반적인 설정을 선언
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%= new Date() %> : 표현식이라고 부르며, 자바 코드의 변수 값 등을 HTML로 출력
자바 서블릿(Java Servlet)
* 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다.
* 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다.
* JSP가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있다.
서블릿 만들기
1. HttpServlet을 상속
2. 이 서블릿이 처리할 요청(사용자가 입력하는 url)을 명시 및 등록
jsp파일들은 우리서버 ip / 프로젝트명(어플명) / webcontent이하의 파일경로를 요청으로 받음
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("/hello") //지금 작성하는 서블릿을 우리 웹어플리케이션에 등록한다는 의미 //괄호 안에 요청에 대해서 이 서블릿이 반응하겠다는 의미 //우리서버 ip / 프로젝트명(어플명) / hello라는 요청이 들어오면 이 서블릿이 반응함 public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 우리 서블릿으로 요청(get방식의)이 들어오면 이 함수가 호출됨 // req에는 들어온 요청에 대한 정보가 포함된 객체가 오고 // resp 내가 응답에 사용할 수 있는 응답객체가 있음 // super.doGet(req, resp); resp.setContentType("text/html;charset=UTF-8"); //한글입력처리 PrintWriter pw = resp.getWriter(); pw.println("<html>"); pw.println("<title>"); pw.println("시빌워"); pw.println("</title>"); pw.println("<body>"); pw.println("캡틴아메리카팀 vs 아이언맨팀 " + "<br> 스파이더맨? "); pw.println("</body>"); pw.println("<html>"); } } |
Addition.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Addition</title> </head> <body> <% int num1 = 20; int num2 = 10; //스크립틀릿이라고 부르고 자바코드를 실행할 수 있는 영역 int add = num1 + num2; %> <%= num1 %> + <%= num2 %> = <%= add %> //표현식이라고 부르고 자바 메모리상의 데이터 변수나 상수를 HTML값으로 뱉어주는 역할 </body> </html> |
AdditionServlet.java
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("/AdditionServlet") public class AdditionServlet extends HttpServlet { protected void doGet(HttpServletRequest reqest, HttpServletResponse response) throws ServletException, IOException { int num1 = 20; int num2 = 10; int add = num1 + num2; PrintWriter out = response.getWriter(); out.println("<html><head><title>Addition</title></head>"); out.println("<body>"); out.println(num1 + "+" + num2 + "=" + add); out.println("</body>"); }} |