Web Dev

67일차 Study

수오니니 2022. 1. 20. 10:12

<<스터디 주제>>

- JSP(간단한 웹사이트 구현)

 

<<스터디 내용>>

WEB PROGRAM - JDBC

Connection Pool 은 WAS가 만들어두게 하는게 로딩이 가장 빠르다.

  • JdbcDAO.java
  • context.xml
  • ojdbc11.jar

※ Server(tomcat) 에서 context.xml 또는 web.xml에서 바꾸는 것은 권장하지 않는다.

sql에서는 스네이크 표기법(JOIN_DATE)를 쓰지만 java에서는 특별한 일 아니면 사용하지 않음

카멜표기법으로 표시할 것(joinDate)

 


 

자바스크립트를 이용해 DB연동을 하려면 AJAX라는 기술을 이용하여 할 수 있다.

 

절대경로 사용할 것!

<form id="join" action="<%=request.getContextPath() %>/site/index.jsp?workgroup=member&work=member_join_action" method="post">

<img src="<%=request.getContextPath() %>/action/template_site/images/Koala.jpg" width="300">

 

템플릿 페이지(index.jsp)의 Content 영역에 포함되는 JSP 문서이므로 리다이렉트 이동 불가능

→ 자바스크립트를 이용하여 페이지 이동

 

비정상적인 요청에 대한 응답처리 - 에러페이지 이동

템플릿 페이지(index.jsp)의 Content 영역에 포함되는 JSP 문서이므로 리다이렉트 이동 불가능

→ 자바스크립트를 이용하여 페이지 이동

<%
if(request.getMethod().equals("GET")) {

out.println("<script type='text/javascript'>");
out.println("location.href='"+request.getContextPath()+"/site/index.jsp?workgroup=error&work=error400';");
out.println("</script>");
return;
}
%>

 

비밀번호 암호화 처리 메소드 필요!

 

MessageDigest : 암호화 처리 기능을 제공하는 클래스

 

MessageDigest.getInstance(String algorithm)

: 암호화 처리 알고리즘을 저장한 MessageDigest 인스턴스를 반환하는 메소드

⇒ 매개변수에 잘못된 암호화 알고리즘이 전달될 경우 NoSuchAlgorithmException 발생

암호화 알고리즘(단방향) : MD5, SHA-1, SHA-256(권장), SHA-512 등

 

MessageDigest.update(byte[ ] input)

: MessageDigest 인스턴스에 암호화 처리하기 위한 문자열을 byte 배열로 전달받아 저장하는 메소드

String.getBytes() : String 인스턴스에 저장된 문자열을 byte 배열로 반환하는 메소드

 

stripTag

public static String stripTag(String source) {
//Pattern 클래스 : 정규표현식을 저장하기 위한 클래스
[//Pattern.compile](notion://pattern.compile/)(String regEx) : 정규표현식이 저장된 Pattern 인스턴스를 반환하는 메소드
//Pattern.CASE_INSENSITIVE : 정규표현식에서 대소문자를 구분하지 않도록 설정하는 상수
Pattern htmlTag=Pattern.compile("\\\\<.*?\\\\>", Pattern.CASE_INSENSITIVE);	
//Pattern.matcher(String source) : 정규표현식과 비교값이 저장된 Matcher 인스턴스 반환하는 메소드
	//Matcher.replaceAll(String replacement) : Matcher 인스턴스에 저장된 비교값에 정규표현식의
	//문자열을 모두 찾아 변환하여 반환하는 메소드
	source=htmlTag.matcher(source).replaceAll("");//문자열에서 태그를 제거하여 반환

	return source;
}

 

escapeTag

//문자열을 전달받아 태그 관련 기호를 회피문자로 변경하여 반환하는 메소드
public static String escapeTag(String source) {
return source.replace("<", "<").replace(">", ">");
}

 

우편번호 조회 기능

 

실시간으로 변하는 자료는 공공API를 통해 실시간으로 조회.

우편번호와 같은 고정된 다량의 데이터는 CSV 파일로 import.

자바 클래스 중 엑셀파일을 불러와 입력받는 기능도 있음.(Apache POI 라이브러리)

 

drop table zipcode PURGE;

: 오라클 휴지통이 아닌 완전삭제하는 명령어.

 

- 우편번호 API

https://postcode.map.daum.net/guide#sample

 

Daum 우편번호 서비스

우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다.

postcode.map.daum.net

 

장바구니

상품, 수량, 가격을 세션에 저장

 

  • request.getRequestURI() : 클라이언트가 요청한 URI 주소를 반환하는 메소드
  • request.getQueryString() : 클라이언트가 요청한 QueryString 주소를 반환하는 메소드

 

<<세미 프로젝트 관련 참고자료>>

meta태그 활용관련.

 

https://junhobaik.github.io/meta-tag/

 

meta 태그를 알아보자 (웹표준과 SEO)

처음 웹개발을 배울 때 웹표준을 배웠던 것 사실만 어렴풋이 기억난다. 그 이후 개발을 해오면서는 거의 신경쓰지 않고 개발했던 것 같다. 얼마 전, 이 블로그를 개발하면서 검색 엔진 노출을 위

junhobaik.github.io

http://tcpschool.com/html-tag-attrs/link-rel

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=simpolor&logNo=221237777353 

 

[HTML] 메타 태그

메타 태그(meta tag) 먼저 meta tag를 알기 이전에 meta data를 알아야 합니다. meta date란 쉽게 말해서 ...

blog.naver.com

 

'Web Dev' 카테고리의 다른 글

MVC Pattern - 1  (0) 2022.02.17
Ajax - 개념 및 DB 연동  (0) 2022.02.15
66일차 Study  (0) 2022.01.18
63일차 Study  (2) 2022.01.13
62일차 Study  (0) 2022.01.11