ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 내장 객체 (1) - JSP로 설문조사폼(sendRedirect..)
    웹 Web/JSP & Servlet 2022. 1. 17. 13:06

    response 내장 객체 : 클라이언트에 대한 응답 처리를 하며, 실행결과를 브라우저로 되돌려 줄 때 사용

    response 내장 객체 sendRedirect (1)

    <41_form.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>
    <body>
    	<h2>설문 조사</h2>
    	<form action="42_research.jsp" method="post">
    		<table>
    			<tr>
    				<td>이름 :</td>
    				<td><input type="text" name="name" size="20"></td>
    			</tr>
    			<tr>
    				<td>성별 :</td>
    				<td>
    					<input type="radio" name="gender" value="male"checked="checked"> 남자 
    					<input type="radio" name="gender" value="female"> 여자
    				</td>
    			</tr>
    			<tr>
    				<td>좋아하는 계절:</td>
    				<td>
    					<input type="checkbox" name="season" value="1"> 봄 
    					<input type="checkbox" name="season" value="2" checked="checked"> 여름 
    					<input type="checkbox" name="season" value="3"> 가을 
    					<input type="checkbox" name="season" value="4"> 겨울
    				</td>
    			</tr>
    			<tr align="center">
    				<td><input type="submit" value="전송"></td>
    				<td><input type="reset" value="취소"></td>
    			</tr>
    		</table>
    	</form>
    	<br>
    	<%
    	response.sendRedirect("https://www.naver.com");
    	%>
    </body>
    </html>

     

    <42_research.jsp> - 수정x

    <%@ 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>
    <%
    request.setCharacterEncoding("UTF-8");
    String name =  request.getParameter("name");
    out.print("name: " + name + "<br>");
    
    String gender = request.getParameter("gender");
    out.print("성별: " + gender);
    if(gender.equals("male"))
    	out.print("남성입니다. <br>");
    else out.print("여성입니다. <br>");
    
    String seasonArr[] = request.getParameterValues("season");
    out.println("당신이 좋아하는 계절은 ");
    for(String season : seasonArr) {
    	int n = Integer.parseInt(season); // 숫자열로 변환 
    	switch(n) {
    	case 1 :
    		out.println("봄");
    		break;
    	case 2 :
    		out.println("여름");
    		break;
    	case 3 :
    		out.println("가을");
    		break;
    	default :
    		out.println("겨울");
    		break;
    	}
    }
    %>
    <br>
    	<b><a href= "41_form.jsp">다시</a></b>
    </body>
    </html>

    설문조사 창이 나오지 않고 바로 네이버로 넘어감

     

     

     

    response 내장 객체 sendRedirect (2)

    p.195

    <44_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 method="post" action="44_testLogin.jsp">
    <label for="userid"> 아이디 : </label>
    <input type="text" name="id" id="userid"><br>
    <label for="userpwd"> 암 &nbsp; 호 : </label>
    <input type="password" name="pwd" id="userpwd"> <br>
    <input type="submit" value="로그인">
    </form>
    </body>
    </html>

     

    <44_loginTest.jsp>

    쿼리 스트링으로 메인페이지에 회원 이름을 넘겨줌

    한글을 전송할 것이므로 인코딩

    <%@page import = "java.net.URLEncoder" %> <!-- URLEncoder 사용 위해 import -->
    <%@ 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 id = "choi";
    String pwd = "1234";
    String name = "최수빈";
    request.setCharacterEncoding("UTF-8"); // 한글깨짐 방지
    
    if(id.equals(request.getParameter("id")) &&
    	pwd.equals(request.getParameter("pwd"))) { // 아이디,비번이 맞을때만 메인페이지로
    	response.sendRedirect("44_main.jsp?name= " + URLEncoder.encode(name, "UTF-8"));
    } else {
    	response.sendRedirect("44_loginForm.jsp");
    }
    	
    %>
    </body>
    </html>

     

    <44_main.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>
    <h1>환영합니다</h1>
    <%= request.getParameter("name") %>님 안녕하세요
    </body>
    </html>

    아이디에 choi, 암호에 1234를 입력하면

    환영합니다

    최수빈님 안녕하세요

Designed by Tistory.