JSP, SERVLET 9

쿠키, 세션

1. Cookie : 사용자 컴퓨터에 저장. (정보 유출 가능성) : 유효기간 후 삭제 2. Session : 클라이언트 별로 서버에 저장되는 정보 : 서버 종료시, 유효기간 후 삭제 (마지막 사용 후 30분동안 유지) 세션 처리 과정 : 웹 클라이언트가 서버측에 요청을 보내면 서버는 session id를 발급한다. sessoion id를 이용해서 http session (key, value)을 생성한다. session id로 cookie를 만들어서 client에 보낸다. 객체는 서버가 만들어주기 때문에 직접 생성하지 않는다. request.getSession() (=request.getSession(true)) 메서드 호출시 세션을 반환하며, 세션이 없으면 새로 생성해서 반환해준다.(isNew()메소드..

JSP, SERVLET 2023.02.28

SCOPE

: Application, Session, Request, Page 총 4가지 scope가 존재한다. Session scope : 클라이언트(웹 브라우저)별로 객체를 만들어 변수를 관리한다. (클라이언트별로 다른) 상태정보를 유지하기 위해 사용한다. HttpSession 인터페이스 구현객체를 사용한다. 서블릿은 HttpServletRequest의 getSession() 메소드를 이용해 session 객체를 얻는다. JSP는 session 내장 변수를 사용한다. 응답을 내보내거나 다시 받아도 session 객체는 계속 유지된다. ex) session.setAttribute() session.getAttribute() Request scope : http요청을 was가 받아서 변수값을 유지하며 웹 브라우저에..

JSP, SERVLET 2023.01.16

JSP

:JavaServer Pages jsp는 servlet으로 바뀐 후 서블릿과 같은 방식으로 실행된다.(서블릿 소스가 생성되고 실행된다.) (by tomcat) 1. 실행순서 브라우저가 jsp로 웹서버에 요청을 한다. -> 서버는 jsp에 해당하는 서블릿이 있는지 찾는다. 존재한다면 서블릿 엔진이 요청을 받아 실행한다. 존재하지 않는다면, 즉 처음으로 요청한다면 jsp 엔진이 요청을 받는다. jsp를 최초로 요청할때 jsp 코드가 서블릿 코드로 변환된다. (.jsp 파일을 실행하면 이클립스 워크 스페이스 안에 .java 파일이 생성된다. _jspService() 메소드에 jsp 파일에 입력한 내용이 변환돼서 들어있다.) -> java는 서블릿 소스로 컴파일되어 실행가능한 bytecode로 변환된다(clas..

JSP, SERVLET 2023.01.12

SERVLET

: 동적으로 응답결과를 만들어내는 (동적인 처리를 하는 프로그램) 역할을 한다. WAS에서 동작하는 Java 클래스이다. servlet은 HttpServlet 클래스를 상속받는다. 1. 작성 방법 2가지 servlet 3.0 이상 web.xml파일(배포기술자)을 사용하지 않고 자바 annotation을 사용한다. ex) @WebServlet("/ten") public class TenServlet extends HttpServlet { servlet 3.0 미만 web.xml파일에 servlet을 등록한다. ex) [web.xml] TenServlet ~~~ 2. HTTP프로토콜 요청, 응답 : 클라이언트가 요청하면 서버가 응답한다. 이때 서버는 요청을 받아내는 객체와 응답하기위한 객체를 만들어낸다. e..

JSP, SERVLET 2023.01.11

Statement VS PreparedStatement 사용법 차이

Statement() : executeQuery()로 실행할 때 파라미터로 쿼리문을 전달한다. 수행 시마다 컴파일을 하기 때문에 다중 수행 시 속도가 느리다. ex) public int selectCount(Connection conn) throws SQLException { Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery("select count(*) from pds_item"); rs.next(); return rs.getInt(1); PreparedStatement() : 실행 전에 미리 쿼리문을 컴파일 한다. 미리 컴파일해 놓은 구문을 사용하기 때문에 다중 수행..

JSP, SERVLET 2022.10.28

dynamic web project 클래스 컴파일 방법

상황 교재(최범균 jsp 2.1 웹프로그래밍)에는 CookieBox 클래스 컴파일 방법이 java project만 나와있는데 나는 dynamic web project를 만들어서 하는 중이었기 때문에 그대로 하니 적용이 되지 않았다. 해결방법 이클립스 해당 프로젝트의 하위 폴더 중 Java Resources - src/main/java폴더에 utill폴더를 만들고 여기에 CookieBox.java 파일을 생성한다. 새로고침을 하고 src - main - java폴더에 utill폴더와 CookieBox.java 파일이 자동으로 생성된 것을 확인하면 끝! 이렇게 하면 예제들이 정상적으로 실행된다.

JSP, SERVLET 2022.10.05