- URL
- html/css/javascript => rendering
server program
- tomcat
- 실제 서비스 : window +(JDK) + tomcat
: standalone 방식
: 리부팅 tomcat 자동실행 스크립트 --설정 안하면 AS하러 가야함 - 개발용 서버: 개발용 IDE +tomcat
: 이클립스 등등에서 tomcat을 실행
: 이클립스는 서버설정을 복사해서 가지고옴
: 이클립스를 거치지 않고 실서버를 실행하면 다른 설정을 따름 - 서비스와 개발용 서버를 동시에 띄울 수 없음
서버 정의하기 -- 이클립스 버전에 따라서 톰캣지원 버전이 다름
톰캣 conf파일이 이클립스 server파일에 복사됨
두가지가 다른 설정을 따르므로 이클립스에서 서버를 실행한 뒤 브라우저상에서
test.html 파일을 열수 없음 ( 실 서버를 실행해야 함)
프로젝트를 만들떄 dynamic web project로 만들어야함
이 프로젝트 이름이 웹브라우저 상에서 주소에 포함됨
html 문서를 만들때 기본 템플릿을 지원함
설정이 EUK-KR로 되어있기 때문에 기본설정을 UTF-8로 바꿔줘야함
UTF-8로 바꿈
2. 저장위치
http://localhost : 컴퓨터
http://localhost:8080 : tomcat
- WebEx01/ex01.html
- C:\java\workspace\WebEx01\WebContent\ex01.html (실제 디렉토리)
- WebEx01/dir1/ex02.html
- C:\java\workspace\WebEx01\WebContent\dir\ex01.html
3.
HTML
- 문서의 틀
- 문서의 디자인
- 동적효과
- 디자인/ 기능
- 점점 확대 되는 추세
- 유럽 컴퓨터 제조 협회(European Computer Manufacturer’s Association)는 자바스크립트를 ECMAScript라는 이름으로 표준화
- V8 자바스크립트 엔진(V8 JavaScript Engine)은 구글에서 개발된 오픈 소스 JIT 가상 머신형식의 자바스크립트 엔진이며 구글 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있다.
- 클라이언트 자바스크립트
- 기존의 자바스크립트
- 브라우저 없이 쓸수 있음
- => framework (이미 짜둔것을 활용) : jQuery , D3.js(빅데이터용 자바스크립트)
- 웹은 애플리케이션의 모습에 점점 가까워짐
- 대표적인 예는 구글문서 작성 도구
- 구글 웹스토어의 게임 : 브라우서상에서 javascript로 게임을 짬
- 서버 자바스크립트
- node.js
- 현대 웹언어를 대표함(cafe24에서 호스팅제공), 데이터베이스와 연동됨
4. Javascript
<script>자바스크립트 기술 </script>
- <head>~</head> : 선언의 의미
- <body>~</body> : 실행의 의미
- 외부파일로 독립시키는 것도 가능함
*문자열 : ""/ ' ' 상관없음
*document.write("출력내용");
*document.write('출력내용');
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
document.write('Hello JS');
</script>
</body>
</html>
/**
*
*/
document.write('Hello JS');
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript" src="default.js"></script>
<script type="text/javascript">
document.write('Hello JS');
</script>
</body>
</html>
5
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//document.write('Hello JS');
document.write('Hello JS<br/>') //document.write 출력 결과는 HTML이다
document.write('<b>Hello JS</b><br/>');
</script>
</body>
</html>
6
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
td {border: 1px solid red;} /* 스크립트 안에있는 html 코드에 css적용 가능함 */
</style>
</head>
<body>
<script type="text/javascript">
document.write('<table>')
document.write('<tr>')
document.write(' <td>Hello JS</td>');
document.write(' <td>Hello JS</td>');
document.write('</tr>')
document.write('</table>')
</script>
</body>
</html>
7
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//디버깅 용 -- 윈도우 창에 출력되지는 않지만 개발자도우에 console에서 볼 수 있음
console.log('Hello JS');
</script>
</body>
</html>
8
자료
제어문
- 메서드 -> 함수 (클래스 밖의 메서드) : function
- 클래스(JSON - Javascript object notation 클래스를 선언 할 때 사용함)
- 메서드
변수선언
- var (varient) : 가변형 (자동적으로 데이터형을 정하는 타입)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//변수 선언 var 지워도 상관없음
var num1 = 10;
num2 = 20;
console.log(num1);
console.log(num2);
</script>
</body>
</html>
9
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//자료형을 볼때 typeof 사용 ---함수가 아니고 연산자임
console.log(typeof ('String'));
console.log(typeof (273));
console.log(typeof (true));
console.log(typeof (function(){}));
console.log(typeof ({}));
console.log(typeof (alpha));
</script>
</body>
</html>
10
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//변수의 재선언이 가능함
var var1 = "Hello JS1";
var var1 = "Hello JS2";
var var1 = "Hello JS3";
console.log(var1);
</script>
</body>
</html>
11. 형변환 : 함수를 사용
숫자로 형변환
- Number()
- parseInt()
문자로 형변환
- String()
- ""+
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//형변환
var num1 = Number('123abc');
console.log(typeof(num1));
console.log(num1); //Number는 알파벳문자를 숫자로 바꿀 수 없음
var num2 = parseInt('123abc');
console.log(typeof(num2));
console.log(num2); //parseInt는 문자를 제외하고 숫자로 바꿈
</script>
</body>
</html>
**NaN(Not a Number) 값 출력 : 숫자가 아닌 값 입력 시
**Nan은 자료형 숫자이나 자바스크립트로 나타낼 수 없는 숫자 (ex 복소수)
12
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//형변환 Boolean
//아래 다섯 가지를 제외한 모든 경우 true로 변환
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(''));
console.log(Boolean(null));
console.log(Boolean(undefined));
</script>
</body>
</html>
13
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//비교연산자
console.log('' == false);
console.log('' == 0);
console.log(0 == false);
console.log('273' == 273);
//일치 연산자 ===는 값,자료형 일치여부를 둘다 검사
console.log('' === false);
console.log('' === 0);
console.log(0 === false);
console.log('273' === 273);
</script>
</body>
</html>
14
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//조건문
var hakjum = 85;
if (hakjum >= 90){
console.log('A');
}else if(hakjum >= 80){
console.log('B');
}else if(hakjum >= 70){
console.log('C');
}else if(hakjum >= 60){
console.log('D');
}else{
console.log('F');
}
</script>
</body>
</html>
15
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
/*css꾸미기*/
table{border: 1px solid black; border-collapse: collapse;}
td{border: 1px solid black;}
</style>
</head>
<body>
<script type="text/javascript">
//반복문 구구단
document.write("<table>");
for(var i=1; i<10; i++){
document.write("<tr>");
for(var j=1;j<10;j++){
document.write("<td>"+i+"X"+j+"="+i*j+"</td>");
}
document.write("</tr>");
}
document.write("</table>");
</script>
</body>
</html>
16
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//배열
var arr = [10,20,30,40];
//배열 데이터 확인 for
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
//향상된 for in
for(var i in arr){
console.log(arr[i]);
}
</script>
</body>
</html>
17
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//함수 선언부
function fun1(){
console.log('Hello Function');
}
function fun2(data1, data2){ //매개변수 있음
console.log("data1 :" + data1);
console.log("data2 :" + data2);
}
</script>
</head>
<body>
<script type="text/javascript">
//함수 실행부
fun1();
fun1();
fun2(10,20);
fun2(10); //매개변수 없어도 실행이 됨
fun2(); //매개변수 없어도 실행이 됨 →오버로딩이 안됨
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//함수 선언부
function fun2(data1, data2){
if(data1 == undefined || data2 == undefined){ //undefined 검사
console.log("입력 데이터가 없습니다.");
}else{
console.log("data1 :" + data1);
console.log("data2 :" + data2);
}
}
//리턴이 있는 함수 (자바와 달리 자료형태를 앞에 기술하지 않음)
function fun3(data1, data2){
return data1+ data2;
}
</script>
</head>
<body>
<script type="text/javascript">
fun2(10,20);
fun2(10);
fun2();
//리턴함수 실행
var return1 = fun3(10,50);
console.log(return1);
</script>
</body>
</html>
18
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//선언함수 : 일반적 함수 선언
function fun1(){
console.log('Hello function');
}
//익명함수
var fun2 = function(){
console.log('Hello function');
}
</script>
</head>
<body>
<script type="text/javascript">
fun1();
fun2();
console.log(typeof(fun1))
console.log(typeof(fun2))
var fun3 = fun1; //함수 할당이 가능함
fun3();
var fun4 = fun2; //함수 형태 변수는 다른함수의 인자, 리턴으로 사용가능
fun4();
</script>
</body>
</html>
19
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var callback = function(){
console.log("함수 호출");
}
var callTenTimes = function(call1){ //함수를 매개변수로 받을 수 있음
for(var i =0; i<10; i++){
call1();
}
}
</script>
</head>
<body>
<script type="text/javascript">
callTenTimes(callback);
</script>
</body>
</html>
20
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var rFunction = function(){ //함수를 리턴하는 함수
return function(){
console.log("call function");
}
}
</script>
</head>
<body>
<script type="text/javascript">
//함수리턴함수의 실행
var res = rFunction();
res();
//짧은 코드
rFunction()();
</script>
</body>
</html>
21
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//매개변수를 쓰지 않아도 배열로 들어감
var sumAll = function(){
//argument : 베열 데이터
console.log(arguments.length);
for(var i in arguments){
console.log("데이터 : " + arguments[i]);
}
}
</script>
</head>
<body>
<script type="text/javascript">
sumAll(1);
sumAll(1,2,3);
</script>
</body>
</html>
22
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function outer(){
function inner1(){
console.log('inner1() 호출')
}
function inner2(){
console.log('inner2() 호출')
}
inner1();
inner2();
}
</script>
</head>
<body>
<script type="text/javascript">
outer();
</script>
</body>
</html>
23
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//내장함수 - Window 객체 메서드 - 함수접근 가능
//alert('경고창');
confirm('확인창');
</script>
</body>
</html>
24
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//인코딩 함수
var str = '스타워즈';
var eStr = encodeURIComponent(str);
console.log(eStr);
console.log(decodeURIComponent(eStr)); //디코딩
</script>
</body>
</html>
25
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//eval 함수 --문자열을 해석해서 실행
var expr = "2 + 3";
console.log(expr);
console.log(eval(expr));
var expr2 = "";
expr2 += "var num =10;";
expr2 += "alert(num);";
eval(expr2);
</script>
</body>
</html>
댓글 없음:
댓글 쓰기