본문 바로가기

JavaWeb

java web_1014

어제자로 5장의 어노테이션을 이용한 servlet 매핑까지 추가 정리했고

오늘은 10장 서블릿 필터와 리스너 기능까지 마무리 할 예정이다. 

확실히 전에 책을 봤을 때는 개념 위주로 이해했었는데 스프링으로 프로젝트를 만들어본 경험을 바탕으로 다시 실습해보니까 좀 더 머릿속이 정리되는 것 같다. 그냥 단순히 실습만 하기 보다는 기본적인 웹 프로그램 구동 원리나 디렉토리 구조, 설정 방식, cs 지식까지 최대한 채워가면서 공부하려고 한다.

빨리 책 한번 싹 다 돌리고 프로젝트 만들자. 

> 서블릿 기초 _ 서블릿 기본 기능(요청 받기/ 비즈니스 로직 수행 / 처리 결과 클라이언트에 응답) 수행 과정 

사용할만한 메서드는 requestURI나 ContextPath, session 정도겠지만 그래도 초기 개념을 다시 잘 정리하는 목적으로 시작한 공부이니만큼 앞단의 내용을 더욱 꼼꼼히 정리해두자

============================================================================================

요청 관련 servlet API :: javax.servlet.http.HttpServletRequest 클래스

- getContextPath() :: 요청한 컨텍스트(프로젝트)를 가리키는 URI반환

- getRequestURI() :: 요청한 URL 컨텍스트 이름과 파일 경로까지 반환

- getServletPath() :: 요청한 URL에서 서블릿이나 JSP 이름을 반환

- getSession() :: 현재 요청과 연관된 세션을 반환 / 세션 없으면 새로 만들어서 반환함

- getCookies() :: 클라이언트가 현재 요청과 함께 보낸 쿠키 객체들에 대해 배열 타입으로 반환 

- getHeader(String name) :: 특정 요청에 대한 헤더 정보를 문자열로 반환

- getMethod() :: 현재 요청이 GET, POST, PUT, DELETE 등의 방식 중 어떤 HTTP 요청인지 번환

 

응답 관련 servlet API :: javax.servlet.http.HttpServletResponse 클래스

- addCookie(Cookie cookie) :: 서버에서 관리하는 쿠키를 응답에 추가함

- sendRedirect(String location) :: 클라이언트에게 리다이렉트 응답을 보내 후 특정 url로 재요청 (=새 페이지)

- getPathInfo() :: 클라이언트가 요청 시 보낸 URL과 관련된 추가 경로 정보를 반환

 

<form> / <input> 태그를 이용해 서블릿에 요청하기  **html 교재 4장 참고 

jsp가 나오기 전에는 html/css/js 만을 이용해 웹 프로그램을 만들었음. 서블릿과 jsp는 기존의 html/jsp/js와 서로 연동하여 동작함. 여러가지 폼태그 요소들을 이용해 다양한 입력 서식으로 데이터를 전송하면 사용자가 입력한 데이터가 서블릿으로 전송되고 이 데이터를 가지고 비즈니스 로직 처리 후 화면에 값을 리턴 혹은 리턴 없이 db에 반영만 하기도 함 

input 태그의 name 속성과 값의 쌍으로 데이터가 전송되고 서블릿에서 파라미터를 전송받아 비즈니스 로직을 처리함 

여러개의 form태그가 있을 때 form 태그의 name 값으로 요소를 구분하고 js에서 form 태그에 접근할 때 사용함/  action속성은 form태그 에서 입력받은 값을 전송할 서블릿이나 jsp 이름을 지정/매핑된 이름을 사용

@WebServlet("/login")
public class Login extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String id = req.getParameter("id");
		String pw = req.getParameter("pw");
		System.out.println(id);
		System.out.println(pw);
	}
	
}

 

 

 

'JavaWeb' 카테고리의 다른 글

java web_1017  (0) 2022.10.18
java web_1013  (0) 2022.10.13