일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- spring crud
- 프로그래머스 MYSQL
- 자바 정규표현식 예제
- 프로그래머스 SQL
- 2020정보처리기사실기정리
- 스프링게시판만들기
- 정보처리기사실기정리
- js datepicker
- 자바배열예제
- 2020정보처리기사실기요약
- 정처기실기정리
- 스프링 crud
- PLSQL
- 게시판만들기
- html기초
- jsp 날짜팝업
- 오버라이딩
- crud게시판
- CRUD게시판만들기
- 자바기초
- 자바연산자
- 프로그래머스 쿼리문
- jsp게시판만들기
- 날짜지정팝업
- 오라클설치
- 2020정보처리기사실기
- Oracle기초
- jsp 팝업띄우기
- spring crud게시판
- 스프링 CRUD게시판
Archives
- Today
- Total
영보의 SystemOut.log
[JSP] JSP 내장객체 메소드 활용 - request 메소드 /예제 본문
반응형
자바/스프링 기반 디지털 융합 웹 개발자 양성과정
request 내장객체의 주요 메소드
메소드 | 내용 |
getMethod() | 현재 요청이 GET, POST인지 확인하여 가지고 온다. |
getParameter(name) | 문자열 name과 같은 이름을 가진 인자 값을 가지고 온다. |
getParameterValues(name) | 문자열 name과 같은 이름을 가진 인자 값을 배열 형태로 가지고 온다. Checkbox, multiple list 등에 주로 사용 [예] String favorite[] = request.getParameterValues(“favorite”); |
getRemoteAddr() | 클라이언트 IP 주소를 알려주는 메소드 |
getRequestURI() | 웹 브라우저가 요청한 URL에서 “경로”를 구한다. 리턴타입은 String |
getSession() | 현재 요청과 관련된 session 객체를 리턴한다. 즉 session이 생성되어 있는 경우 생성된 session을 리턴하고 생성되어 있지 않은 경우 새롭게 session을 생성해서 리턴한다. 리턴타입은 HttpSession |
getCookies() | 모든 쿠키 값을 javax.servlet.http.Cookie의 ‘배열 형태’로 가지고 온다. |
getProtocol() | 현재 서버의 프로토콜을 문자열 형태로 알려준다 |
setChracterEncoding() | 현재 JSP로 전달되는 내용을 지정한 캐릭터셋으로 변환한다. HTML form에서 한글을 입력할 때 정상적으로 처리하려면 반드시 필요하다 |
setContentType(type) | 문자열 형태의 type에 지정된 MIME Type으로 ContentType을 설정 |
sendRedirect(url) | 클라이언트 요청을 다른 페이지로 보낸다. 즉, 현재 페이지를 다른 페이지로 전달한다. |
로그인 폼 예제 - getParameter, sendRedirect 사용
loginForm.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 name="loginForm" method="POST" action="authentication.jsp">
<label for="id">아이디 </label>
<input type="text" name="id" />
<br>
<label for="pw">패스워드</label>
<input type="password" name="pw" />
<br><br>
<input type="submit" value="로그인" />
</form>
</body>
</html>
authentication.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 추가 -->
<% // 자바 코드 기술
// 인증 기능 사용자 및 패스워드 목록 생성
String[] users = {"park1234", "kim1677", "hong777"};
String[] passwords = {"p456", "k7788", "1234"};
String id = request.getParameter("id");
String pw = request.getParameter("pw");
// 인증 처리
int i;
for(i = 0; i<users.length; i++){
if(users[i].equals(id) && passwords[i].equals(pw)){
// 세션 값 등록하기
session.setAttribute("signedUser", id);
response.sendRedirect("welcome.jsp");
}
}
if(i == users.length){
out.println("<script>alert('아이디가 일치하지 않습니다.');history.go(-1);</script>");
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>인증페이지</title>
</head>
<body>
</body>
</html>
welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 추가 -->
<% // 자바 코드 기술
// 인증된 세션이 없는 경우 해당 페이지를 볼 수 없게 함
if(session.getAttribute("signedUser") == null ){
response.sendRedirect("logout.jsp");
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1><%= session.getAttribute("signedUser") %>님 환영합니다.</h1>
<a href="logout.jsp">로그아웃</a>
</body>
</html>
logout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 추가 -->
<% // 자바 코드 기술
// 1. 기존의 세션 데잍를 모두 삭제 (즉, 세션 무효)
session.invalidate(); // 세션 무효화
// 2. 로그인 페이지로 이동
response.sendRedirect("loginForm.jsp");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그아웃 페이지</title>
</head>
<body>
</body>
</html>
로그아웃 < 클릭 시 다시 login.jsp로 이동
request 텍스트 폼 예제 - getParameter(), getParameterValues(), getRemoteAddr(), getMethod(), getProtocol() 사용
requestForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>requestForm 페이지</title>
</head>
<body>
<center>
<h2>request 텍스트 폼</h2>
<hr>
<form name="myForm" method="POST" action="request_result.jsp">
<table border="1" cellspacing="1" cellpadding="5">
<tr>
<td bgcolor="orange">이름</td>
<td align="left"><input type="text" name="username"/></td>
</tr>
<tr>
<td bgcolor="orange">직업</td>
<td align="left">
<select name ="job">
<option value="">직업선택</option>
<option value="프로그래머">프로그래머</option>
<option value="회사원">회사원</option>
<option value="교수">교수</option>
<option value="공무원">공무원</option>
<option value="회사원">회사원</option>
<option value="기타">기타</option>
</select>
</td>
</tr>
<tr>
<td bgcolor="orange">관심분야</td>
<td align="center">
<input type="checkbox" name="favorite" value="문화">문화</input>
<input type="checkbox" name="favorite" value="여행">여행</input>
<input type="checkbox" name="favorite" value="경제">경제</input>
<input type="checkbox" name="favorite" value="정치">정치</input>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="확인">
<input type="reset" value="다시쓰기">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
request_result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 추가 -->
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>request_result 페이지</title>
</head>
<body>
<h2>request 테스트 결과 - 1</h2>
<hr>
<table border="1" cellspacing="1" cellpadding="5">
<tr>
<td bgcolor="lime">이름</td>
<td width="80"><%= request.getParameter("username") %></td>
</tr>
<tr>
<td bgcolor="lime">직업</td>
<td width="80"><%= request.getParameter("job") %></td>
</tr>
<tr>
<td bgcolor="lime">관심분야</td>
<td>
<%
String[] favorites = request.getParameterValues("favorite");
for(int i=0; i<favorites.length; i++){
out.println(favorites[i] + "<br>");
}
%>
</td>
</tr>
</table>
<hr>
<h2>request 테스트 결과 -2</h2>
<table border="0">
<tr>
<td>
1. 클라이언트 IP 주소 : <%= request.getRemoteAddr() %><br>
2. 요쳥 메소드 : <%= request.getMethod() %><br>
3. 요청 프로토콜 : <%= request.getProtocol() %>
</td>
</tr>
</table>
</body>
</html>
반응형
'국비교육(아이티센 입사교육) > JSP' 카테고리의 다른 글
[Javascript] 테이블에 행 추가/삭제 구현하기 - insertRow, addRow(), insertCell(), deleteRow() (0) | 2021.10.21 |
---|---|
[JSP] 표현 언어(EL) / EL 내장객체 / EL 예제 (0) | 2021.10.20 |
[JSP] Session / Session의 주요 메소드 / 세션 생성 방법 (0) | 2021.10.19 |
[JSP] JSTL / JSTL 라이브러리 / JSTL 예제 (0) | 2021.10.19 |