본문 바로가기
학원수업/2월

02/15 53회차 수업 JSP Servlet

by 코딩마스터^^ 2023. 2. 15.

자바스크립트 정규식

http://eartsquare.co.kr/bbs/board.php?bo_table=JAVASCRIPT&wr_id=4 

 

자바스크립트 정규표현식 아이디 체크 (영문+숫자) > | 아트스퀘어

기본적으로 자바스크립트에서 정규표현식은 / (슬래쉬)로 감싼다

eartsquare.co.kr

 

[영문 대문자 또는 소문자로 시작하는 아이디, $는 끝날때 영문 대문자 또는 소문자]
 var idReg = /^[A-za-z]$/g;
[영문 대문자 또는 소문자로 시작하는 아이디, 끝날때 제한 없음]
var idReg = /^[A-za-z]/g;
[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 끝날때 영문 대문자 또는 소문자 또는 숫자]
var idReg = /^[A-za-z0-9]$/g;
[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 끝날때 제한 없음]
var idReg = /^[A-za-z0-9]/g;
[영문 대문자 또는 소문자로 시작하는 아이디, 길이는 5~15자, 끝날때 영문 대문자 또는 소문자]
var idReg = /^[A-za-z]{5,15}$/g;
[영문 대문자 또는 소문자로 시작하는 아이디, 길이는 5~15자, 끝날때 제한 없음]
var idReg = /^[A-za-z]{5,15}/g;
[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 길이는 5~15자, 끝날때 영문 대문자 또는 소문자 또는 숫자]
var idReg = /^[A-za-z0-9]{5,15}$/g;
[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 길이는 5~15자, 끝날때 제한 없음]
var idReg = /^[A-za-z0-9]{5,15}/g;

 

JSP(JavaServer Pages)는

Java 언어를 사용하여 동적 웹 페이지를 만들기 위한 웹 어플리케이션 기술입니다. JSP는 HTML 코드와 Java 코드를 혼합하여 작성할 수 있으며, 이렇게 작성된 JSP 파일은 웹 서버에서 실행되어 동적인 HTML 문서를 생성합니다. JSP는 Java Servlet 기술을 기반으로 하며, Java Servlet 컨테이너에서 실행됩니다. JSP를 사용하면 Java 코드와 HTML 코드를 쉽게 결합하여 웹 애플리케이션을 개발할 수 있습니다.

 

Servlet

Servlet은 Java 언어를 사용하여 웹 애플리케이션을 개발하기 위한 기술입니다. Servlet은 웹 서버에서 동작하는 작은 Java 프로그램이며, 클라이언트의 요청을 받아들이고 응답을 생성하여 클라이언트에게 반환합니다. Servlet은 Java Servlet API를 사용하여 작성되며, Java Servlet 컨테이너에서 실행됩니다. Java Servlet API는 Servlet을 작성하기 위한 인터페이스와 클래스를 제공합니다.

Servlet은 웹 애플리케이션 개발에서 가장 기본이 되는 기술 중 하나이며, JSP(JavaServer Pages)와 함께 사용하여 동적인 웹 페이지를 만들 수 있습니다. Servlet은 다양한 기능을 수행할 수 있으며, 예를 들어 데이터베이스 연동, 사용자 인증, 파일 업로드 등의 기능을 구현할 수 있습니다.

 

Server+applet

애플릿은 JFrame- html태그에서 호출이 가능한 유일한 자바클래스

서버에서 돌리고 싶다. 서버사이드에서 졸리고싶다.

jsp라고쓰고 html로 프린트한다. 바꿔준다.

 

자바에서 추상메소드를 구현하려고 메소드 오버라이딩을 한다.

추상메소드는 바디가 없다. {}가 없다. 명세서의 역할을 한다.

자동차라면 달린다, 정지한다 메소드가 있어야한다.

미리 이것들을 선언만 해 둔것이다.

doGet doPost는 파라미터에 reaponse 와 request가 파라미터로 들어간다.

서블릿을 상속받아서 오버라이드 한다.

상속을 받으면 doGet doPost를 오버라이딩 할 수 있다.

어노테이션은 자바에서 작성한다. XML에서 작성하지 않는다.

 

자바만으로는 웹 서비스가 불가능하다.

http프로토콜을 지원하는  api가 없다. URL 메소드가 없다.

request와 response가 안된다.

 

웹 어플리케이션이 위와 같이 동작하기 위한 몇가지 구성요소가 있다.

 

웹 브라우저(Web Browser) : 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.  ( 크롬, IE, Safari, Firefox 등.. )

 

웹 서버(Web Server)  : 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

 

웹 어플리케이션 서버 ( Web Application Server ) : 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

 

데이터베이스 : 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.

 

JSP

.jsp는 서버에서 동작하는 페이지다.

자바 서버 페이지다.

주체는 톰캣이다.

WAS(web application server)

jsp라고 확장자를 쓰고 브라우저는 html로 인지한다. -> mime타입

 

서블릿이랑 서블릿 매핑이랑은 항상 같이 다닌다.

아니면 터진다.

web.xml은 배치 서술자이다. 서블릿을 배치했다.

다이나믹 웹 프로젝트 만들면 WEB-

<!-- 
Deployeement Descriptor
배치서술자
spring maven-빌드->pom.xml 파일 등록

web.xml문서를 수정하면 반드시 서버를 내렸다가 다시 기동할것. 주의
 -->

 

context param에 작성한것은 서버가 죽을때까지 항상 기억한다....💎

url-pattern

서블릿보다 서블릿 매핑을 먼저 읽는다.

자바는 웹서비스가 불가능하다.

servlet은 가능하다. web.xml에 url을 등록할 수 있기 때문에. 이것을 배치라고 한다.

서블릿을 배치한다. URL을 사용하기 위해서.

URL을 사용할 수 있어야 요청 응답을 할 수 있다.

 

web.xml은

Java 웹 애플리케이션을 구성하기 위한 설정 파일입니다. 이 파일은 웹 애플리케이션의 환경 설정 정보를 제공하며, Java Servlet 컨테이너에서 웹 애플리케이션을 배포할 때 참조됩니다.

web.xml 파일에는 웹 애플리케이션의 구성 요소와 매핑 정보, 서블릿과 필터 등의 구성 요소의 초기화 매개변수, 에러 페이지 및 리스너 등의 설정 정보가 포함됩니다. 이러한 설정 정보를 통해 Java Servlet 컨테이너는 웹 애플리케이션을 초기화하고, 요청 처리, 보안 및 성능 향상 등을 위한 기능을 제공합니다.

예를 들어, web.xml 파일에는 각 서블릿에 대한 URL 매핑 정보가 포함됩니다. 이를 통해 클라이언트가 특정 URL에 대한 요청을 보내면, Java Servlet 컨테이너는 해당 URL에 매핑된 서블릿을 실행하여 요청을 처리합니다. 또한, web.xml 파일에는 필터를 등록하여 요청을 전처리하거나 후처리할 수 있습니다. 이렇게 필터를 사용하여 요청을 처리하면 보안성을 향상시키거나 성능을 개선할 수 있습니다.

Java 웹 애플리케이션을 개발할 때는 web.xml 파일을 작성하여 웹 애플리케이션의 구성 정보를 설정하고, Java Servlet 컨테이너에서 배포할 때 이 파일을 함께 제공해야 합니다.

 

 

/*
 * 자바로는 웹 서비스가 불가하다.->request와 response가 없어서 안된다.
 * 왜? http(s : security+인증서)프로토콜을 지원하는 API가 없으니까
 * 또하나는 
 * 자바에는 URL을 등록 할 수 없다.
 * uniform resource locator(프로토콜://도메인:포트번호/경로/페이지이름 or 서블릿)을 등록 할 수 없다.
 * 톰캣도 자바 가상머신이 없으면 기동이 안된다.
 * JSP엔진 Servlet엔진 둘다 있어야 한다.
 * a.jsp -> jsp-api.jar->톰캣[자바]->a_jsp.java->(컴파일 : servlet이 해준다-api.jar)a_jsp.class
 * 
 * 웹페이지의 출력이란? 쓰기이다.
 * request-쿼리스트링-get방식-RESTful API 4가지방식[get, post, put, delete]
 * 요청객체로 
 * response
 * document.write()
 * 서블렛에서 출력
 * PrintWriter out = res.getWriter();
 * out.print("<b></b>")
 * 
 * */

 

chat GPT코드분석도 해주네...

댓글