티스토리 뷰
[문제04] 세션을 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들어라.
[조건]
1. session.jsp파일을 생성합니다.
- input 태그에 text유형을 이용하여 아이디, 비밀번호 항목을 작성합니다.
- form 태그의 action 속성 값은 session_process.jsp로 작성합니다.
2. session_process.jsp파일을 생성합니다.
- request 내장 객체의 getParameter() 메소드를 이용하여 전송된 요청 파라미터 값을 받습니다.
- 아이디와 비밀번호가 인증되면 아이디 값을 세션명 userID의 세션 값으로 설정합니다.
- response 내장 객체의 sendRedirect() 메소드를 이용하여 welcome.jsp파일로 이동하도록 작성합니다.
3. welcome.jsp파일을 생성합니다.
- 설정된 세션명 userID값이 null이면 response 내장 객체의 sendRedirect() 메소드를 이용하여 session_out.jsp파일로 이동합니다.
4. session_out.jsp파일을 생성합니다.
- 설정된 모든 세션명을 해제하도록 작성합니다.
- response 내장 객체의 sendRedirect() 메소드를 이용하여 session.jsp 파일로 이동하도
록 작성합니다.
5. 웹브라우저에서 실행 결과를 확인합니다.
[풀이]
process.jsp에서 아이디 널값 확인을 해결하지 못했음.
[제출]
-입력폼 페이지 00session.jsp
<%@ 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>
<form action="00session_process.jsp" method="post">
<p>ID : <input type="text" name="id"></p>
<p>PW : <input type="text" name="pw"></p>
<p><input type="submit" name="전송"></p>
</form>
</body>
</html>
-프로세스 페이지 00session_process.jsp
<%@ 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 user_id = request.getParameter("id");
String user_pw = request.getParameter("pw");
if(user_id.equals("admin") && user_pw.equals("admin1234")){
session.setAttribute("userID", user_id);
session.setAttribute("userPW", user_pw);
response.sendRedirect("00welcome.jsp");
}else{
out.println("세션 실패");
}
%>
</body>
</html>
-웰컴페이지 00welcome.jsp
(아이디의 널값 확인을 못했음)
<%@ 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 name = request.getParameter("user_id");
out.println(name+"님 반갑습니다.");
// if(name.getAttribute().equals(" ")){
// response.sendRedirect("00session_out.jsp");
// }
%>
<a href="00session_out.jsp">로그아웃</a>
</body>
</html>
-세션아웃 페이지 00session_out.jsp
<%@ 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>
<%
session.invalidate();
%>
</body>
</html>
[정답]
수정된 부분이 있는 것만 가져옴.
-프로세스
<%
String user_id = request.getParameter("id");
String user_pw = request.getParameter("pw");
if(user_id.equals("admin") && user_pw.equals("admin1234")){
session.setAttribute("userID", user_id);
//★ 비번 생성은 안 함.
response.sendRedirect("00welcome.jsp");
}else{
out.println("아이디와 비밀번호를 확인해주세요."); //★ 문구 수정
}
%>
-웰컴페이지
<h4><%= session.getAttribute("userID") %>님 반갑습니다</h4>
<a href="00session_out.jsp">로그아웃</a>
<%
if(session.getAttribute("userID") == null){
response.sendRedirect("00session_out.jsp");
}
%>
└null인지 확인하는 조건문 설정
└session의 값을 가져오면 됨. request 쓸 필요 없이.
-세션아웃 페이지
<%
session.invalidate();
response.sendRedirect("00session.jsp"); //★
%>
정상적으로 로그인 했을때, 월켐페이지가 떠야 하는데 안 뜲. 점심시간에 확인
세션 아이디가 널값인지 확인해야 함. userID. user_id가 아니라
'수업 > └JSP' 카테고리의 다른 글
| [CH16]JDBC (0) | 2022.02.18 |
|---|---|
| [CH14]쿠키 (0) | 2022.02.17 |
| [CH13]세션(Session) (0) | 2022.02.17 |
| [CH07]파일업로드 (0) | 2022.02.15 |
| [CH06]폼 태그 (0) | 2022.02.14 |
- Total
- Today
- Yesterday
- 변수
- border-spacing
- ScriptTag
- html layout
- caption-side
- improt
- Java
- text formatting
- selcetor
- html input type
- typeof
- 스크립태그
- CascadingStyleSheet
- html a tag
- css
- html atrribute
- html pre
- 외부구성요소
- html base tag
- initialized
- html
- A%B
- input type 종류
- 기본선택자
- empty-cell
- JavaScript
- BAEKJOON
- scanner
- 입력양식
- 미디어 태그
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |