코딩 개발/Java

JSP HTTP 통신 (HTML <form>, <a> tag)

호소세 2023. 5. 23. 22:50
728x90
반응형

https://pabeba.tistory.com/152

 

Java - Servlet 연동 (HTML <form>, <a> tag)

https://pabeba.tistory.com/145 Apache Tomcat (WAS, Web Server, Apache HTTP Server, Apache Tomcat) 주제 간단하게 생각해 보기 처음 보는 입장에서 WAS(Web Application Server) , Web Server, Apache HTTP Server, Apache Tomcat 이 뭔지 도저

pabeba.tistory.com

저번 시간에 Servlet으로 HTTP 통신을 했다면

이번에는 JSP Template Engine 을 이용하여 간편하게 통신을 해보겠습니다.

 

밑에 있는 글는 JSP에 대한 설명입니다.

https://pabeba.tistory.com/154

 

JSP (feat. 기본 문법)

JSP란? Java Server Page의 줄임말입니다. 서버 측에서 웹페이지를 동적으로 생성하는 기술입니다. HTML에 자바 코드를 삽입하는 형식으로 개발되고, 동적인 웹페이지 구현에 적합합니다. *Template Engine

pabeba.tistory.com

 

오늘도 form 태그를 이용해서 데이터를 주고 받아볼게요.

대신 파일은 jsp 파일이기 때문에 다른 의미가 있습니다.

 

1. form 태그 이용 - 데이터 전송 및 수신

step1-1-form-text.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp form</title>
</head>
<body>
<form method="get" action="step1-2-form-action.jsp">
<input type="text" name="userName" required="required" placeholder="이름"><br>
<input type="number" name="userAge" required="required"  placeholder="나이"><br>
<button type="submit" class="btn btn-primary">전송</button>
<button type="reset" class="btn btn-info">리셋</button>
</form>
</body>
</html>

form tag 안에 input 박스에 userName과 userAge 를 넣어서 /step1-2-form-action.jsp 에 보내는 것입니다.

그렇다면 step1-2-form-action.jsp 파일을 만들어야겠죠?

 step1-2-form-action.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>step1-2-form-action</title>
</head>
<body>
	이름 : <%=request.getParameter("userName") %> <br>
	나이 : <%=request.getParameter("userAge") %>
</body>
</html>

이름에 '호소세' 나이에 '20' 을 넣고 보내면 userName에 대한 parameter와 userAge에 대한 parameter가 <%=%> 문법에 들어가서 웹페이지에 나타나게 되는 것입니다.

 

다음은 JSP로 for문 연습을 해보겠습니다.

 

JSP for 문 (select - option 태그 연습)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>step5-1-select-option</title>
</head>
<body>
<form action="step5-2-select-action.jsp">
	<select name="line">
	<%
		for(int i=1;i<=9;i++){
	%>
		<option value="<%=i%>"><%=i%> 호선</option>	
	<%
		}
	%>
	</select>
	<button>전송</button>
</form>
</body>
</html>

이제 1~9호선 까지 선택할 수 있고, 전송을 누르면 step5-2-select-action으로 보내지는 JSP 입니다.

 

 

소감

이렇게 JSP로 연결 연습을 해봤습니다. Servlet으로 연결하는 것과 다를 것은 없지만 더욱 간단하다는 것은 좋습니다. 정신없이 out.print() 하는 것보다 JSP를 사용하는 것이 훨씬 수월합니다.

오늘 apache - tomcat을 이용하여 oracle 연결하다 시간을 다 보냈습니다. 맥북으로 뭘 하려면 확실히 더 많은 공부가 필요하다고 느낍니다. 피로감이 높지만 그만큼 해결했을시 만족감도 있습니다. 왜냐하면 설정조차도 왜 이렇게 하는지 더 잘 알게 됩니다. 하지만 오늘은 다시금 느낍니다. 윈도우 랩탑을 샀더라면 저의 시간을 더 많이 지킬 수 있지 않았을까라는 생각을..

그래도 만족합니다. 맥북을 사용하면 스타벅스에 갈 수 있다고 하더라고요....  ㅋㅋㅋ

다음 시간에는 JSP와 Oracle 연결을 해보겠습니다. (이것 때문에 시간이 오래 걸렸어요.)

반응형