티스토리 뷰
(기초)그래서 뭘 배운거야?/JSP
JSP-10-a href / forward / sendRedirect : 다른 페이지로 데이터 보내기
Soheny.P 2021. 12. 2. 13:29728x90
<%@ 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태그로 controller거쳐서 데이터 전달하기
<form action="<%=request.getContextPath()%>/Example2ServletController" method="post">
<ul>
<li><label for="data1">data1</label><input type="text" id="data1" name="data1" /></li>
<li><label for="data2">data2</label><input type="text" id="data2" name="data2" /></li>
<li><button>전송</button></li>
</ul>
</form>
//a태그 내부에 data1값, data2값 넣어서 전달하기
<a href="<%=request.getContextPath()%>/Example2ServletController?data1=abcd&data2=1234">전송</a>
</body>
</html>
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Example2ServletController
*/
@WebServlet("/Example2ServletController")
public class Example2ServletController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Example2ServletController() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 여기서부터
System.out.println("GET 호출");
String data1 = request.getParameter("data1");
String data2 = request.getParameter("data2");
System.out.println(data1+", "+data2);
//바로 위까지가 페이지>서블릿 데이터 전송
//data1, data2라는 이름으로 속성명 설정 후 data1, data2 데이터 할당
request.setAttribute("data1", data1);
request.setAttribute("data2", data2);
//forward방식
RequestDispatcher rdp = request.getRequestDispatcher("/ch08/example2_result.jsp");
//rdp.forward(request, response)가 있어야 servletController에서 result페이지로 연결 가능
rdp.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("POST 호출");
doGet(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
//forward로 받을 때 사용
String data1 = (String)request.getAttribute("data1");
String data2 = (String)request.getAttribute("data2");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>example2.jsp 결과 페이지</h1>
<h2>data 1 : <%=data1 %></h2>
<h2>data 2 : <%=data2 %></h2>
</body>
</html>
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Example2ServletController
*/
@WebServlet("/Example2ServletController")
public class Example2ServletController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Example2ServletController() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 여기서부터
System.out.println("GET 호출");
String data1 = request.getParameter("data1");
String data2 = request.getParameter("data2");
System.out.println(data1+", "+data2);
//바로 위까지가 페이지>서블릿 데이터 전송
//sendRedirect방식
//이렇게하면 값 전송 안됨
//response.sendRedirect(request.getContextPath()+"/ch08/example2_result.jsp");
//쿼리문안에 전송할 값을 넣어줘야함
response.sendRedirect(request.getContextPath()+"/ch08/example2_result.jsp?data1="+data1+"&data2="+data2);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("POST 호출");
doGet(request, response);
}
}
728x90
'(기초)그래서 뭘 배운거야? > JSP' 카테고리의 다른 글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- hr tag
- 2021년2회
- ul>li
- imgtag
- 93점
- tabletag
- definition List
- 정처기
- 정보처리기사
- 비전공
- tablespan
- boldtag
- ptag
- 2021년42회
- usemap
- 복습
- pretag
- 긴문장
- br tag
- ol>li
- html
- spantag
- 줄글
- 정보처리기사필기
- marktag
- emtag
- 정보처리기사실기
- 합격
- 단락태그
- hn태그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함