728x90

JSP 표준 액션 태그

JSP에서 기본으로 제공하는 태그

 

jsp:include

현재 페이지에 특정 페이지를 포함할 때 사용

공통 코드를 복붙 하기보다 각각 JSP 페이지에 구성을 하고 액션태그를 이용해 페이지를 포함시키는 것이 좋다 공통적으로 적용된 부분을 한꺼번에 수정할 수 있게 되어 유지보수가 수월

jsp include 지시자와의 차이

<%@ include file=“파일 명” %>과 쓰임이 동일하나 jsp파일이 java파일로 변환될 때 삽입되는 <%@ include %>와는 달리

jsp파일이 java파일로 바뀌고 컴파일이 완료되어 런타임 시 삽입

<jsp:include page=“파일 명“ flush=“true”/>
<jsp:include page=“./header.html”>
		<jsp:param name=“str” value=“안녕하세요”> 
</jsp:include>

 

 

jsp:forward

현재 페이지 접근 시, 특정 페이지로 이동

하나의 JSP페이지에서 다른 JSP페이지로 요청 처리를 전달할 때 사용 전달하는 페이지에서 request, response객체가 같이 전달되며, URL 변경x

RequestDispatcher 의 forward와 비슷

<jsp:forward page=”이동할페이지”>
		<jsp:param name=”변수명” value=”값” /> 
</jsp:forward>

 

<% if(str.equals(“A”)) { %>
		<jsp:forward page=“test1Class.jsp”>
<% } else { %>
		<jsp:forward page=“test2Class.jsp”> <% } %>

 

jsp:useBean

Java Bean객체를 사용하기 위한 태그

JSP에서 사용하는 VO, DTO, Entity와 동일

java class를 참조하여 빈(java bean) 객체를 생성하고 setProperty와 getProperty를 통해 값 저장 및 조회 가능

이미 같은 이름의 객체가 생성된 경우 기존의 객체 참조

 

   - id : 객체 인스턴스를 식별하는 이름

   - class : 완전한 형태의 클래스 이름

   - scope : 객체 참조의 유효범위(default : page)

<jsp:useBean id=”빈 이름” scope=”범위” class=”빈의 저장위치”/〉

<jsp:useBean id=“객체명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>
728x90
반응형
728x90

 

에러메세지

HTTP 상태 404 – 찾을 수 없음

Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.

상황

배운 코드를 써볼려고 새로 workspace와 프로젝트 파일을 생성하고 jsp뷰와 모델.vo 파일만해서 실행해봄. 수업 때는 저 두 파일만해서 페이지가 켜졌는데 에러나서 찾는 중

원인

이 에러메세지 원인의 상당 부분은 해당 경로가 잘못됬거나,경로가 지정하는 곳에 파일이 없는 것

지금의 경우에는 WEB-INF 아래 있는 파일들은 서버에서만 접근이 가능해서 서블릿을 통해야만 접근 할 수 있기 때문에

그래서 파일을 찾지 못한다고 나왔던 것

 

해결

파일들을 WebContent 아래로 이동

728x90
반응형
728x90

 

JSP 표준액션태그

 <jsp:useBean>

java class를 참조하여 빈(java bean) 객체를 생성하고 setProperty와 getProperty를 통해 값 저장 및 조회 가능 이미 같은 이름의 객체가 생성된 경우 기존의 객체 참조

id속성이 변수명이 되고 참조값이 됨

<jsp:useBean id=“객체명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<p>객체값 통째로 찍기</p>
	
	<jsp:useBean id="put_varName_n_ref" class="action.model.vo.Person" ></jsp:useBean>
	객체값 통째로 찍기 : <%= put_varName_n_ref %>
	 
	<br>
	<!-- 안에 있는 값을 가져올 것임  -->
	<!-- get역할을 하는 jsp:getProperty 사용  -->
	이름 : <jsp:getProperty property="name" name="put_varName_n_ref"/><br> <%-- <% person1.getName %> --%> <!-- person1이 레퍼런스가 되는 것임. 레퍼런스로 참조할 것이 person1. 여기서 가져올 것이 이름 가져올거라 name 기술하면됨 -->
	성별 : <jsp:getProperty property="gender" name="put_varName_n_ref"/><br>
	나이 : <jsp:getProperty property="nai" name="put_varName_n_ref"/><br>
	
	
<h2> 1.표준 액션 태그  useBean으로 vo클래스 객체 불러오기</h2>
	
	<jsp:useBean id="per" class="action.model.vo.Person"></jsp:useBean>
	
	<!-- set으로 a값 넣기 : value속성값 -->
	<jsp:setProperty property="name" name="per" value="a"/>
	
	jsp:useBean & getProperty로 vo클래스 값 가져오기 : 
	<jsp:getProperty property="name" name="per"/><br><br>


<h2> 2.표준 액션 태그 중 useBean을 사용하여 vo클래스에 데이터 초기화</h2>
	<jsp:useBean id="p" class="action.model.vo.Person" scope="request"/>
	<jsp:setProperty property="name" name="p" value="b"/>
	
	jsp:useBean & getProperty로 vo클래스 값 가져오기 : 
	<jsp:getProperty property="name" name="p"/><br><br>
	
	
	이름 : <jsp:getProperty property="name" name="p"/><br> 
	성별 : <jsp:getProperty property="gender" name="p"/><br>
	나이 : <jsp:getProperty property="nai" name="p"/>

</body>
</html>
728x90
반응형
728x90


에러 메시지
HTTP 상태 404 – 찾을 수 없음
Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.


상황
배운 코드를 써보려고 새로 workspace와 프로젝트 파일을 생성하고 jsp뷰와 Model.vo 파일만해서 실행해봄. 수업 때는 저 두 파일만해서 페이지가 켜졌는데 에러 나서 찾는 중

원인
이 에러 메시지 원인의 상당 부분은 해당 경로가 잘못됐거나, 경로가 지정하는 곳에 파일이 없는 것

해결
방법1
이클립스 or STS 재부팅, 컴퓨터 재부팅,
이클립스 상단 project탭 - clean 실행
서버 clean실행

방법2
프로젝트 파일의 properties - java build path - libraries에서 톰캣 서버가 있는지 있으면 이름이 설정된 것과 맞는지 확인
없다면 add Library 눌러서 server Runtime 클릭하고 next
그리고 사용하려는 서버 선택


해결
방법1
프로젝트 파일의 properties - java build path - libraries에서 톰캣 서버가 있는지 있으면 이름이 설정된 것과 맞는지 확인



없다면 add Library눌러서 server Runtime 클릭하고 next
그리고 사용할려는 서버 선택

728x90
반응형
728x90

 

404 error : Page Not Found(페이지를 찾을 수 없다)

image, file, page 등 못찾아서 발생하는 것

form action, servlet url 연결부분, href 등의 부분을 주로 살펴보면 대부분 고칠 수 있을 것이다.

 

 

이클립스 + 코드 이상 없는 경우

이클립스를 쓰고 있고,  경로랑 철자 등 코드에 문제가 없는데도 계속 HTTP 404 오류와 함께 경로를 찾을 수 없다고 뜬다면

코드를 복사하고 기존 파일을 삭제하고 새로 생성하므로써 해결했습니다.

이클립스 불안정한 부분인 듯 합니다.

 

728x90
반응형
728x90

 

400대 에러 : 브라우저와 관련된 에러

대표적으로

404 error : Page Not Found(내가 페이지를 찾을 수 없다)

image, file, page 등 못찾아서 발생하는 것

form action, servlet url 연결부분, href 등의 부분을 주로 살펴본다

 

500대 에러 : 로직 에러

대표적으로

500 error : 많은 로직이 있어서 특정 불가능. 로직으로 나는 모든 에러

nullpointer, arithmetic 등 그때그때 에러 내용 확인 할 것

SQLException, SQLSyntax 관련이라 뜨면 이쪽을 보면 됨

728x90
반응형
728x90

 

WEB1 부록.채팅 기능 추가

 

이런 채팅 기능

방문자와 채팅 가능하게하는 서비스

 

www.tawk.to

로그인하고 설정화면에서 widget code 복붙 사용

 

html파일로 바로 쓰면 에러나고 웹서버를 통해서 사용해야함

 

 

 

728x90
반응형
728x90

 

web1-19.웹서버 운영하기

하나의 문제해결을 위해 몇일이 걸릴 있지만 이를 통해 수많은 지식과 경험을 쌓을 있음

 

웹브라우저는 제품명이 아니라 제품군

웹서버도 동일

 

웹서버 프로그램 : Apach, IIS, Nginx

Apach 무료, 점유율1

 

 

 

 

web1-19.1. 웹서버 설치(windows)

(추천검색어 : how to install apache http server os)

 

bitnami wamp : 통합설치 프로그램

 

WAMP

W : Windows

A : Apach

M: MySQL (데이타베이스 프로그램)

P : php (middleware 미들웨어)

 

 

 

web1-19.2. 웹서버 http

 

Internet Protocol Address (IP address)

127.0.0.1/index.html

 

127.0.0.1  : 웹브라이저가 설치되어 있는 컴퓨터를 가리키는 약속되어있는 특수한 주소

 - 주소를 치는 것은 웹브라우저가 설치 되어있는 각자의 컴퓨터의 웹서버를 가리키는

 

127.0.0.1 주소에 /index.html이라는 경로를 입력하면,

웹브라우저가 자신이 설치되어잇는 웹서버에 접속해서 index.html 파일을 원해라고 얘기하는 것이며, 웹서버는 htdocs라는 디렉토리에서 파일을 찾도록 설정이 기본적으로 되어있는 상태임(변경가능).

그럼 웹서버는 설정대로 htdocs디렉토리에서 index.html파일을 읽어와서 파일을 웹브라우저로 보내주고 웹브라이저는 파일을 읽고 해석해서 화면으로 출력해주는

 

htdocs html파일을 넣으면 파일이 웹페이지가 되는

 

127.0.0.1 file:///c:/Bitnami/wampstack-7.1.10-1/apache2/htdocs/1.html 차이

 

file html파일에 있는걸 직접 오픈하는 것이고

http 웹브라이저와 웹서버가 서로 통신할 사용하는 통신규약(http : Hyper Text Transfer Protocol) 이용해서 데이터를 가져옴.

한대의 컴퓨터에 웹브라우져와 웹서버가 같이 설치 되어있어 결과로 출력된 웹페이지만 보면 차이가 없지만,

 서로 다른 컴퓨터에 있는 웹브라우저와 웹서버가 통신하기 위해서는 반드시 http 사용해야함

 

 *http?

웹페이지를 웹브라우저와 웹서버가 서로 주고 받기 위한 약속

 

 

 

 

web1-19.3. 웹서버와 웹브라우저의 통신

두대의 컴퓨터에서 서로 웹페이지를 주고 받는 방식을 알아보자        

한대의 컴에는 웹서버가 설치되어 있고 하드디스크에 index.html 파일이 있는 상황

우리는 웹브라우저를 통해서 웹서버에 접속하해서 index.html파일을 전송 받아서 화면에 띄우고 싶은 상태

친구한테 전화해서 받을려면 친구 전화번호를 알아야하는 것처럼 인터넷에서는 전화번호가 IP address

 

컴이 두대 있어야 하는데 스마트폰으로 메인컴 웹서버에 접속가능

파일이 있는 웹서버의 IP 확인방법

 - 제어판-네트워크 공유센터-인터넷상태-자세히-IPv4 address 확인

 

접속할 웹서버 IP address 입력하면 접속가능하게

127.0.0.1을 입력한다면…?

(전세계적으로 자기자신의 주소를 127.0.0.1 하기로 약속됨)

 

 

주소창에 127.0.0.1 입력한다면 자기 자신을 의미하는

 

 

두대의 컴퓨터(or스마트폰1대와 메인컴)

같은 무선인터넷이나 공유기에 접속해 있어야 연결가능(같은 네트워크 안에 있어야함)

 

728x90
반응형

'웹 관련 > └생활코딩 WEB1' 카테고리의 다른 글

생활코딩 WEB1 : 부록.동영상 삽입  (0) 2021.12.17
생활코딩 WEB1 : 20  (0) 2021.12.17
생활코딩 WEB1 : 17-18  (0) 2021.12.12
생활코딩 WEB1 : 14-16  (0) 2021.12.12
생활코딩 WEB1 : 11-13  (0) 2021.11.09
728x90

 

web1-11. 최후의 문법 속성 & img

태그름만으로는 정보가족할 있다

<img src=“이미지파일.jpg” width=“100%>

Attribute

Src = source

 

*Unslash 작권 상관없이 이미지 있는 싸이트!

 

 

web1-12. 부모자식과 목록

부모(parent) : 다 태그함하는 태그

(child) : 다 태그에 속하는 태그

<parent>

<child></child>

</parent>

 

 

<br> 줄바 태그

<li><li> : List, 목차태그

<ul></ul>  : 순서x, Unordered List

<ol></ol> : 순서있는 리스트, Ordered List

 

li : 자 태그로써 반드시 부모태그가 필요

  • 어디서부터 어디까지 연관된 항목인지 짓는다(grouping)

ul : 부모태그로써 반드시 태그가 필요

<ul>

<li>egoing</li>

<li>youbin</li>

</ui>

(위 배울과 아래 참여자. 이렇게 li,ul사)

 

 

*콘트롤+클릭(윈도우즈) : 다중으로 클로즈태그성가능

 

 

 

 

web1-13. 문서의 구조와 슈퍼스타들

사용빈도수가 높은

 

<!doctype html> 관용적으로 서두에 html문서를 나타내 의미로

<html></html> 최고 태그

<head></head>

<body></body>

<title></title> : 웹페이지. 인터넷창의 탭에 보이. 본문

<meta></meta> : 본문

 

<meta charset=“utf-8”>

  • uft-8 열어라는 의미
  • uft-8 만들었으면 uft-8 열어야 안깨짐
  • 컴퓨터가 01 인식가능하고 데이터종적으로 01로저장함
  •  01 어떻게장할지 여러가지 약속들이 존재하는데 하나가 uft-8 
  • Cha : character 문자라 의미
  • Set : 칙이라는 의미

 

위에 코드들은 본문을

아래있는 코드들은 본문

 

Html 코드들은 <head> <body> 하나에 반드시 놓이게된다

태그 위에 <html> 쓴다

 

 

728x90
반응형

'웹 관련 > └생활코딩 WEB1' 카테고리의 다른 글

생활코딩 WEB1 : 19-19.3  (0) 2021.12.17
생활코딩 WEB1 : 17-18  (0) 2021.12.12
생활코딩 WEB1 : 14-16  (0) 2021.12.12
생활코딩 WEB1 : 08-10  (0) 2021.11.08
생활코딩 WEB1 : 01-07  (0) 2021.11.06
728x90

 

web1-8. 통계에 기반한 학습

html 150 이상의 태그가 존재하나 외울 필요 없이, 주요 몇개와 이해만 있다면 검색으로 모두 가능

 

<strong>,<u>,<h1-6>  이미 8가지 태그를 알고있음

 

html 사용 빈도수

 

 

web1-9. 줄바꿈 : br vs p

CSS맛보기

가독성을 위한 줄바꿈 필요 - 검색해보기 : html new line tag

<br> : 줄바꿈, 시각적 효과만 존재, 닫는 태그없음

<p></p>: 단락 나누는 태그.

*위의 태그는 시각적으로 같지만, p태그를 쓰는게 좋다. 웹페이지를 정보있는 가치로 만들어줌. 단락을 표현하므로 의미 있게 만듬

 

 *둘의 차이

<p> 정해진 여백이 있어 제한이 있으나 css 정교하게 스타일링가능.

<br> 원하는 만큼 써서 공백을 만들 있음

<p style="margin-top:45px;">

margin 태그!

 

 

 

 

 

web1-10. html 중요한 이유

 

인터넷 글쓰는 것은 내부적으로 html코드성하는 행위였음

편집기에서 h3태그로 감싼 글자와 볼드,글자크기를정한각적인 효과 있는 글씨와는 검색시에 엄청난 차이 난다

 

검색에서 유리 태그들로성해라

검색엔진들은 인터넷에서천수만의 검색어 관련 자료 분석하는데 h태그 것과 것은 검색선순위에서 엄청난 차이가난다. 검색은 되지 100-200페이지 뒤에 나온다면 누가볼까?

각장애인을 배려도 태그!

 

 

 

728x90
반응형

'웹 관련 > └생활코딩 WEB1' 카테고리의 다른 글

생활코딩 WEB1 : 19-19.3  (0) 2021.12.17
생활코딩 WEB1 : 17-18  (0) 2021.12.12
생활코딩 WEB1 : 14-16  (0) 2021.12.12
생활코딩 WEB1 : 11-13  (0) 2021.11.09
생활코딩 WEB1 : 01-07  (0) 2021.11.06

+ Recent posts