반응형

분류 전체보기 1141

Dispatcher방식과 Redirect 방식

Dispatcher방식과 Redirect 방식 서블릿에서 특정 URL이나 페이지로 이동하게 하는 두 가지 방식이 있는데, 두 방식의 차이점에 대해 알아보자. 1. Dispatcher방식 -->forward() forward()[전달하기]는 클라이언트가 요청하면서 전송한 데이터를 그대로 유지한다. (1) 예제 RequestDispatcher dispatcher = request.getRequestDispatcher("dispatcher.jsp"); request.setAttribute("request","requestValue"); dispatcher.forward(request, response); dispatcher.jsp request 속성 값 : 포워딩이 되더라도 주소가 변경되지 않는다. (같은 r..

Java 2020.12.04

RequestDispatcher란?

RequestDispatcher란 RequestDispatcher는 클라이언트로부터 최초에 들어온 요청을 JSP/Servlet 내에서 원하는 자원으로 요청을 넘기는(보내는) 역할을 수행하거나, 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스입니다. 즉 /a.jsp 로 들어온 요청을 /a.jsp 내에서 RequestDispatcher를 사용하여 b.jsp로 요청을 보낼 수 있습니다. 또는 a.jsp에서 b.jsp로 처리를 요청하고 b.jsp에서 처리한 결과 내용을 a.jsp의 결과에 포함시킬 수 있습니다. 요청을 보내는 방법으로는 RequestDispatcher#forward()와 RequestDispatcher#include() 두 가지 방법이 있습니다. 앞으로 이 두가지 방법에..

Java 2020.12.04

.contains() .startwith()

.startwith() 과 .contains()는 boolean 타입으로 해당 String 변수를 포함하고 있는지 확인하는 .contains() 메소드와 해당 String 변수로 시작하는지 확인하는 .startwith() 메소드가 있다. startwith()은 startwith(String)과, startwith(String, beginIndex) 두 가지의 형태가 있으며, 시작하는 인덱스 번호를 입력할 수 있다. public class StartWith { public static void main(String[] args) { String str1 = "redirect:.java"; System.out.println(str1.contains("java")); System.out.println(str1..

Java 2020.12.04

[JSP&Servlet] Scope - Page, Request, Session, Application

Scope란? : 변수를 어떤 범위 내에서 사용할 지를 정하는 기준 - 4가지 scope - page : 페이지 내에서 지역변수처럼 사용 - Request : http 요청을 WAS(Web Application Server)가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용 • Session : 웹 브라우저 별로 변수가 관리되는 경우 사용(생성되고, 지워지기 전까지) • Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용 - Page Scope - pageContext 추상 클래스를 사용 - JSP 페이지에서 pageContext라는 내장 객체로 사용 가능 - forward가 될 경우 해당 Page scope에 지정된 변수는 사용할 수 없다. - ..

JSP 2020.12.04

hashCode()와 equals()

equals() 두 객체의 내용이 같은지 확인하는 메소드 package bb.bb.bb; public class HashCode { public static void main(String[] args) { String str1 = new String(); str1 = "same"; String str2 = new String(); str2 = "same"; String str3 = new String("same"); System.out.println(str1.equals(str2)); System.out.println(str1 == str2); System.out.println(str1 == str3); } } hashCode() 객체의 주소값을 이용하여 객체 고유의 해시코드를 리턴하는 함수이다. has..

Java 2020.12.04

hashCode()와 equals()

equals() 두 객체의 내용이 같은지 확인하는 메소드 package bb.bb.bb; public class HashCode { public static void main(String[] args) { String str1 = new String(); str1 = "same"; String str2 = new String(); str2 = "same"; String str3 = new String("same"); System.out.println(str1.equals(str2)); System.out.println(str1 == str2); System.out.println(str1 == str3); } } hashCode() 객체의 주소값을 이용하여 객체 고유의 해시코드를 리턴하는 함수이다. has..

Java 2020.12.04

15.3.1 HashSet

HashSet은 Set 인터페이스의 구현 클래스이다. HashSet을 생성하기 위해서는 다음과 같이 기본 생성자를 호출하면 된다. Set set = new HashSet(); 타입 파라미터 E에는 컬렉션에 저장할 객체 타입을 지정하면 된다. 예를 들어 String 객체를 저장하는 HashSet은 다음과 같이 생성할 수 있다. Set set = new HashSet(); HashSet은 객체들은 순서 없이 저장하고 동일한 객체는 중복 저장하지 않는다. HashSet이 판단하는 동일한 객체란 꼭 같은 인스턴스를 뜻하지는 않는다. HashSet은 객체를 저장하기 전에 먼저 객체의 hashCode() 메소드를 호출해서 해시코드를 얻어낸다. 그리고 이미 저장되어 있는 객체들의 해시코드와 비교하낟. 만약 동일한 해..

equals와 hashCode의 관계

[ equals와 hashCode의 관계 ] 동일한 객체는 동일한 메모리 주소를 갖는다는 것을 의미하므로, 동일한 객체는 동일한 해시코드를 가져야 한다. 그렇기 때문에 만약 우리가 equals() 메소드를 오버라이드 한다면, hashCode() 메소드도 오버라이드 되어야 한다. 이러한 equals와 hashCode의 관계를 정의하면 다음과 같다. Java 프로그램을 실행하는 동안 equals에 사용된 정보가 수정되지 않았다면, hashCode는 항상 동일한 정수값을 반환해야 한다. (Java의 프로그램을 실행할 때 마다 달라지는 것은 상관이 없다.) 두 객체가 equals()에 의해 동일하다면, 두 객체의 hashCode() 값도 일치해야 한다. 두 객체가 equals()에 의해 동일하지 않다면, 두 객..

Java 2020.12.04
반응형