PC

블로그 이미지

DAVID

160405: 17회차

Programming 2016. 4. 5. 12:28

종료하기 전 티스토리 네이버 로그아웃 할 것


1. 툴

동일

추가시: 


2. 폴더

동일

추가시:


3. 사용할 사이트

동일

추가시: http://www.dbguide.net/index.db

    DB관련 개발자 or DBA 시험 :>


   가고자 하는 회사에 맞춰서 - 나처럼 혼파망이면 기본 국가 공인 자격증 공부를 열시미 하는걸러... ㅠㅠ




4. 공부하는 것


헐 벌써 JSP 배움...


[01] Script, Servlet의 이해, JDK8.0, TOMCAT 8 Install

[1] WEB, 서버쪽 프로그래밍과 클라이언트쪽 프로그래밍 개론 

1. 클라이언트 쪽 스크립트 


   - http://www.w3.org
  
   - http://www.w3c.or.kr - 여기 짱 좋음 (예제 많음! ^ㅁ^)
       그리고 여기 가상...어 어쨌든 try it 이라는 virtual html 도 있음 
 
   - HTML API: http://www.w3schools.com/


오늘도 역시 인터넷이 구지군요

<<인터넷이 구진 이유>>

- 왜 옆사람의 노트북은 잘 되는가 -

1. 랜카드가 구짐입니다

2. 이 포스팅이 넘나 무거운 프로세싱입니다

3. 몰라여


티스토리가 css html 지원하는데 이걸로 써먹어도 될 듯 


그리고 오픈소스 개발개발도 참여해보기도 하기!

cvs(cvn?)이나 git으로 굳이 써 봅시다.


어쨌든!


   - 브러우저(Chrome, FireFox, IE)에 HTML, JavaScript, XML 해석기가 설치되어 
     있어 분석과 실행이 되어 출력됩니다. 



그래요 그리고 오페라랑 사파리까지는 됩니다.

다른애는 안됩니다.


이런 거 보고 클라이언트 쪽 스크립트라고 함 (브라우저쪽으로 보내서 니(받는 쪽이)가 처리해라! 하는 것)


나 파이어폭스 시른데!! (-_-) 일단 까라니까 깝시다!

이거 결제가 잘 안되서 시름맨...

액티브 액스 우리의친구가 안 되는 인터넷 표준 입니다.


<<넘나멋진 개발자>>

애플 컴퓨터 + firefox

근데 맥북은 그 **같은 마우스가 열받습니다.

그리고 사파리...!! 뒤로 가기 버튼이 이상한 사파리!

또한 뭔가 아이패드스러운 구성...

게다가 결제도 잘 안된다고! (브라우저의 가치는 결제로 결정된다)

은행 사이트! 한국 사이트 결제! - 아 물론 직구를 하면 괜찮겠지만 직구하면 최소 2주 기다려야한다고...


심지어 컴퓨터 뜯어서 청소하는 것도 못함

그러니까 별로 안 쓰고 싶지만 갖고 싶다




어쨌든 웹개발을 배우려면 이런 걸 다 잘 해야한대...

1. 돈이 많으면

2. 내가 사장하고

3. 잘 하는 놈을 뽑아서 쓰면 될 거 같다


는 생각을 했습니다.



어쨌든


<!-- HTML5 -->

<!DOCTYPE html>


이런 식으로 써야 html5가 먹어줍니다.

아 <!-- --> 는 안써줘도됨


<H1>이미지 출력 

 
   <A href='http://www.samyangranch.co.kr'>
    <IMG src='./sm01.jpg' border='0' title='삼양 대관령 목장으로 가기'> 
이거 타이틀은 대면 뜨는거 있자나 그거임
사진에 - 포인터를 대면 설명 뜨는거 !
a href 이거는 <> 주의하귀
   </A>
   
   </H1>



오 컨테이너다 컨테이너! :>


2. 서버쪽 스크립트 
   - 서버에 설치된 서블릿 컨테이너(Tomcat, Resin, Weblogic)에서 실행됩니다. 

//서버만 있다고 다 되는게 아니라 실행하려면 뭐시기가 많아야 합니다 라는 소리입니다.


   - HTML은 자료를 처리, 저장, 검색하는 기능이 없고 단지 출력하는 기능만 
     가지고 있습니다. 따라서 이런 데이터를 처리하려면 DBMS(Oracle, MySQL)같은 
     데이터베이스가 필요하며, 이 데이터베이스에 접속하기위해서  
     서버스크립트(JSP, PHP, ASP.NET)가 필요합니다. 

//쟤도 그런 소리입니다.


어쨌든 우리는 jsp 배워서 데이타베이스에다가 보낸다는 소리입니다.


   - JSP: SUN의 서버쪽 스크립트 기술, 모든 운영체제 지원, JAVA 기반,  
     Servlet Container(서버)를 설치해야 실행 할 수 있습니다. 
      
   - ASP.NET: MS의 스크립트 기술, MS 운영체제만 지원, C# 기반, 
     윈도우에 웹서버가 기본적으로 설치되어 있으며, .NET Framework를 
     설치해야 실행 할 수 있습니다. 
      
   - ASP: MS의 서버쪽 스크립트 기술, MS 운영체제만 지원, Visual Basic 기반, 
     IIS의 asp.dll이 처리하여 HTML로 결과를 생성함, 별다른 서버설치가 필요 없음, 
     유지보수, 수정이 매우 어렵습니다. 

      // 얘도 노동자가 되면 먹어줍니다. 


   - PHP: 서버쪽 공개 스크립트 기술, 모든 운영체제 지원, C 기반,  
     관련 dll파일이 처리, 속도가 느리고 유지보수, 수정이 매우 어렵습니다. 

//얘는 모든 운영체제를 지원해서 아직도 먹어줍니다. (소규모)



3. http 프로토콜을 이용해서 요청과 응답을 하는 서버환경 확인 
  

요새는 톰캣이 먹어주기 때문에 얘만 깔아도 써버 다 씁니다.






내가 보려고 적었는데 자꾸

서부릿을

servlet이 아니고 servelt으로 써진다 ㅡㅡ



출처: http://blog.naver.com/ktw3722/220674776516


자바 컨테이너하고 servlet 컨테이너는 다른 개념임!

그냥 서버라고 생각하면 됨! :> (갱신) -그리고 심지어 c로 짠 서버임 :>


[2] 서블릿의 이해 
    - Java로 만든 최초의 web관련 언어입니다. 


2. 서블릿을 이용한 구성 
   - CGI에 비해 Thread 기술을 이용하여 동시접속자로 인한 과부하를 많이 해소했습니다. 
   - 자바 기반 Web Application 구축 기술중에 가장 빠른 속도를 가지고 있습니다. 
   - Servlet의 단점은 디자인 부분과 혼합하여 작업하기가 매우 어렵습니다. 
   - 속도는 JSP에 비하여 컴파일 단계가 생략됨으로 빠른 형태를 가지고 있습니다. 
   - JSP가 Servlet으로 변환되는 과정에서 불필요한 코드가 많이 발생하나 
     서블릿은 이 과정이 생략되어 있어 속도가 매우 빠릅니다. 
   - 확장자가 java로 개발되어 .class 입니다.(jsp파일은 확장자가 *.jsp입니다.) 
                                                       

근뎅 어짜피 느린것도 개발맨이 테스트해서 쓸거라 속도 별로 차이 안남... -.,-

임이래여


이게 디자인이 개 어려워서 그냥 쉽게 만듬! 쪠이얘쓰피


3. JSP를 이용한 구성 
   - Servlet의 불편한 디자인 부분을 좀더 간결하게 제작하도록 개선된 서버 스크립트입니다. 
   - 하나의 JSP페이지에는 HTML, JavaScript, Java Code등이 혼합되어 존재하게 됩니다. 
   - 디자이너가 작업한 내용이 JSP 페이지로 변경됩니다. 
   - 변경된 JSP 페이지를 개발자가 코드 작업을 하게됩니다. 
   - 대형 사이트의 경우 유지보수 및 기능 확장이 어려워 나중에 JSP, Beans로 분리되게 됩니다.  

  
     IE  <------  응답 <-----   HTML  <----- JSP --> Servlet으로 변환   
                                                     ------------------------ 
                                                     *.jsp --> *.java --> *.class  




4. JSP + Beans(JAVA class) 를 이용한 구성 
   - JSP는 사이트 구축시 디자이너가 작업하게 되며,  
      일부 jsp 개발자가 코드 작업을 하게됩니다.  
     . 디자인쪽 비중이 매우 큽니다. 
   - BEANS는 콤포넌트 자바 개발자가 Business Logic(Process Logic)를 
      구현하는 목적으로 사용됩니다. 

     . DB관련 INSERT, UPDATE, DELETE, SELECT등  


빈즈가 JSP의 꽃이래여

근뎅 요새는 이딴거 안쓰고 MVC(-_-?) 로 한대영


배우긴 배우는것


MySQL에서 DAO DTO 같은 애들이 BEANS임



  
    IE  <----  응답 <---   HTML  <---  JSP --> Servlet으로 변환   -> JSP Beans 
                                              --------------------- 
                                              *.jsp --> *.java --> *.class  






JDK는 깔려 있으니까 TOMCAT 깔거임!




설치는 그냥 압축 해제해서 실행하면 됨


파일명을 tomcat-8.0로 바꿔줌

D:\javadb\web 요기다가 넣어줌



한글 처리에서 중요한 것 3가지.


1.서버 -> 브라우저로 자원(페이지)를

 보낼 때

그 자원에 한글이 있으면 다 깨짐!

-> 그래서 source 내에서 처리한다! :>


2. 브라우저 -> 서버로 데이터(정보)

를 보낼 때 거기 한글이 있으면

다 깨짐 ^^

↑(GET) 방식으로 데이터를 보낼 때

(GET) = Tomcat의 설정파일에 설정 // <%@ page contentType="text/html;charset=utf-8" %>


지금은 get 방식 하는 중


3. (POST) 방식으로 데이터를 보낼 때

(POST) = source 내에서 처리! :>




5. 작업용 폴더를 생성합니다.
 

   - D:/bigdata02/web/tomcat-8.0/webapps/jsptest                  
     . *.jsp, *.html, *.js, image, css, Folder등이 위치합니다. 

   - D:/
bigdata02/web/tomcat-8.0/webapps/jsptest/WEB-INF 
     . *.xml 환경 설정 파일이 위치, 이곳은 Client가 접속할 수 없습니다. 
     . 반드시 대문자로 폴더명이 되어 있어야 합니다. 
     . 잘못된 예: web-inf, WEB_INF, Web-Inf 대소문자 철저 구분  

   - D:/
bigdata02/web/tomcat-8.0/webapps/jsptest/WEB-INF/classes 
     . 서블릿이 위치 합니다. 
     . JSP Beans등이 위치합니다. 





확장자가 jsp면

<%@ page contentType="text/html;charset=utf-8" %>


가 꼭 필요함! :>


한글처리하면서 첫번째로 필요하던 것:>






실행하려면 

1. 자원 생성(만들었음)

2. 포트 열기 - 8000! :>


. = 현재 페이지하고 같은 경로





귀찮아서 그냥 찍었다...


2. 테스트 
   - D:/bigdata02/web/tomcat-8.0/bin/startup.bat를 실행합니다. 
     . 인식이 안되면 톰캣을 재시작하세요. 

   - http://127.0.0.1:8000/jsptest/test.jsp 
   - http://localhost:8000/jsptest/test.jsp 




구글 원격 데스크톱 사용해 봤음 -.-


세팅은 넘어가시고~~~~~~


[03] JSP 스크립트 기본 문법, 스크립틀릿, 메소드 선언문


01] 서버쪽 스크립트(JSP, PHP, ASP.NET)

   

  


   - 인터넷 브러우저가 읽어서 해석을 할 수가 없고 서버에 설치된 
     서블릿 컨테이너(WAS: Tomcat, Resin, JBoss, Webspere, Weblogic...)에서
     실행됩니다.
 
   - HTML은 자료를 처리, 저장, 검색하는 기능이 없고 단지 출력하는 기능만
     가지고 있습니다. 따라서 이런 데이터를 처리하려면 DBMS(Oracle, DB2, MySQL)
     같은 데이터베이스가 필요하며, 이 데이터베이스에 접속하기위해서 
     서버스크립트(JSP, PHP, ASP.NET)가 필요합니다.
 
   - HTML은 보안성이 없음으로 DBMS에 바로 접속할 수 없습니다. HTML은 누구나
     소스를 열어볼 수 있습니다. 따라서 DBMS에 접속하려면 반드시 서버스크립트를
     써야합니다.
 
   - JSP: SUN의 서버쪽 스크립트 기술, 모든 운영체제 지원, JAVA 기반, 
     Servlet Container(WAS)를 설치해야 실행 할 수 있습니다.
     대부분의 대기업을 포함한 모든 분야의 기업에서 폭 넓게 사용, 
     전자 정부 Framework의 기반 기술.
 
 
[02] JSP 스크립트 기본 문법
     - WEB 환경에서 JAVA를 이용한 DBMS 접근을 처리 합니다.
     - Java Logic 처리를 구현합니다.
     - JAVA를 기반으로하는 문법 입니다.
     - JSP 고유의 태그가 존재합니다.
     - JSP의 출력 결과를 HTML과 CSS로 편집하여 출력 합니다.
 
  
1. 스크립틀릿의 이해
 
   - 일반적인 java 코드가 쓰임: <% ... JAVA 코드 명시 ... %>
 
  
 
2. 선언문(특별한 경우만 사용, 빈즈로 대체하여 사용함으로 권장하지 않음)
 
   - 메소드(함수) 선언: <%! ...JAVA 메소드... %>
 
 
 
3. 표현식(Expression)  - 브라우저에 출력함! :>
   - 단순 출력 기능.

   - <% System.out.print(hap(10, 20)); %>: 콘솔에 출력 
     <% out.print(hap(10, 20)); %>       : JSP 출력 - out은 내장 객체인데 얘는 new 안해도 됨!:>
     <%=hap(10, 20)%> : JSP 출력, 문장 종결자(';')을 사용할 수 없고, 오로지
                        하나의 값만 출력할 수 있습니다.
 

  <% out.print(hap(10, 20)); %>  얘네 둘이 같은 애임    <%=hap(10, 20)%> 
4. 주석
   - <% 
        //            
        /*...~~~...*/ 
     %>


-----------------------ㅋㅋㅋㅋ 자바 파싱된 거 찾는 법
D:\javadb\web\tomcat-8.0\work\Catalina\localhost\jsptest\org\apache\jsp 요깄음 
와 신난다 ^^ java 파일과 클래스 파일을 겟했다 :>



세팅법 - 복잡한데 사실 별 거 없음

오예 밥이다 ㅋㅋㅋㅋㅋㅋ




------------------------넘많이먹었음 ㅋㅋㅋㅋ 이제큰ㅌ일남------------


요기서 서버 연결 확인 할 수 있음 :>





http://127.0.0.1:8000/jsp_test/jspscript.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>Insert title here</title>
</head>
<body>

<%
String name = "왕눈이";
int kuk = 90;
int eng = 95;
int tot = kuk + eng;
int avg = tot/2;
%>

<H1> 성적표 </H1>
<DIV style = 'font-size: 24px;'>
-----------------<br>
성명:<% out.println(name); %><br>
국어:<% out.println(kuk); %><br>
영어:<% out.println(eng);%><br>
총점:<%= tot%><br>
평균:<%= avg%><BR> 
<!-- 바로 표현식을 통해서 출력하고 있음 -->
</DIV>

<%
// System.out.println(">>>>name: " + name);
%>

</body>
</html>


http://div.or.kr/html-studying/%3Cdiv%3E%20%ED%83%9C%EA%B7%B8

<div> 태그

개요

Division의 약자로, 레이아웃을 나눌 때 주로 쓰인다

태그 특성상 가로 크기가 영역에 꽉차게 설정되는데, 추후 CSS 의 float 속성을 이용하면 내용에 꽉 붙게 설정할 수도 있다.

가로(width), 세로(height) 크기를 지정할수 있고 테이블 대체하며 레이아웃 배치 용도로 주로 쓰인다.


----------------

크롬도 http 프로토콜을 쓰긴 하는데

http://localhost:8000/jsp_test/jspscript.jsp 이긴한데
http:// 생략해줘서 (보일 때는) 없어보인당 -.-)





<%@ 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>Insert title here</title>
</head>
<body>


<%
String[] images = { "tu01.jpg", "tu02.jpg", "tu03.jpg", "tu04.jpg", "tu05.jpg", "tu06.jpg", "tu07.jpg",
"tu08.jpg", "tu09.jpg", "tu10.jpg" };

out.println("<H1> 튜울립 축제</H1> <br>");
for (int i = 0; i < images.length; i++) {
out.println("<A href = 'tulip/" + images[i] + "'>");
out.println("<IMG src = 'tulip/"+images[i]+"' width='200px' height='160px' border='0'>");
out.println("</A>");
}
%>
</body>
</html>


이런 것도 함 ㅇㅇ
이미지는 고정값이라 크기 변화 없음

[04] Page 지시자(Directive), import, 내부 객체의 이해

[01] Page 지시자(Directive)


지시자 ->  <%@ 이렇게 생긴 애 -_-)
인데 
<%@ page contentType="text/html; charset=UTF-8" %> 
저기 앞에 page 있으니까 페이지 지시자

   - contentType: jsp의 출력 형식 지정, 문자 셋을 지정합니다. 
     . 형식: contentType="text/html; charset=UTF-8"  ㅇ -_-);
       <%@ page contentType="text/html; charset=UTF-8" %> 
     . JSP처리 결과가 HTML임으로 MIME Type을 'text/html'과 문자 코드(UTF-8)를 
       선언. 
     . MIME Type: 브러우저가 출력하는 데이터의 종류를 나타낸 코드값, 
       브러우저에게 데이터 타입을 알려줌 
       예)image/jpg는 이미지가 출력됨 
     . 문자 코드는 UTF-8이 표준화 되어가고 있음으로 권장. 
     . XML, Ajax 사용시 주로 UTF-8를 선언합니다. 
     . EUC-KR, UTF-8 중 어떤 문자셋이든 브러우저가 자동으로 한글 코드를 적용시킴.  
     . 대소문자 상관 없음(자료실의 한글 파일명은 UTF-8을 사용할 것). 
     . HTML 태그의 META태그도 일치시켜야함(브러우저용). 
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
       <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> 


   - import: 패키지의 import, 중복 사용가능 합니다. 
     . 자바에서 패키지를 사용하겠다고 선언하는 것과 같습니다. 
     . Exam) <%@ page import="java.util.*" %> 

임뽀트는 중복 사용이 가능함! ^ㅁ^) 응 그러니까 그냥 java util * java util scanner ad sadsada wqewqe qw 이런거랑 같은거임

   - pageEncoding: jsp1.2에 추가된 규약으로 jsp페이지의 문자셋 형식을 
     지정합니다. 
     <%@ page pageEncoding="UTF-8" contentType="text/html" %> 


구냥 따로 문자셋 지정해도 됨미다

1. import속성의 실습, http://127.0.0.1:8000/jsp_test/import.jsp 
- <%@ page contentType="text/html; charset=UTF-8" %>: Tomcat 서버 입장에서의  
  한글 처리 방법 선언 
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">:  
  Web Browser 입장에서의 한글 처리 방법 

>>>>> /WebContent/import.jsp 

'ㅅ');;

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.util.Date" %>
<!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>Insert title here</title>
</head>
<body>
<DIV
style='font-size: 36px; color: #FFFFFF; background-color: #FF3399;'>
<%
Date date = new Date(); // Date cannot be resolved to a type - 임뽀트 안해도 왜 오류가 안떴지 -_-);;;
out.println(date.toLocaleString());
%>
</DIV>
</body>
</html>

2. 3자리 천단위마다 ','의 출력 

>>>>> /WebContent/comma.jsp 
- ₩를 입력하려면 ㄹ -> 한자


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.text.DecimalFormat"%>

<!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>Insert title here</title>
<style>
DIV {
font-size: 24px;
color: #ffffff;
background-color: #000055;
}

span.s1 {
color: #ff0000;
}

span.s2 {
color: #00ff00;
}
</style>

</head>
<body>
<%!public String comma(long val) {
DecimalFormat df = new DecimalFormat("₩ ###,###,### 원");
String str = df.format(val);
return str;
}%>
<H1>6월 급여 명세서</H1>
<DIV>
본봉:<%=comma(1800000)%>
<br> 수당:<%=comma(200000)%>
<br> 세금: <span class="s1"> <%=comma(100000)%></span> <br>
실수령액:
<%=comma(1900000)%>
<br>
<br> <span class="s2">수고하셨습니다.</span>

</DIV>

</body>
</html>

-------------------------뻘건거 ---- 덧글볼 것 - 


ㅎㅎ^^


[03] 내부 객체의 이해 
   - 개발자가 객체를 생성하지 않아도 jsp페이지가 서블릿 컨테이너(Tomcat)로 
     로딩되면 Tomcat등 서버가 자동으로 생성하는 객체를 말합니다. 
     따라서 개발자는 반복적인 작업을 줄이고 필요한 작업만 할수 있게 됩니다. 

   - jsp페이지는 Web서버 및 Servlet Container라고 하는 복잡한 환경에서 실행이 
     되기 때문에, 실행중에 여러가지 상태정보를 가지고 있어야 하는데, 
     이런 경우에 사용되는 객체들이 내부 객체들입니다. 

   - 내부 객체로 인해 개발자는 좀더 쉽게 JSP 프로그래밍이 가능함. 


1. request 내부 객체 
   
  
얘들은 요청 -> 응답 (정보가 사라짐)...?!

어 이거 사진 찍은 거 들어갈 자리!




  - javax.servlet.http.HttpServletRequest Interface를 Tomcat등 
     서버가 구현한 객체, 자동화된 객체, 개발자는 사용만함. 

   - <FORM>에서 입력되어 브러우저가 전송한 데이터를 Tomcat 서버의 JSP에서 
     처리할수 있도록 객체로 가져오는 역활을 합니다. 

   - 접속한 클라이언트에 대한 정보도 알 수 있습니다. 

   - 주소 표시줄에 한글을 직접 입력시 MS 익스플로러 및 이클립스 내부 브러우저는
     
한글이 깨집니다.(★, Chrome, Swing 브러우저는 안깨짐)


   - ?:값을 명시한다는 뜻

   - &: 접속자가 보내는 값이 2개 이상인 경우  

   - HTML은 Spacebar 공백이 무시됨으로 공백한칸을 표현하기위해 ' '을 사용.



- http://localhost:8000/jsp_test/request.jsp?pay=2000000&name=왕눈이&java=95&jsp=85&spring=70 
퍼런거까지 주소고 ? 부터는 데이타 전달하는 것임...
이게 GET 방식으로 파라메타 전달하는 것

근데 주소창에 한글 있으면 깨짐... ㅠㅠ 

1. http://localhost:8000/jsp_test/request.jsp 
2. /jsp_test/request.jsp 
3. 사용자로부터 입력을 받는 경우 
    급여: 2000000 
4. 사용자로부터 입력된 값이 여러개인 경우 
    급여: 2000000 
    성명: 왕눈이 
    JAVA: 95 
    JSP: 85 
    Spring: 70 
    총계: 250 
    평균: 83 



>>>>> /WebContent/request.jsp 

<%@ page contentType="text/html; charset=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>Insert title here</title>
</head>
<body>
<DIV style='font-size: 28px'>
  1. <%=request.getRequestURL() %><br>
  2. <%=request.getRequestURI() %><br>
  3. 사용자로부터 입력을 받을 경우<br>
      급여: <%=request.getParameter("pay") %><br> 
  4. 사용자로부터 입력값이 여러개인 경우<br>
      급여: <%=request.getParameter("pay") %><br>
      성명: <%=request.getParameter("name") %><br>
  <%   
  int java = Integer.parseInt(request.getParameter("java"));
  int jsp = Integer.parseInt(request.getParameter("jsp"));
  int spring = Integer.parseInt(request.getParameter("spring"));
  int tot = java+jsp+spring;
  int avg = tot / 3;
  %>
      JAVA: <%=java %><br>
      JSP: <%=jsp %><br>
      Spring: <%=spring %><br>
      총점: <%=tot %><br>
      평균: <%=avg %><br>
</DIV>
</body>
</html>


-----------------------------------------------어 만들어본대 (중요한거래)


URI하고 URL 차이

http://localhost:8000/jsp_test/request.jsp?pay=2000000&name=왕눈이&java=95&jsp=85&spring=70 

퍼런거: URL ((프로토콜부터 끝에까지)물음표 앞에까지..!!)

--
실제의 네트웍 경로를 가리키며, 네트웍 상의 리소스 접근시에 사용된다 URL의 첫 번째 부분은 다음과 같은 프로토콜을 명시하는데, 대부분의 경우 http이며, 가끔은 ftp 혹은 mailto이며, 드물게 gopher, news, telnet, file 등을 사용합니다. 이와 같은 URL 프로토콜 부분을 scheme이라고 한다.

URL 
 URL은 보통 브라우저의 주소 창에 입력하는 주소를 URL이라고 할 수 있습니다.
삼성SDS 멀티캠퍼스의 URL은 “http://www.e-campus.co.kr/” 입니다. 
이 주소가 URL이라고 볼 수 있습니다.
또한 좀더 상세하게 찾아보면 다음과 같은 URL도 있을 수 있습니다.  
  
“http://www.e-campus.co.kr/image/img_top.gif”
 
URL은 보통 다음과 같은 내용으로 구성됩니다.  
 프로토콜 http:// 
 도메인 www.e-campus.co.kr 
 자원을 식별할 수 있는 자원의 경로명 /image/img_top.gif 
 
 즉, 위와 같은 URL을 통하여 인터넷 상의 자원을 지정할 수 있습니다. URL을 통하여 지칭할 수 있는 
자원의 종류는 제한이 있는데 URL을 통해서 가져올 수 있는 자원은 유형, 무형의 자원 중 명백하게 
컴퓨터로부터 가져올 수 있는 종류의 것을 말합니다. 
 

[출처] URI 와 URL의 차이 |작성자 혁군


--

두꺼운 퍼런거: URI (응?) - 적다 놓쳤다!!
--
통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.
URI는 자원을 식별할 수 있는 문자열정도로 생각하면 될 것 같다

URI  
 인터넷 상에서 일반적으로 이루어지는 작업은 자원(resource)을 찾고 가져오는 일에 관련되어 있습니다. 
자원이란 인터넷상에 존재하는 html 파일이나 gif 파일 등을 의미합니다. 또한 넓은 의미로 생각한다면 
인터넷을 통하여 얻을 수 없는 자원도 포함합니다. 이러한 상황을 전제로 URI를 정의하면 다음과 같습니다.  
  
URI 란 리소스를 식별하는 문자열이다. 선호도에 따라 우리가 잘 알고 있는 URL(Uniform 
Resource Locator) 또는 URN(Universal Resource Name)의 둘 중 하나의 형태로 쓸 수 
있다. 
 
 위 정의를 보면 URI는 URL이나 URN 둘 중의 하나라고 말하고 있습니다. 둘 중의 하나라면 URI는 URN도 될
수 있고 URL도 될 수 있다는 것을 의미합니다. 그렇다면 URL과 URN은 어떤 의미로 사용할까요?  
--

request 개체의 getRequestURL() 과 getRequestURI() 의 차이

 | Server Oriented/Java & JSP 2012.02.27 10:42
Posted by 하늘아빠

아래와 같이 하면..
getRequestURL() 는 https://www.abc123.com:80/test1.jsp,
getRequestURI() 는 /test1.jsp 라고 나온다.

getRequestURL() 에는 getRequestURI() 내용 외에,
1. http:// 이냐 https:// 이냐의 프로토콜
2. :80 이냐 :8080 이냐의 포트
등이 추가로 표시된다.

http://raisonde.tistory.com/295

보니까 더 어렵다 -_-);;

URI는 인터넷 서비스를 통해 접근하고자 하는 자원의 식별 체계(경로)를 가리킨다. 즉, 어떤 파일이나 어떤 웹페이지에 접근 하고자 할때 사용되는 주소 체계를 말 하는 것이다. URI와 URL의 차이에 대해서 궁금해 하는 사람이 많은데, URL은 URI에 속하는 주소 체계중 하나이다. URI에는 URL말고도 URN, URC 라는 주소체계가 있다. 즉 URI는 이를 모두 포함하는 개념인 것이다.


URI ⊃ {URL, URN, URC}


URL은 우리가 흔히 알고 있는 주소 체계이다. 프로토콜 + 호스트 + 하위 경로로 구성되어 인터넷상의 특정 자원에 접근 할 수 있다. 예를 들어,

http://raisonde.tistory.com/227 

는 http라는 프로토콜로, raisonde.tistory.com 이라는 호스트로 접속하여 227 이라는 경로에 가면 원하는 문서가 있다는 말이다.


URN은 좀 더 복잡하지만 안정된, 영구적인 주소체계이다. URL은 해당 경로에 원하는 자원(파일, 웹페이지 등)이 변경되거나 이동 될 경우 더이상 접근이 불가능 해 지는 문제가 있는데 URN은 이런 자원에 대한 접근 경로를 지속적으로 추적 해 줌으로써 특정 자원에 반영구적으로 접근할 수 있다. 이를 위한 추적 에이전시로는 RSS(Resolution System Switcher)가 있으며 주소 체계는 IETF RFC 2141 에서 정의한다.


URC는 인터넷 상에 존재하는 자원에 관한 저자, 위치, 제목을 표현하는 메타 데이터의 일종이다. URL과 URC를 포함하는 컨테이너적인 체계이다.



ㅎㅎ^^
넹 

http://www.programering.com/a/MjN0UDNwATg.html


test1.jsp=======================

<a href ="test.jsp?p=fuck">A jump to test2</a>

test2.jsp=======================

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

out.println("basePath:"+basePath);
out.println("<br/>");
out.println("getContextPath:"+request.getContextPath());
out.println("<br/>");
out.println("getServletPath:"+request.getServletPath());
out.println("<br/>");
out.println("getRequestURI:"+request.getRequestURI());
out.println("<br/>");
out.println("getRequestURL:"+request.getRequestURL());
out.println("<br/>");
out.println("getRealPath:"+request.getRealPath("/"));
out.println("<br/>");
out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
out.println("<br/>");
out.println("getQueryString:"+request.getQueryString());

%>

 

Display the results:

basePath:http://localhost:8080/test/

getContextPath:/test 
getServletPath:/test.jsp 
getRequestURI:/test/test.jsp 
getRequestURL:http://localhost:8080/test/test.jsp 
getRealPath:D:\Tomcat 6.0\webapps\test\ 
getServletContext().getRealPath:D:\Tomcat 6.0\webapps\test\ 
getQueryString:p=fuck

In some applications, the unknown user requests must log resources, prompting the user to log on at this time to the current page, remember the user access to the URL, when he after successful login URL to the user according to remember last visited page:

String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();




모르겠군! :>

------------------------------------------------------------------------



<%@ 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>Insert title here</title>
</head>
<body>
<DIV style = 'font-size: 28px'>
1.<%= request.getRequestURL() %> <br>
2.<%= request.getRequestURI() %> <br>
3.사용자로부터 입력을 받을 경우 <br>
급여: <%= request.getParameter("pay") %><br>
4.사용자로부터 입력값이 여러개인 경우<br>
급여: <%= request.getParameter("pay") %><br>
성명: <%= request.getParameter("name") %><br>

<%
int java = Integer.parseInt(request.getParameter("java"));
int jsp = Integer.parseInt(request.getParameter("jsp"));
int spring = Integer.parseInt(request.getParameter("spring"));
int tot = java + jsp + spring;
int avg = tot /3;
%>
JAVA: <%= java %> <br>
JSP: <%= jsp %> <br>
Spring: <%= spring %> <br>
총점: <%= tot %> <br>
평균: <%= avg %> <br>
</DIV>
</body>
</html>

이러면 내가 막 뭐 하는지 다 볼 수 있음
URL이 거의 마일리 사일러스임
http://localhost:8000/jsp_test/request.jsp?java=100&name=%EA%B8%B8%EB%8F%99%EC%9E%89&java=100&jsp=100&spring=88&pay=100000000



그러니까 post type (레이디 타입) 도 해봅시다

<%@ 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>Insert title here</title>
<style type="text/css">
table {
width: 80%;
}

table, th, td {
border: 1px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th>이름:</th>
<td><input type="text"></td>
</tr>

<tr>
<th>성별:</th>
<td><label><input type="radio" name="gender">남자</label>
<label><input type="radio" name="gender">여자</label></td>
<!-- 이렇게 label로 감싸고 - 이름을 gender로 안 하면 두 개 다 체크 가능하니까 이름을 지정해준다! :> -->
</tr>

<tr>
<th>보유기술:</th>
<td><label><input type="checkbox"> JAVA </label> <label><input
type="checkbox"> JSP </label> <label><input type="checkbox">
MVC </label> <label><input type="checkbox"> SPRING </label> <label><input
type="checkbox"> jQuery</label></td>
</tr>

<tr>
<th>취미:</th>
<td><select>
<option>기술 서적 읽기
<option>게임
<option>영화감상
<option>보드타기
</select></td>

</tr>

<tr>
<th>자기소개:</th>
<td><textarea rows="5" cols="45"></textarea></td>
</tr>
</table>
<!-- 이 상태에서는 별로 기능ㅇ ㅣ없음 -->
</body>
</html>


일단 FORM02를 가져다가 박읍시다.
이 상태에서는 되는 게 없습니다

<%@ 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>Insert title here</title>
<style type="text/css">
table {
width: 80%;
}

table, th, td {
border: 1px solid black;
}
</style>
</head>
<body>
<form action="proc.jsp" method="post">
<!-- 뽐 안에 테이브를 넣ㅇㅓ야 보내기 ㄱㅏ ㄴ ㅡ ㅇ ㅎ ㅐ  ㅇ ㅕ  -->

<table>
<tr>
<th>이름:</th>
<td><input type="text" name="name"></td>
<!-- 쟤는 이름을 굳이 넣어줘야한다네 -->
</tr>

<tr>
<th>성별:</th>
<td><label><input type="radio" name="gender" value="남자">남자</label>
<!--  위아래 애들은 는 밸류값을 넣어줘야 한다네 --> <label><input
type="radio" name="gender" value="여자">여자</label></td>
<!-- 이렇게 label로 감싸고 - 이름을 gender로 안 하면 두 개 다 체크 가능하니까 이름을 지정해준다! :> -->
</tr>

<tr>
<th>보유기술:</th>
<td><label><input type="checkbox" value="java"
name="skill"> JAVA </label> <label><input type="checkbox"
value="jsp" name="skill"> JSP </label> <label><input
type="checkbox" value="mvc" name="skill"> MVC </label> <label><input
type="checkbox" value="spring" name="skill"> SPRING </label> <label><input
type="checkbox" value="jquery" name="skill"> jQuery</label></td>
</tr>

<tr>
<th>취미:</th>
<td><select name="hobby">
<option>기술 서적 읽기
<option>게임
<option>영화감상
<option>보드타기
</select></td>

</tr>

<tr>
<th>자기소개:</th>
<td><textarea rows="5" cols="45" name="info"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="전송">
</td>
</tr>
</table>


<!-- 여기 네임이랑 밸류를 무지하게 많이 만들어줬는데 이게 그... post 타입으로 쓰려거... -->


</form>
</body>
</html>


이거 돌리면 404 오류남
이유: proc.jsp 없어서


<% request.setCharacterEncoding("UTF-8"); %>
Post방식 한글처리!


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("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>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
String gender = request.getParameter("gender");

String[] skill = request.getParameterValues("skill");
String hobby = request.getParameter("hobby");
String info = request.getParameter("info");

/*
다 받아서 -> 
*/
%>



<h1>Post 데이터 전달값</h1>
<div style="font-size: 30px; background-color: #00ff00">
이름: <%=name%><br> 
성별:<%=gender%><br> 
보유기술: <% for(int i = 0; i<skill.length; i++){
out.print(skill[i] + " ");
}%><br>
취미:<%=hobby%><br> 
자기소개: <%=info%>
<br>
</div>


</body>
</html>

이거 짰음 :>

http://www.letmecompile.com/get-post-%EB%B0%A9%EC%8B%9D-%EC%B0%A8%EC%9D%B4%EC%A0%90/

GET, POST 방식 차이점

https://blog.outsider.ne.kr/312

GET과 POST의 차이


5. 수업

진도: 

hw: 


6. 할것


오늘은 스샷을 찍어서 html올릴 것 - 무지하게 무거운가봐 html이


'Programming' 카테고리의 다른 글

160407: 19회차  (1) 2016.04.07
160406: 18회차  (3) 2016.04.06
160404: 16회차  (4) 2016.04.04
160401: 15회차  (5) 2016.04.01
160329: 12회차  (3) 2016.03.29
Posted by DAVID
블로그 이미지

by DAVID

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/06   »
일 월 화 수 목 금 토
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

링크

카테고리

PC (112)
Programming (109)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
DAVID's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

PC

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • PC (112)
    • Programming (109)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바