티스토리 뷰
JSP 역시 Servelt과 마찬가지로 request와 response 객체가 존재합니다. 쓰이는 메소드나 개념은 동일하기 때문에 바로 실습을 해보면서 공부해 보겠습니다. (참고 : HttpServlet)
request.getParameter(), request.getParameterValues()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <form action="singUp.jsp" method ="get"> id : <input type="text" name="user_id"><br> password : <input type="password" name="user_pw"><br> hobby : sport<input type="checkbox" name="user_hobby" value="sport">, cooking<input type="checkbox" name="user_hobby" value="cooking">, travel<input type="checkbox" name="user_hobby" value="travel"><br> <input type="submit" value = "signUp"> </form> </body> </html> | cs |
signUp.jsp
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 32 33 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <%! String user_id; String user_pw; String[] user_hobby; %> <% user_id = request.getParameter("user_id"); user_pw = request.getParameter("user_pw"); user_hobby = request.getParameterValues("user_hobby"); %> user_id :<%= user_id%> <br> user_pw :<%= user_pw%> <br> user_hobby : <% for(int i=0; i<user_hobby.length; i++) { %> <%= user_hobby[i] %> <% } %> <br> </body> </html> | cs |
signUp.jsp를 보면 저번 시간에 공부한 것을 이용해 코드를 보면 먼저 <%! %>를 이용해 멤버 변수들을 선언해 주었습니다.
그 멤버 변수들에 <% %>태그로 java코드를 이용해 데이터를 넣어주겠습니다.
클라이언트가 입력한 정보를 String 객체에 담고 있는데, 그 때 사용되는 메소드가 request.getParameter("name") 입니다. 인자 값으로는 form태그의 name 속성 값을 주면 됩니다.
user_hobby의 경우 type이 checkbox 이므로 배열로 저장해 주어야 합니다. 따라서 호출하는 메소드도 request.getParameterValues("value")로 바뀌고 인자 값으로 value 속성 값을 줍니다.
데이터가 잘 들어갔는지 확인하기 위해 변수 값을 출력해주는 <%= %> 태그를 사용합니다.
단, user_hobby는 배열이기 때문에 for문을 이용해 출력해 주도록 합니다. (자세한 문법 내용은 생략하겠습니다.)
원하는 데로 값이 입력되고 출력됩니다. 참고로 입력 방식을 GET으로 했기 때문에 URL에 변수와 값이 그대로 나오는 것을 볼 수 있습니다. password같은 민감한 정보도 있기 때문에 이는 POST방식으로 해주는 게 좋겠죠 ?
response.sendRedirect()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <p>first page !</p> <% response.sendRedirect("secondPage.jsp"); %> </body> </html> | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <p>Second Page !</p> </body> </html> | cs |
firstPage.jsp를 보시면 아무 조건 없이 response.sendRedirect("secondPage.jsp")가 호출됩니다. 따라서
URL에 firstPage.jsp를 요청하지만,
firsPage는 안보이고 바로 sencondPage.jsp로 이동되는 것을 볼 수 있습니다.
'JSP&Servlet' 카테고리의 다른 글
Servlet 데이터 공유 (1) | 2019.01.22 |
---|---|
JSP 내장객체 (0) | 2019.01.21 |
JSP 스크립트 (0) | 2019.01.19 |
doGet, doPost (3) | 2019.01.18 |
Servlet Lifecycle (0) | 2019.01.18 |
- Total
- Today
- Yesterday
- 지옥에서 온 git
- 방명록 프로젝트
- Spring
- 패킷 스위칭
- 운영체제 반효경
- 선형 회귀
- Spring Boot
- 파이썬 for Beginner 솔루션
- 스프링 mvc
- jsp
- 쉽게 배우는 운영체제
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- git
- 스프링 테스트
- 쉘 코드
- git branch
- JPA
- 스프링 컨테이너
- Gradle
- 파이썬 for Beginner 연습문제
- 생활코딩 javascript
- 프로그래머스
- Spring Data JPA
- spring mvc
- git merge
- Computer_Networking_A_Top-Down_Approach
- 스프링
- 김영환
- Thymeleaf
- Python Cookbook
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |