본문 바로가기

Learning/JSP

폼태그 사용, 입력한 값을 인터넷 새 페이지에서 출력하기

  • WebContent에 새 폴더 생성 (폴더명 exam, test.jsp 파일 생성)

  • test.jsp에 이름과 주소 칸, 전송 버튼을 생성

 

 

 

  • 서버 프로그램을 만들기 때문에 이런 값들이 서버에게 전달되기 위해서는 반드시 폼태그에 감싸져야함

 

 

  • action을 써줌. submit이라는 것이 action으로 가고, 갈때 두 개의 값을 들고 가라는 뜻.

 

 


 

  • test.jsp에 써준대로 testResult.jsp라는 파일을 새로 생성

 

 

  • 이제 test.jsp에서 Run As를 하고 전송을 누르면 크롬에서 새 페이지가 뜨면서 서버라는 글자가 뜬다.

 


  • 칸에 적은 값이 뜨도록 하려면 요청을 처리하는 request와 출력을 담당하는 객체인 out을 사용하여 testResult.jsp를 수정해야함

  • 스크립틀릿 (%)을 이용하여 HTML 안에 자바문법을 기입

 

<%@ 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>

<%

 String name=request.getParameter("name"); //request는 요청을 담당하는 객체

 String addr=request.getParameter("addr");

 out.println(name); //out은 출력을 담당하는 객체

 out.println(addr);

%>

<body>

서버

</body>

</html>

 

  • 전송 버튼을 누르면 새 페이지에 이름과 주소가 뜸

  • 주소창을 잘 보면 testResult.jsp?name=홍길동&addr=부산 이라고 나와있음

 

 


  • 만약 이름: 홍길동 주소: 부산 이렇게 보여주고 싶다면?

  • <Body></Body>안에 원하는 형식과 스크립틀릿을 함께 기입

<%@ 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>

<%

 String name=request.getParameter("name"); //request는 요청을 담당하는 객체

 String addr=request.getParameter("addr");

 out.println(name); //out은 출력을 담당하는 객체

 out.println(addr);

%>

<body>

결과 <hr>

이름: <% out.println(name); %> <br>

주소: <% out.println(addr); %> <br>

</body>

</html>

 

<hr>

이름: <%=name %><br>

주소: <%=addr %>

 

 


 

  • score.jsp 생성하여 이름, 국어, 영어, 수학 성적을 기입하는 칸과 전송 버튼을 만들기

  • scoreResult.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="scoreResult.jsp">

이름: <input type="text" name="name"><br>

국어: <input type="text" name="kor"><br>

영어: <input type="text" name="eng"><br>

수학: <input type="text" name="math"><br>

<input type="submit" value="전송">

</form>

</body>

</html>

 


 

<%@ 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>

<%

    String name=request.getParameter("name");

    int kor=Integer.parseInt(request.getParameter("kor"));

    int eng=Integer.parseInt(request.getParameter("eng"));

    int math=Integer.parseInt(request.getParameter("math"));

    int tot=kor+eng+math;

    out.println("name");

    out.println("kor");

    out.println("eng");

    out.println("math");

%>

<body>

결과<hr>

이름: <%=name %><br>

국어: <%=kor %><br>

영어: <%=eng %><br>

수학: <%=math %><br>

총점: <%=tot%>

</body>

</html>