Port 8080 required by Tomcat v9.0 Server at localhost is already in use. 오류
·
Web/JSP
명령프롬프트(cmd) 관리자 권한으로 실행 열려 있는 포트의 PID 확인 netstat -nao | findstr 8080 PID 프로세스 종료 (죽이기) taskkill /f /pid "PID"
자바스크립트로 서블릿에 요청하기
·
Web/JSP
웹사이트에서 로그인을 할 때 전송 데이터에 대해 유효성 검사를 하는 경우가 많다. 이런 기능은 자바스크립트로 구현한다. 서블릿에 요청할 때 태그에서 직접 요청하는 것이 아니라 자바스크립트 함수르 호출하고 유효성 검사를 한 후 자바스크립트 함수에서 서블릿에 요청하는 예제 실습을 했다 login.html 아이디: 비밀번호: LoginServlet.java package sec01.ex01; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; impor..
서블릿의 응답 처리 방법
·
Web/JSP
서블릿의 요청 처리방법 https://sy-blog.tistory.com/69 Servlet을 사용한 로그인 기능 구현 1) name 속성이 모두 subject로 같다. 2) 전송을 클릭하면 매핑 이름이 action에 설정한 input 서블릿으로 전송된다. 서블릿 작성 package sec01.ex01; import java.io.IOException; import javax.servlet.Servle.. sy-blog.tistory.com 서블릿이 요청을 받아 처리한 결과를 클라이언트에게 응답하는 기능을 알아보자 서블릿에서 응답을 처리하는 방법은 다음과 같다. 1) doGet() 또는 doPost() 메소드 안에서 처리한다. 2) javax.servlet.http.HttpServletResponse 객..
이클립스 Run On Server [Choose an existing server] 비활성화 돼있을 때
·
Web/JSP
문제 이클립스에서 Dynamic Web Project를 생성할 때 version을 4.0으로 선택하면 Run on Server를 클릭했을 때 다음과 같이 Choose and existing server를 클릭할 수 없는 현상이 발생한다. 해결방법 [프로젝트 우클릭] - [Properties] - [Projects Faects] 검색한 후 Dynamic Web Module의 Version을 3.1로 바꿔주면 해결된다.
Servlet의 세가지 기능
·
Web/JSP
톰캣과 같은 WAS(Web Application Server)가 처음 나왔을 때 웹 브라우저 요청을 스레드 방식으로 처리하는 기술이 바로 서블릿이었다. 서블릿 기본 기능 수행 과정 서블릿이 수행하는 세가지 주요 기능을 요약하자면 클라이언트로부터 요청을 받아 비즈니스 로직을 처리하고, 그 결과를 다시 클라이언트에 돌려주는 과정이다. 초기 웹 프로그램 개발에서는 서블릿이 클라이언트로부터 요청을 받아 데이터베이스 연동 같은 비즈니스 작업을 처리한 후 그 결과를 클라이언트의 브라우저로 전송하는 방식으로 작업했다. Ex) 클라이언트로부터 요청을 받는 작업 : 로그인 ∙ 사용자가 로그인을 하기 위해 아이디와 비밀번호를 텍스트 창에 입력한 후 로그인 버튼을 클릭한다. ∙ 사용자가 입력한 정보가 서버쪽의 서블릿에 전송..
[Servlet 이해하기] 서블릿이란?
·
Web/JSP
서블릿은 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다. 서블릿은 자바로 작성되어 있으므르 자바의 일반적인 특징을 모두 가진다. 하지만 서블릿은 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다. 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 휍 브라우저에 결과를 전송한다. 서버에서 실행되므로 보안과 관련된 기능도 훨씬 안전하게 수행할 수 있다. 단순히 고정된 정보를 브라우저에 보여주는 용도는 웹 서버로도 충분하다. 그러나 실시간으로 변하는 정보를 데이터베이스에서 가져오는 기능이나 직접 계산하는 기능이 필요할경우에는 서버 쪽에서 서블릿이 처리해주면 실시간으로 정보를 ..
세션(Session)과 쿠키(Cookie)
·
Web/JSP
HTTP 프로토콜 세션을 이해하기 위해 HTTP 프로토콜의 특성을 알아두면 좋다 HTTP란? ∙ 웹에서 텍스트, 이미지, 사운드 등의 파일들을 주고받기 위한 통신 규약 ∙ 데이터를 요청하고 데이터의 결과 값을 받게 되면 바로 연결은 종료된다. ∙ HTTP 프로토콜은 데이터 송/수신을 하자마자 바로 연결이 끊기게 됨(항상 연결된 상태에서 데이터를 주고 받지X) 세션(Session) 세션이란 서버측의 컨테이너에서 관리되는 정보. 세션의 정보는 컨테이너에 접속해서 종료 되기까지(브라우저를 종료할 때까지)유지됨 접속 시간에 제한을 두어 일정 시간 응답이 없다면 정보는 더이상 유지되지 않게 설정이 가능 (정보가 서버측에서 저장된다는 면에서 보안적으로 유리) 보안이 필요한 정보를 공유하기 위해서는 서버측에서 관리될..
자바빈(Java Bean)
·
Web/JSP
JSP에서 관련있는 데이터를 저장하는 클래스(자바빈)를 정의하여 사용하는 방법 관련이 있는 데이터들은 각각 데이터들을 따로 다루는 것보다는 관련이 있는 데이터를 저장하는 하나의 클래스를 설계하여 하나의 단위로 다루는 것이 훨씬 효율적이다. 예를 들어 회원가입 요청에서 회원 한명의 정보를 이름 따로 주소 따로 다루게 되면 각 데이터의 관련성이 없으므로 정보로 다루는 것이 보다 객체 지향적인 코드이며 효율적인 코드가 된다. 자바빈은 JSP 페이지의 디자인 부분과 비즈니스 로직 부분을 분리함으로써 복잡한 JSP 코드들을 줄이고, 프로그램의 재사용성을 증가시킨다. 자바빈의 설계 규약 자바빈을 작성하기 위해서는 설계 규약을 알아야 함. 자바빈은 다른 클래스와는 달리 규정되어있는 규칙에 따라서 작성해야 하며, 이에..
자바빈을 이용한 회원가입 폼 작성
·
Web/JSP
1) Beantest.java package test; public class Beantest { private String name; private String addr; private String email; private String birthday; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } public String getEmail() { return email; } public void setEmai..