웹 애플리케이션

웹 브라우저로 접근하여 사용되는 애플리케이션, 

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>");

}}


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day37 액션태그  (0) 2016.05.10
Day36 내장 객체의 영역, 액션태그  (0) 2016.05.09
Day35 JSP  (0) 2016.05.04
Day34 JSP 내장 객체  (0) 2016.05.03
Day33 Jsp  (0) 2016.05.02

+ Recent posts