Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
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
Tags
more
Archives
Today
Total
관리 메뉴

ALLYES

[2022년 청년친화형 기업 ESG지원 사업 - 29] 본문

ESG

[2022년 청년친화형 기업 ESG지원 사업 - 29]

Allyes_99 2022. 10. 13. 17:42

일시 : 2022.10.13

시간 : 9:00 ~ 18:00


오전/오후 : JavaScript


  • 데이터 전송 방식 - Get
    • header에 저장됨 => header에 주소 정보가 저장되어 있음(url)
    • 데이터를 쿼리스트링 형태로 url 뒤에 붙여서 전송하는 방법
      • 쿼리 스트링(Query String)
        • 주소 : ?color=%23001eff&num1=2&num2=5
          • ? : 쿼리 스트링의 시작점
          • ?name=value&name2=value2 .
    • 데이터를 server로 전송하는 실습 : name = "data" => key..
  • 데이터 전송 방식 - Post
    • 데이터를 패킷의 Body에 담아 전송하는 방법

예제7 - servlet 코드

package com;

import java.io.IOException;
import java.io.PrintWriter;

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 Ex07mul
 */
@WebServlet("/Ex07mul")
public class Ex07mul extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		// name(num1)에서 num1의 값을 가져옴
		int mul1 = Integer.parseInt(request.getParameter("num1"));
		int mul2 = Integer.parseInt(request.getParameter("num2"));
		// 파라미터 수집 : 각각의 파라미터(보내진 데이터)를 가져와서 변수에 담는 과정
		String color = request.getParameter("color");
		
		// 받아온 데이터를 기반으로 응답 작성
		PrintWriter out = response.getWriter();
		// table 생성, color 불러오기
		out.print("<table border = '1' style='background-color:"+color+"'>");
		for (int j = mul1; j <= mul2; j++) {
			out.print("<tr>");
			for (int i = 1; i < 10; i++) {
				out.print("<td>");
				out.print(j + "*" + i + "=" + j * i);
				out.print("</td>");
			}
			out.print("</tr>");
		}
		out.print("</table>");
	}

}

예제7 - html 코드

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<form action="Ex07mul"> <!-- url mapping 적용 -->
		색상선택
		<input type ="color" name ="color"> <!-- input type의 color 속성 -->
		<br>
		<input type="text" name="num1"> <!-- 시작 구구단 -->
		에서
		<input type="text" name="num2"> <!-- 끝 구구단 -->
		까지의 구구단을 출력 
		<input type="submit" value="send"> <!-- 값 전송 -->
	</form>
</body>
</html>

 

  • Get
    • URL로 데이터 전송
    • 전송하는 데이터의 길이에 한계(1024byte)
    • 보안상 문제가 있음
    • method='Get' 기본값이 Get이라 생략가능
  • Post
    • HTTP Message 구조 내 Body 부분에 담아서 전송
    • 전송하는 데이터의 길이에 제한없음
    • 보안에 강함
    • method = 'Post' 

  • JSP(Java Server Page)
    • HTML내에 java 코드를 작서하고 웹 서버에서 웹 페이지를 생성하여 웹 브라우저에 돌려주는 Java를 기반으로 한 스크립트 언어
    • .jsp 확장자
    • 동적으로 작동하여 응답은 html을 이용함(동적 웹 애플리케이션 컴포넌트)
    • jsp -> 서블릿(.java) -> 클래스(.class) -> html으로 변환되어 실행됨

<%@ 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>
	<h1>Java Server Page</h1>
	
	<%--  
		스크립트릿 : java 코드를 사용하기 위한 영역
		<% %>
		
		표현식 : java코드 실행결과나, 변수를 HTML 코드 사이에 출력시킬때 사용
		<%= %>
		
		jsp -> Servlet
	 --%>
	 <%
	 	int a = 15;
	 	int b = 25;
	 %>
	 
	 <h1><%= a+b %></h1>
	 
</body>
</html>
<%@ 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>
	<table border = '1'>
		<tr>
			<% for(int i=1; i<=10; i++) {%>
			<td><%=i %></td>
			<%} %>
		</tr>
	</table>

</body>
</html>
<%@ 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>
	<%--
		선언문 : JSP에서 필드나 메서드를 만들기 위해 사용하는 것
				선언문 안에서 작성된 변수는 전부 전역변수(필드)가 된다.
				스크립트안에서 만들어진 변수는 지역변수가 된다.
	 --%>
	 
	 <%!
	 	String myName = "박병관";
	 	public int plus(int num1, int num2){
	 		return num1+num2;	
	 	}
	 	
	 %>
	 <%
	 	String youName = "이수환";
	 %>
	 <%=myName%>
	 <br>
	 <%=youName%>
	 <br>
	 10 + 30 = <%=plus(10,30) %>
</body>
</html>

 

 

  • 스크립트릿<%   %>
    • jsp문서 안에 java코드를 넣기 위해 사용
    • 그러나 jsp는 모든 것을 태그화 하여 쓰는것이 목적이므로 줄여가도록 함
  • 표현식 <%=  %>
    • web brower에 결과값을 출력하기 위해 사용
  • 지시자 <%@ >
    • JSP가 servlet으로 변환될 때 필요한 정보를 기술하기 위해 사용
    • <%@ include file = " " >
  • 내장객체
    • JSP page안에서 내장객체를 사용할 수 있는 이유는 Web Application Server가 JSP page를 Servlet class로 변환시키면서 자동으로 내장 객체 선언
<%@ page import="java.util.Random" %>
<%@ 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>
		<% Random r = new Random(); %>
		<%--
			지시자 : JSP가 Servlet으로 변환될 때 필요한 정보를 기술하기 위해 사용
		 --%>
		졸려요
		
		<%--
			include 지시자 : 외부페이지를 내 페이지 안에 포함시킬때
		 --%>
		 
		 <%@ include file ="Ex02table.jsp"%>
</body>
</html>

<%@ 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>
	<%-- 
		내장객체 : JSP안에서 객체를 생성하지 않아도 사용가능한 객체
				JSP가 Servlet로 변환될 때 자동으로 생성됨	
	 --%>
	<%
		// out : Servlet에서 PrintWriter와 비슷한 객체	
		String name = "안녕";
		out.print("안녕");
	%>
	
	<%=name %>
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<form action = "Ex06form.jsp" method = "post">
		이름 : <input type ="text" name = "name"><br>
		성별 : 남자<input type="radio" value = "남자" name = "gender"> 
			  여자<input type="radio" value="여자" name ="gender"><br>
		취미 : 
		영화보기<input type ="checkbox" value ="영화보기" name = "hobby">
		독서하기<input type ="checkbox" value="독서하기" name = "hobby">
		TV보기<input type = "checkbox" value="TV보기" name = "hobby">
		음악듣기<input type = "checkbox" value="" name = "hobby">
		<br>
		<input type = "submit">
	</form>
</body>
</html>

<%@page import="java.util.Arrays"%>
<%@ 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>
	<%	
		request.setCharacterEncoding("EUC-KR");
		String name = request.getParameter("name");
		String gender = request.getParameter("gender");
		String[] hobby = request.getParameterValues("hobby");
 	%>
	입력한 이름 : <%= name%> <br>
	성별 : <%= gender %><br>
	취미 :
	<%
		for(int i=0; i<hobby.length; i++){
			out.print(hobby[i]+" ");
		}
	
	%>
	
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h1>생성할 층과 방의 수를 입력하세요</h1>
	<form action="Ex07maketable.jsp" method = "post">
	층 <input type ="text" name ="floor">
	방 <input type ="text" name ="room">
	<input type ="submit" value = "생성">
	
	</form>
</body>
</html>
<%@ 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>

	<%
	request.setCharacterEncoding("EUC-KR");
	int floor = Integer.parseInt(request.getParameter("floor"));
	int room = Integer.parseInt(request.getParameter("room"));

%>

	<%
		out.print("<table border='1'>");
		for(int i =0; i<floor; i++){
				out.print("<tr></tr>");
			for(int j = 0; j<room; j++){
				out.print("<td>" + j + "</td>");
			}
				
		}
		out.print("</table>");
	%>


</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<form action="Ex08write.jsp" method = "post">
		<p>랜덤 숫자 입력</p><br>
		<input type="number" name="num"> 
		<input type="submit" value="생성하기">
	</form>
</body>
</html>
<%@ 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="Ex08result.jsp" method = "post">
	주제 : <input type ="text" name = "title"><br>
	<%
		request.setCharacterEncoding("EUC-KR");
		int num = Integer.parseInt(request.getParameter("num"));
		for(int i = 1; i<=num; i++)
		{
			out.print("아이템"+i+":"+"<input type ='text' name ='item'><br>");
		}
	%>
	<input type ="submit" value ="시작">
	</form>
</body>
</html>
<%@page import="java.util.Random"%>
<%@ 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>랜덤당첨 결과</p>
	<%
		request.setCharacterEncoding("EUC-KR");
		String title = request.getParameter("title");
		String[] item = request.getParameterValues("item");
		Random rd = new Random();
	%>
	<p><%= title %></p>
	<p><%= item[rd.nextInt(item.length)] %></p>
</body>
</html>