본문 바로가기
  • 마침표 보다 쉼표를 나타내자
국비교육 [完]/WebMarket

8. 로그인이 안되어 있으면 로그인 창으로

by Y코더 2023. 3. 9.
728x90

로그인이 안된 상태로 로그인이 필요한 페이지에 간다면

로그인을 요구하는 페이지로 넘어가도록 코딩을 하였다.

 

예를 들어 이렇게 알림후에 로그인 페이지로 넘어가는 기능이다.

 

각 페이지 마다 코드를 입력해도 되지만 자주 사용할지도 몰라서

이것을 따로 JSP파일로 만들어서 인클루드 해서 사용하도록 한다.

 

구문은 간단하게 구성된다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="utils.JSFunction" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		if(session.getAttribute("name")==null)
		{
			JSFunction.alertLocation("로그인후 사용해주세요", "LoginDisplay.jsp", out);
		}
	%>
</body>
</html>

세션에 이름 값이 있는지 확인하고

없다면 로그인을 하라는 알림과 함께

로그인 페이지로 이동하도록 코딩 하였다.

 

 

우선 로그인을 요구하는 페이지에 이 파일을 불러 오면 된다.

대표적으로 상품상세 정보 페이지이다.

<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="DTO.Product" %>
<%@ page import="DAO.ProductRepository" %>

<%@include file="./signUp/sessionLogin.jsp" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품 상세 정보</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
		<%@ include file="menu.jsp" %>
		
		<div class="jumbotron">
			<div class="container">
				<h1 class="display-3">
					상품 정보
				</h1>
			</div>
		</div>
		
		<%
			String id = request.getParameter("id");
			ProductRepository dao = ProductRepository.getInstance();
	
			List<Product> product1 = ProductRepository.selctlistProductName(id);
		%>
		
		<div class="container">
			<div class="row">
				<div class="col-md-6">
					<h3><%=product1.get(0).getPname() %></h3>
					<p><%=product1.get(0).getDescription() %>
					<p><b>상품 코드: </b>
					<span class="bagde badge-danger">
						<%=product1.get(0).getProductId() %>
					</span>
					<p><b>제조사: </b><%=product1.get(0).getManufacturer() %>
					<p><b>분류: </b><%=product1.get(0).getCategory() %>
					<p><b>재고: </b><%=product1.get(0).getUnitsInStock() %>
					<h4><%=product1.get(0).getUnitPrice() %>원</h4>
					<p><a href="#" class="btn btn-info">상품 주문  &raquo;</a>
					<a href="./Products.jsp" class="btn btn-secondary">상품 목록  &raquo;</a>
				</div>
			</div>
			<hr>
		</div>
		
		<%@ include file="./footer/footer.jsp" %>
</body>
</html>

임포트 쪽에

<%@include file="./signUp/sessionLogin.jsp" %>

를 추가하고

그러면 로그인을 확인하게 된다.

728x90

'국비교육 [完] > WebMarket' 카테고리의 다른 글

10. 로그아웃  (0) 2023.03.09
9. 상품 페이지 데이터 베이스  (0) 2023.03.09
7. 로그인 유지 기능  (0) 2023.03.09
6. 세션으로 로그인  (0) 2023.03.09
5. 회원 가입  (0) 2023.03.02