attribute scope

치로·2024년 9월 5일

  • page : 페이지 내에서 지역 변수처럼 사용
  • request : http 요청을 was가 받아서 웹브라우저에게 응답할 때가지 변수가 유지되는 경우
  • session : 웹 브라우저 별로 변수가 관리되는 경우
  • applocation : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우(모든 클라이언트에게 공통적으로 무언가를 보여줄 때)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	String userid = "admin";
	String userpw = "1q2w3e4r";
	String username = "김자바";
	
	// requeset 방식
	/* request.setAttribute("userid", userid);
	request.setAttribute("userpw", userpw);
	request.setAttribute("username", username);
	pageContext.forward("attribute2.jsp"); */
	// response.sendRedirect("attribute2.jsp");
	
	// session에 저장
	session.setAttribute("userid", userid);
	session.setAttribute("userpw", userpw);
	session.setAttribute("username", username);
	//pageContext.forward("attribute2.jsp");
	response.sendRedirect("attribute2.jsp");
	%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	/* String userid = (String)request.getAttribute("userid");
	String userpw = (String)request.getAttribute("userpw");
	String username = (String)request.getAttribute("username"); */
	
	String userid = (String)session.getAttribute("userid");
	String userpw = (String)session.getAttribute("userpw");
	String username = (String)session.getAttribute("username");
	%>
	아이디 : <%=userid %><br>
	비밀번호 : <%=userpw %><br>
	이름 : <%=username %><br>
</body>
</html>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	ArrayList<String> datas = new ArrayList<>();
	datas.add("Hello");
	datas.add("JSP");
	datas.add("너무");
	datas.add("즐거워요");
	
	session.setAttribute("arMsg", datas);
	response.sendRedirect("attribute4.jsp");
	%>
</body>
</html>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	ArrayList<String> datas = (ArrayList)session.getAttribute("arMsg");
	
	for(int i=0; i<datas.size(); i++) {
		out.println(datas.get(i) + "<br>");
	}
	%>
</body>
</html>
package com.kh.web.vo;

public class User {
	public String userid;
	public String username;
	public int age;
	
	public User(String userid, String username, int age) {
		super();
		this.userid = userid;
		this.username = username;
		this.age = age;
	}
	
}
<%@page import="com.kh.web.vo.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	// 세명의 아이디, 이름, 나이들을 attribute6,jsp로 전송 후 출력
	User[] arUser = {
		new User("admin", "홍길동", 10),
		new User("kjh", "이순신", 20),
		new User("user", "사용자", 30)
	};
	request.setAttribute("users", arUser);
	pageContext.forward("attribute6.jsp");
	%>
</body>
</html>
<%@page import="com.kh.web.vo.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		// users 데이터 꺼내서, 출력
		User[] users = (User[])request.getAttribute("users");
		for(int i=0; i<users.length; i++) {
			out.println(users[i].userid);
			out.println(users[i].username);
			out.println(users[i].age + "<br>");
		}
	%>
</body>
</html>

0개의 댓글