웹 애플리케이션

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

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

리눅스

Ubuntu -> 개인


redhat 리눅스

-> RHEL (7) * 서버

-> Cent (7) 

-> Fedora (8?)




리눅스포털

https://www.linux.co.kr/
한국의 리눅스 포털 Linux.co.kr 무료 메일 계정, 리눅스 자료 제공.


Apache Tomcat® 

tomcat.apache.org/


Paint.NET - Free Software for Digital Photo Editing

www.getpaint.net/
Paint.NET is free image and photo editing software for computers that run Windows.


Stack Overflow

stackoverflow.com/


A language-independent collaboratively edited question and answer site for programmers.


MySQL

https://www.mysql.com/


The software's official homepage with news, downloads and documentation.

Begin Your Download - mysql-installer-web-community-5.7.12.0.msi

데이터베이스


관계형 데이터베이스는 데이터를 여러 개의 테이블에 나누어서 저장한다

DBMS ))) 오라클, SQL Server, 사이베이스, MySQL


MySQL:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

show databases; -> db확인

#create database {db이름};  -> db생성

#drop database {db이름}; -> db삭제

use {db 이름}; -> db접속


create table {table명}{      -> 테이블 생성

{컬럼명}{컬럼명}{option...}.

{컬럼명}{컬럼명}{option...}.

{컬럼명}{컬럼명}{option...}.

{컬럼명}{컬럼명}{option...}

};


show tables -> 테이블 확인

desc {테이블명} -> 테이블의 필드구조 확인


' IOT 기반 응용 SW과정 > Java, Eclipse ' 카테고리의 다른 글

Day28 MySQL  (0) 2016.04.25
Day27 MySQL  (0) 2016.04.22
Day24 GUI 그래픽 사용자 인터페이스 // 이벤트 처리  (0) 2016.04.19
Day23 TCP  (0) 2016.04.18
Day22 TCP  (0) 2016.04.12

+ Recent posts