<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>하루일생2</title>
    <link>https://gun1127.tistory.com/</link>
    <description>공부내용 정리 블로그</description>
    <language>ko</language>
    <pubDate>Wed, 8 Apr 2026 10:31:53 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>하루의 모험</managingEditor>
    <image>
      <title>하루일생2</title>
      <url>https://tistory1.daumcdn.net/tistory/2792209/attach/6f78b15c2a534667b529f0066fb35915</url>
      <link>https://gun1127.tistory.com</link>
    </image>
    <item>
      <title>쉽게 배우는 JSP 웹프로그래밍 6장 연습문제</title>
      <link>https://gun1127.tistory.com/49</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;01 form 태그에 사용하는 속성에 대해 간단히 설명하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;251&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYcE6h/btszL9HSAEz/vcmSowQhcKWNrM3hZ7eOK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYcE6h/btszL9HSAEz/vcmSowQhcKWNrM3hZ7eOK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYcE6h/btszL9HSAEz/vcmSowQhcKWNrM3hZ7eOK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYcE6h%2FbtszL9HSAEz%2FvcmSowQhcKWNrM3hZ7eOK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;736&quot; height=&quot;251&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;251&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;02 form 태그 내에 중첩하여 사용하는 태그를 나열하고 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;input태그&lt;/b&gt; : 사용자가 텍스트입력, 선택 등을 다양하게 할 수 있도록 공간을 만드는 태그다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;select태그&lt;/b&gt; : 여러 개의 항목이 나타나는 목록 상자에서 항목을 선택하는 태그로, 반드시 option태그를 포함해야한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;textarea태그&lt;/b&gt; : 여러 줄의 텍스트를 입력할 수 있는 태그로, 입력폼 안에 사용된 태그와 띄어쓰기가 그대로 출력된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;03 폼 페이지에서 전송된 데이터를 전달받는 내장 객체와 관련된 메소드는 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;request 내장 객체&lt;/b&gt;는 웹 브라우저가 서버로 보낸 요청에 대한 다양한 정보를 담고 있어 &lt;code&gt;getParameter( )&lt;/code&gt; 메소드를 이용하여 요청 파라미터의 값을 얻을 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;04 form 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPzZ3o/btszKBZqitC/MoQBkOTvZx887ADY5rTgEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPzZ3o/btszKBZqitC/MoQBkOTvZx887ADY5rTgEk/img.png&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;174&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.6746%; margin-right: 10px;&quot; data-widthpercent=&quot;45.2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPzZ3o/btszKBZqitC/MoQBkOTvZx887ADY5rTgEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPzZ3o%2FbtszKBZqitC%2FMoQBkOTvZx887ADY5rTgEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;365&quot; height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biUDVe/btszMcxPpCU/f2n091DW3M9bITfqtKJ0K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biUDVe/btszMcxPpCU/f2n091DW3M9bITfqtKJ0K1/img.png&quot; data-origin-width=&quot;412&quot; data-origin-height=&quot;162&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.1626%;&quot; data-widthpercent=&quot;54.8&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biUDVe/btszMcxPpCU/f2n091DW3M9bITfqtKJ0K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiUDVe%2FbtszMcxPpCU%2Ff2n091DW3M9bITfqtKJ0K1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;form01.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;input 태그&lt;/code&gt;내에 &lt;code&gt;text 유형&lt;/code&gt;을 이용하여 이름, 주소, 이메일 항목을 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;form 태그&lt;/code&gt;의 &lt;code&gt;action 속성&lt;/code&gt; 값은 &lt;code&gt;form01_process.jsp&lt;/code&gt;로 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;form01_process.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;request&lt;/code&gt; 내장 객체의 &lt;code&gt;getParameter()&lt;/code&gt;메소드를 이용하여 전송된 요청 파라미터 값을 받습니다.&lt;/li&gt;
&lt;li&gt;StringBuffer 클래스를 이용하여 전송된 요청 파라미터 값을 저장하여 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch06/form01.jsp&lt;/code&gt;를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form01.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;form action=&quot;form01_process.jsp&quot; method=&quot;post&quot;&amp;gt;
		이름 : &amp;lt;input type=&quot;text&quot; name=&quot;name&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		주소 : &amp;lt;input type=&quot;text&quot; name=&quot;address&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		이메일 : &amp;lt;input type=&quot;text&quot; name=&quot;email&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		&amp;lt;input type=&quot;submit&quot; value=&quot;전송&quot;&amp;gt;
	&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form01_process.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		request.setCharacterEncoding(&quot;UTF-8&quot;);
	
		String name = request.getParameter(&quot;name&quot;);
		String address = request.getParameter(&quot;address&quot;);
		String email = request.getParameter(&quot;email&quot;);
		
		out.println(&quot;이름 : &quot; + name + &quot;&amp;lt;br/&amp;gt;&quot;);
		out.println(&quot;주소 : &quot; + address + &quot;&amp;lt;br/&amp;gt;&quot;);
		out.println(&quot;이메일 : &quot; + email + &quot;&amp;lt;br/&amp;gt;&quot;);
	
	%&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;05 form 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vntio/btszHRvxpVk/FoMkpYhRKqWf8qjrn4oBO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vntio/btszHRvxpVk/FoMkpYhRKqWf8qjrn4oBO1/img.png&quot; data-origin-width=&quot;356&quot; data-origin-height=&quot;157&quot; data-is-animation=&quot;false&quot; style=&quot;width: 38.803%; margin-right: 10px;&quot; data-widthpercent=&quot;39.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vntio/btszHRvxpVk/FoMkpYhRKqWf8qjrn4oBO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVntio%2FbtszHRvxpVk%2FFoMkpYhRKqWf8qjrn4oBO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;356&quot; height=&quot;157&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U9usQ/btszHSVtlHm/COvc2hVwhGRP6yuXuIHen0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U9usQ/btszHSVtlHm/COvc2hVwhGRP6yuXuIHen0/img.png&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;122&quot; data-is-animation=&quot;false&quot; style=&quot;width: 60.0342%;&quot; data-widthpercent=&quot;60.74&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U9usQ/btszHSVtlHm/COvc2hVwhGRP6yuXuIHen0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU9usQ%2FbtszHSVtlHm%2FCOvc2hVwhGRP6yuXuIHen0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;428&quot; height=&quot;122&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;form02.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;input 태그&lt;/code&gt; 내에 &lt;code&gt;text 유형&lt;/code&gt;을 이용하여 이름, 주소, 이메일 항목을 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;form 태그&lt;/code&gt;의 &lt;code&gt;action 속성&lt;/code&gt; 값은 &lt;code&gt;form02_process.jsp&lt;/code&gt;로 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;form02_process.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Enumeration 클래스를 이용하여 전송된 모든 요청 파라미터 값을 받습니다.&lt;/li&gt;
&lt;li&gt;StringBuffer 클래스를 이용하여 전송된 요청 파라미터 이름과 값을 저장하여 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;a href=&quot;http://localhost:8080/Exercise/ch06/form02.jsp%EB%A5%BC&quot;&gt;http://localhost:8080/Exercise/ch06/form02.jsp를&lt;/a&gt; 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form02.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;form action=&quot;form02_process.jsp&quot; method=&quot;post&quot;&amp;gt;
		이름 : &amp;lt;input type=&quot;text&quot; name=&quot;name&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		주소 : &amp;lt;input type=&quot;text&quot; name=&quot;address&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		이메일 : &amp;lt;input type=&quot;text&quot; name=&quot;email&quot; /&amp;gt;&amp;lt;br/&amp;gt;
		&amp;lt;input type=&quot;submit&quot; value=&quot;전송&quot;&amp;gt;
	&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form02_process.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;java.util.Enumeration&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		request.setCharacterEncoding(&quot;UTF-8&quot;);
	
		Enumeration en = request.getParameterNames();
		
		while(en.hasMoreElements()) {
			String name = (String) en.nextElement();
			String value = request.getParameter(name);
			
			out.println(name + &quot; : &quot; + value + &quot;&amp;lt;br/&amp;gt;&quot;);
		}
	
	
	%&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;06 form 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n9aEF/btszLtNlcCF/yQ6HfQsl8TMkbuRPmq2Mnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n9aEF/btszLtNlcCF/yQ6HfQsl8TMkbuRPmq2Mnk/img.png&quot; data-origin-width=&quot;358&quot; data-origin-height=&quot;99&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.9686%; margin-right: 10px;&quot; data-widthpercent=&quot;51.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n9aEF/btszLtNlcCF/yQ6HfQsl8TMkbuRPmq2Mnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn9aEF%2FbtszLtNlcCF%2FyQ6HfQsl8TMkbuRPmq2Mnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;358&quot; height=&quot;99&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWEl1a/btszK4NPftm/F6bBa5tOfyhk55KAxKPzlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWEl1a/btszK4NPftm/F6bBa5tOfyhk55KAxKPzlk/img.png&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;106&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.8686%;&quot; data-widthpercent=&quot;48.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWEl1a/btszK4NPftm/F6bBa5tOfyhk55KAxKPzlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWEl1a%2FbtszK4NPftm%2FF6bBa5tOfyhk55KAxKPzlk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;form03.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;input 태그&lt;/code&gt;내에 &lt;code&gt;checkbox 유형&lt;/code&gt;을 이용하여 오렌지, 사과 ,바나나 항목을 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;form 태그&lt;/code&gt;의 &lt;code&gt;action 속성&lt;/code&gt; 값은 &lt;code&gt;form03_process.jsp&lt;/code&gt;로 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;form03_process.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;request&lt;/code&gt; 내장 객체의 &lt;code&gt;getParameterValues()&lt;/code&gt; 메소드를 이용하여 요청 파라미터 값을 전달받아 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch06/form03.jsp&lt;/code&gt;를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form03.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;form action=&quot;form03_process.jsp&quot; method=&quot;post&quot;&amp;gt;
		&amp;lt;p&amp;gt;
			&amp;lt;input type=&quot;checkbox&quot; name=&quot;fruit&quot; value=&quot;Orange&quot;&amp;gt;오렌지
			&amp;lt;input type=&quot;checkbox&quot; name=&quot;fruit&quot; value=&quot;Apple&quot;&amp;gt;사과
			&amp;lt;input type=&quot;checkbox&quot; name=&quot;fruit&quot; value=&quot;Banana&quot;&amp;gt;바나나
			&amp;lt;input type=&quot;submit&quot; value=&quot;전송&quot;&amp;gt;
		&amp;lt;/p&amp;gt;
	&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;form03_process.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;java.util.Enumeration&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		request.setCharacterEncoding(&quot;UTF-8&quot;);
	
		String[] fruit = request.getParameterValues(&quot;fruit&quot;);
	%&amp;gt;
	&amp;lt;h4&amp;gt;선택한 과일&amp;lt;/h4&amp;gt;&amp;lt;br/&amp;gt;
	&amp;lt;%
		if(fruit != null) {
			for(String f : fruit) {
				out.println(&quot;&amp;lt;b&amp;gt;&quot; + f + &quot;&amp;lt;/b&amp;gt;&quot;);
			}
		}
	%&amp;gt;
	
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;07 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chR1f4/btszJISkNf8/VlwNUKhXxGPAZMdue1Q2hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chR1f4/btszJISkNf8/VlwNUKhXxGPAZMdue1Q2hk/img.png&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;492&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.3951%; margin-right: 10px;&quot; data-widthpercent=&quot;44.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chR1f4/btszJISkNf8/VlwNUKhXxGPAZMdue1Q2hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchR1f4%2FbtszJISkNf8%2FVlwNUKhXxGPAZMdue1Q2hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;393&quot; height=&quot;492&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cB9yWl/btszLkbWrmi/oCJ4OSe1arYF4lj8H0V0Vk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cB9yWl/btszLkbWrmi/oCJ4OSe1arYF4lj8H0V0Vk/img.png&quot; data-origin-width=&quot;479&quot; data-origin-height=&quot;489&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.4421%;&quot; data-widthpercent=&quot;55.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cB9yWl/btszLkbWrmi/oCJ4OSe1arYF4lj8H0V0Vk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB9yWl%2FbtszLkbWrmi%2FoCJ4OSe1arYF4lj8H0V0Vk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;479&quot; height=&quot;489&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① 생성된 &lt;b&gt;BookMarket&lt;/b&gt; 프로젝트를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;b&gt;WebContent&lt;/b&gt; 폴더에 상품 정보 등록 페이지 &lt;code&gt;addBook.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위의 그림과 같이 입력 항목을 작성합니다.&lt;/li&gt;
&lt;li&gt;신규 도서의 등록을 처리하는 &lt;code&gt;processAddBook.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ &lt;b&gt;src&lt;/b&gt; 폴더의 &lt;b&gt;BookRepository&lt;/b&gt; 클래스에 신규 도서를 저장하는 &lt;code&gt;addBook()&lt;/code&gt; 메소드를 작성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;④ 자바빈즈를 대신하여 새로 등록된 상품 목록을 가져오도록 상품 목록 페이지 &lt;code&gt;products.jsp&lt;/code&gt; 파일을 수정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⑤ 자바빈즈를 대신하여 새로 등록된 상품 상세 정보를 가져오도록 상품 상세 정보 페이지 &lt;code&gt;product.jsp&lt;/code&gt; 파일을 수정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⑥ 웹 브라우저에 &lt;code&gt;http://localhost:8080/BookMarket/addBook.jsp&lt;/code&gt;를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;addBook.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css&quot;&amp;gt;
&amp;lt;title&amp;gt;도서 등록&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%@ include file=&quot;menu.jsp&quot; %&amp;gt;
	&amp;lt;div class=&quot;jumbotron&quot;&amp;gt;
		&amp;lt;div class=&quot;container&quot;&amp;gt;
			&amp;lt;h1 class=&quot;display-4&quot;&amp;gt;도서 등록&amp;lt;/h1&amp;gt;
		&amp;lt;/div&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;div class=&quot;container&quot;&amp;gt;	
		&amp;lt;form name=&quot;newBook&quot; action=&quot;processAddBook.jsp&quot; class=&quot;form-horizontal&quot; method=&quot;post&quot;&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;도서코드&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; id=&quot;bookId&quot; name=&quot;bookId&quot; class=&quot;form-control&quot; &amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;도서명&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot; class=&quot;form-control&quot; &amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;가격&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; id=&quot;unitPrice&quot; name=&quot;unitPrice&quot; class=&quot;form-control&quot; &amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;저자&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; name=&quot;author&quot; class=&quot;form-control&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
				&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;출판사&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; name=&quot;publisher&quot; class=&quot;form-control&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;출판일&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; name=&quot;releaseDate&quot; class=&quot;form-control&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;총페이지 수&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; name=&quot;totalPages&quot; class=&quot;form-control&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;			
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;상세정보&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-5&quot;&amp;gt;
					&amp;lt;textarea name=&quot;description&quot; cols=&quot;50&quot; rows=&quot;2&quot;
						class=&quot;form-control&quot; placeholder=&quot;100자 이상 적어주세요&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;			
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;분류&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; name=&quot;category&quot; class=&quot;form-control&quot; &amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;재고수&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-3&quot;&amp;gt;
					&amp;lt;input type=&quot;text&quot; id=&quot;unitsInStock&quot; name=&quot;unitsInStock&quot; class=&quot;form-control&quot; &amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;상태&amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-5&quot;&amp;gt;
					&amp;lt;input type=&quot;radio&quot; name=&quot;condition&quot; value=&quot;New &quot; &amp;gt; 신규도서 
					&amp;lt;input type=&quot;radio&quot; name=&quot;condition&quot; value=&quot;Old&quot; &amp;gt; 중고도서 
					&amp;lt;input type=&quot;radio&quot; name=&quot;condition&quot; value=&quot;EBook&quot; &amp;gt; E-Book
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;!--
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;label class=&quot;col-sm-2&quot;&amp;gt;이미지 &amp;lt;/label&amp;gt;
				&amp;lt;div class=&quot;col-sm-5&quot;&amp;gt;
					&amp;lt;input type=&quot;file&quot; name=&quot;bookImage&quot; class=&quot;form-control&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			--&amp;gt;
			&amp;lt;div class=&quot;form-group row&quot;&amp;gt;
				&amp;lt;div class=&quot;col-sm-offset-2 col-sm-10 &quot;&amp;gt;
					&amp;lt;input type=&quot;submit&quot; class=&quot;btn btn-primary&quot; value=&quot;등록&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/form&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;%@ include file=&quot;footer.jsp&quot; %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;BookRepository.java&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;package dao;

import java.util.ArrayList;

import vo.Book;

public class BookRepository{
	
	private ArrayList&amp;lt;Book&amp;gt; listOfBooks = new ArrayList&amp;lt;Book&amp;gt;();
	private static BookRepository instance = new BookRepository();
	public static BookRepository getInstance() {
		return instance;
	}
	
	public BookRepository() {
		Book book1= new Book(&quot;ISBN1234&quot;,&quot;HTML5+CSS3&quot;, 15000);
		book1.setAuthor(&quot;황재호&quot;);
		book1.setDescription(&quot;워드나 PPT 문서를 만들 수 있나요? 그러면 문제 없습니다. 지금 바로 웹페이지 제작에 도전해보세요. 지금 당장 컴퓨터가 없어도 괜찮습니다. 코드와 실행 화면이 바로 보여서 눈으로만 읽어도 어떻게 작동하는지 쉽게 파악할 수 있는 것은 기본이고, 중간중간 퀴즈를 추가하여 재미있게 게임하듯 복습할 수 있습니다.&quot;);
		book1.setPublisher(&quot;한빛미디어&quot;);
		book1.setCategory(&quot;Hello Coding&quot;);
		book1.setUnitsInStock(1000);
		book1.setTotalPages(288);
		book1.setReleaseDate(&quot;2018/03/02&quot;);
		book1.setFilename(&quot;ISBN1234.jpg&quot;);
		
		Book book2 = new Book(&quot;ISBN1235&quot;,&quot;쉽게 배우는 자바 프로그래밍&quot;, 27000);
		book2.setAuthor(&quot;우종중&quot;);
		book2.setDescription(&quot;객체 지향의 핵심과 자바의 현대적 기능을 충실히 다루면서도초보자가 쉽게 학습할 수 있게 구성했습니다. 시각화 도구를 활용한 개념 설명과 군더더기 없는 핵심 코드를 통해 개념과 구현을 한 흐름으로 학습할 수 있습니다. 또한 &amp;lsquo;기초 체력을 다지는 예제 &amp;rarr; 셀프 테스트 &amp;rarr; 생각을 논리적으로 정리하며 한 단계씩 풀어 가는 도전 과제 &amp;rarr; 스토리가 가미된 흥미로운 프로그래밍 문제&amp;rsquo; 등을 통해 프로그래밍 실력을 차근차근 끌어올릴 수 있습니다&quot;);
		book2.setPublisher(&quot;한빛아카데미&quot;);
		book2.setCategory(&quot;IT모바일&quot;);
		book2.setUnitsInStock(1000);
		book2.setTotalPages(692);
		book2.setReleaseDate(&quot;2017/08/02&quot;);
		book2.setFilename(&quot;ISBN1235.jpg&quot;);
		
		Book book3= new Book(&quot;ISBN1236&quot;,&quot;스프링4 입문 &quot;, 27000);
		book3.setAuthor(&quot;하세가와 유이치 , 오오노 와타루 , 토키 코헤이(권은철 , 전민수 ) &quot;);
		book3.setDescription(&quot;스프링은 단순히 사용 방법만 익히는 것보다 아키텍처를 어떻게 이해하고 설계하는지가 더 중요합니다. 예제를 복사해 붙여넣는 식으로는 실제 개발에서 스프링을 제대로 활용할 수 없습니다. 이 책에서는 웹 애플리케이션의 기초를 다지고 스프링 코어를 살펴보며 클라우드 네이티브 입문까지 다룹니다. 이제 막 실무에 뛰어든 웹 애플리케이션 초급자나 개발 경험은 있지만 스프링은 사용해본 적 없는 분을 대상으로 가능한 한 쉽게 설명합니다 &quot;);
		book3.setPublisher(&quot;한빛미디어&quot;);
		book3.setCategory(&quot;IT모바일&quot;);
		book3.setUnitsInStock(1000);
		book3.setTotalPages(520);
		book3.setReleaseDate(&quot;2017/11/01&quot;);
		book3.setFilename(&quot;ISBN1236.jpg&quot;);
		
		listOfBooks.add(book1);
		listOfBooks.add(book2);
		listOfBooks.add(book3);
	}
	
	public ArrayList&amp;lt;Book&amp;gt; getAllBooks() {
		return listOfBooks;
	}

	public Book getBookById(String bookId) {
		Book bookById = null;

		for (int i = 0; i &amp;lt; listOfBooks.size(); i++) {
			Book book = listOfBooks.get(i);
			if (book != null &amp;amp;&amp;amp; book.getBookId() != null &amp;amp;&amp;amp; book.getBookId().equals(bookId)) {
				
				bookById = book;
				break;
			}
		}
		return bookById;
	}
	
	public void addBook(Book book) {
		listOfBooks.add(book);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;processAddBook.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;vo.Book&quot;%&amp;gt;
&amp;lt;%@page import=&quot;dao.BookRepository&quot;%&amp;gt;
&amp;lt;%@ page contentType=&quot;text/html; charset=utf-8&quot;%&amp;gt;
&amp;lt;%
	request.setCharacterEncoding(&quot;UTF-8&quot;);

	String bookId = request.getParameter(&quot;bookId&quot;);
	String name = request.getParameter(&quot;name&quot;);
	String unitPrice = request.getParameter(&quot;unitPrice&quot;);
	String author = request.getParameter(&quot;unitPrice&quot;);
	String publisher = request.getParameter(&quot;publisher&quot;);
	String releaseDate = request.getParameter(&quot;releaseDate&quot;);
	String totalPages = request.getParameter(&quot;totalPages&quot;);
	String description = request.getParameter(&quot;description&quot;);
	String category = request.getParameter(&quot;category&quot;);
	String unitsInStock = request.getParameter(&quot;unitsInStock&quot;);
	String condition = request.getParameter(&quot;condition&quot;);
	
	// 가격을 문자에서 숫자로 변경
	Integer price = 0;
	if(unitPrice.isEmpty()) {
		price = 0;
	} else {
		price = Integer.valueOf(unitPrice);
	}
	
	// 총페이지를 문자에서 숫자로 변경
	long Pages = 0;
	if(totalPages.isEmpty()) {
		Pages = 0;
	} else {
		Pages = Integer.valueOf(totalPages);
	}
	
	// 재고수를 문자에서 숫자로 변경
	long stock = 0;
	if(unitsInStock.isEmpty()) {
		stock = 0;
	} else {
		stock = Integer.valueOf(unitsInStock);
	}

	BookRepository dao = BookRepository.getInstance();

	Book book = new Book();
	book.setBookId(bookId);
	book.setName(name);
	book.setUnitPrice(price);
	book.setAuthor(author);
	book.setPublisher(publisher);
	book.setReleaseDate(releaseDate);
	book.setTotalPages(Pages);
	book.setDescription(description);
	book.setCategory(category);
	book.setUnitsInStock(stock);
	book.setCondition(condition);
	
	dao.addBook(book);
	
	response.sendRedirect(&quot;books.jsp&quot;);
%&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>국비학원/쉽게 배우는 JSP 웹프로그래밍</category>
      <category>6장</category>
      <category>북쇼핑몰</category>
      <category>상품추가페이지</category>
      <category>쉽게배우는 JSP 웹 프로그래밍</category>
      <category>연습문제</category>
      <category>폼태그</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/49</guid>
      <comments>https://gun1127.tistory.com/49#entry49comment</comments>
      <pubDate>Sat, 4 Nov 2023 16:03:21 +0900</pubDate>
    </item>
    <item>
      <title>쉽게 배우는 JSP 웹프로그래밍 5장 연습문제</title>
      <link>https://gun1127.tistory.com/48</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;01 폼 페이지에서 입력된 데이터를 전달하는 요청 파라미터 값을 JSP 페이지로 가져오는 내장 객체는 무엇인지, 그리고 관련된 메소드에 대해 간단히 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;request 내장 객체
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;getParameter(String name)&lt;/b&gt; : 이름이 name인 파라미터 전달받음, 파라미터 없으면 null 반환&lt;/li&gt;
&lt;li&gt;&lt;b&gt;getParameterValues(String name)&lt;/b&gt; : 이름이 name인 파라미터를 배열로 전달받음, 파라미터 없으면 null 반환&lt;/li&gt;
&lt;li&gt;&lt;b&gt;getParameterNames()&lt;/b&gt; : 모든 요청 파라미터의 이름과 값을 Enumeration 객체로 전달받음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;getParameterMap() &lt;/b&gt;: 모든 요청 파라미터의 이름과 값을 Map 객체로 전달받음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;02 서버에서 웹 브라우저에 다른 페이지로 강제 이동하도록 명령하는 내장 객체와 관련된 메소드는 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;response 내장 객체 / &lt;code&gt;sendRedirect()&lt;/code&gt; 메소드&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;03 스크립트 태그의 표현문과 같이 데이터를 출력하는 내장 객체는 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;out 내장 객체&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;04 request 내장 객체를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckvjc4/btszDSMTz4I/Hn6jVkBb8Mplt9iKOzOya0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckvjc4/btszDSMTz4I/Hn6jVkBb8Mplt9iKOzOya0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckvjc4/btszDSMTz4I/Hn6jVkBb8Mplt9iKOzOya0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fckvjc4%2FbtszDSMTz4I%2FHn6jVkBb8Mplt9iKOzOya0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;442&quot; height=&quot;155&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;155&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYL17i/btszzXB7VX8/Py1xRd8H2KXb1govZ0LrVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYL17i/btszzXB7VX8/Py1xRd8H2KXb1govZ0LrVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYL17i/btszzXB7VX8/Py1xRd8H2KXb1govZ0LrVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYL17i%2FbtszzXB7VX8%2FPy1xRd8H2KXb1govZ0LrVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;701&quot; height=&quot;116&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;request.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;input 태그&lt;/code&gt;내에 &lt;code&gt;text 유형&lt;/code&gt;을 이용하여 아이디, 비밀번호, 항목을 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;form 태그&lt;/code&gt;의 &lt;code&gt;action 속성&lt;/code&gt; 값은 &lt;code&gt;request_process.jsp&lt;/code&gt;로, &lt;code&gt;method 속성 값&lt;/code&gt;은 &lt;code&gt;get&lt;/code&gt;으로 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;request_process.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;request&lt;/code&gt; 내장 객체의 &lt;code&gt;getQueryString()&lt;/code&gt; 메소드를 이용하여 전송된 요청 파라미터와 값을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch05/request.jsp&lt;/code&gt;를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;request.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;5장 4번문제&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;form action=&quot;request_process.jsp&quot; method=&quot;get&quot;&amp;gt;
        &amp;lt;p&amp;gt; 아이디: &amp;lt;input type=&quot;text&quot; name=&quot;id&quot;&amp;gt;
        &amp;lt;p&amp;gt; 비밀번호: &amp;lt;input type=&quot;text&quot; name=&quot;password&quot;&amp;gt;
        &amp;lt;p&amp;gt; &amp;lt;input type=&quot;submit&quot; value=&quot;전송&quot;&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;request_process.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;5장 4번문제&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    전송된 요청 파라미터:&amp;lt;%=request.getQueryString() %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;05 response내장 객체를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/besh9N/btszAj6hNN2/SLcM64cLrnQaUlknaAKV4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/besh9N/btszAj6hNN2/SLcM64cLrnQaUlknaAKV4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/besh9N/btszAj6hNN2/SLcM64cLrnQaUlknaAKV4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbesh9N%2FbtszAj6hNN2%2FSLcM64cLrnQaUlknaAKV4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;453&quot; height=&quot;151&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bab6Ic/btszy7eb7wI/Lt1xinG0pBtZgVUK4GRjzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bab6Ic/btszy7eb7wI/Lt1xinG0pBtZgVUK4GRjzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bab6Ic/btszy7eb7wI/Lt1xinG0pBtZgVUK4GRjzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbab6Ic%2Fbtszy7eb7wI%2FLt1xinG0pBtZgVUK4GRjzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;246&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;response.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;response&lt;/code&gt; 내장 객체의 &lt;code&gt;setHeader()&lt;/code&gt; 메소드를 이용하여 5초마다 페이지를 갱신하도록 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;java.util.Calendar&lt;/code&gt; 클래스를 이용하여 현재 시간을 출력하도록 작성합니다.&lt;/li&gt;
&lt;li&gt;**&amp;lt;Google 홈페이지로 이동하기&amp;gt;**를 클릭하면 &lt;code&gt;response_data.jsp&lt;/code&gt; 파일을 연결하도록 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;response_data.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;response&lt;/code&gt; 내장 객체의 &lt;code&gt;sendRedirect()&lt;/code&gt; 메소드를 이용하여 구글 홈페이지로 이동하도록 작성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch05/response.jsp&lt;/code&gt;를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;response.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;java.util.Calendar&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;5장 5번 문제&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		response.setIntHeader(&quot;Refresh&quot;, 5);				// 5초마다 갱신
		Calendar calendar = Calendar.getInstance();
	
		int hour = calendar.get(Calendar.HOUR_OF_DAY);		// 시
		int minute = calendar.get(Calendar.MINUTE);			// 분
		int second = calendar.get(Calendar.SECOND);			// 초
		
		String ap;											// am, pm - 오전, 오후
		
		if (hour &amp;gt; 12) {
			hour -= 12;
			ap = &quot;PM&quot;;
		} else {
			ap = &quot;AM&quot;;
		}
		String time = hour + &quot;:&quot; + minute + &quot;:&quot; + second + &quot; &quot; + ap;
	%&amp;gt;
	&amp;lt;p&amp;gt;현재 시간: &amp;lt;%= time %&amp;gt;&amp;lt;/p&amp;gt;
	&amp;lt;a href=&quot;./response_data.jsp&quot;&amp;gt;Google 홈페이지로 이동하기&amp;lt;/a&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;response_data.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;%
	response.sendRedirect(&quot;https://www.google.com/&quot;);
%&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;06 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;도서목록.png&quot; data-origin-width=&quot;1084&quot; data-origin-height=&quot;892&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YwJ5a/btszAlwdVSg/bttG7jMIg2LZll6deL1vQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YwJ5a/btszAlwdVSg/bttG7jMIg2LZll6deL1vQ0/img.png&quot; data-alt=&quot;최초 실행 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YwJ5a/btszAlwdVSg/bttG7jMIg2LZll6deL1vQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYwJ5a%2FbtszAlwdVSg%2FbttG7jMIg2LZll6deL1vQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1084&quot; height=&quot;892&quot; data-filename=&quot;도서목록.png&quot; data-origin-width=&quot;1084&quot; data-origin-height=&quot;892&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;최초 실행 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;상세페이지.png&quot; data-origin-width=&quot;1167&quot; data-origin-height=&quot;804&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qrv2Y/btszC4mvDsx/DqL3fjTxKQuiisA5ceRi6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qrv2Y/btszC4mvDsx/DqL3fjTxKQuiisA5ceRi6K/img.png&quot; data-alt=&quot;각 도서 목록의 상세 정보 페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qrv2Y/btszC4mvDsx/DqL3fjTxKQuiisA5ceRi6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqrv2Y%2FbtszC4mvDsx%2FDqL3fjTxKQuiisA5ceRi6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1167&quot; height=&quot;804&quot; data-filename=&quot;상세페이지.png&quot; data-origin-width=&quot;1167&quot; data-origin-height=&quot;804&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;각 도서 목록의 상세 정보 페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① 생성된 &lt;b&gt;BookMarket&lt;/b&gt; 프로젝트를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;b&gt;src폴더&lt;/b&gt; 내의 &lt;code&gt;BookRepository&lt;/code&gt; 클래스에 도서 아이디와 일치하는 도서를 가져오는 &lt;code&gt;getBookById()&lt;/code&gt;메소드를 작성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ &lt;code&gt;products.jsp&lt;/code&gt; 파일에 도서 아이디에 대한 도서 상세 정보 페이지가 연결되도록 &lt;b&gt;&amp;lt;상세정보&amp;gt;&lt;/b&gt; 버튼을 작성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;④ 도서 상세 정보 페이지 &lt;code&gt;product.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;request&lt;/code&gt; 내장 객체를 이용하여 도서 아이디를 전달받아 자바빈즈 &lt;code&gt;BookRepository&lt;/code&gt;에서 도서 상세 정보를 얻어옵니다.&lt;/li&gt;
&lt;li&gt;자바빈즈 &lt;code&gt;BookRepository&lt;/code&gt;를 이용하여 도서 상세 정보를 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⑤ 웹 브라우저에 &lt;code&gt;http://localhost:8080/BookMarket/books.jsp&lt;/code&gt;를 입력하고 해당 페이지에서 &amp;lt;상세정보&amp;gt;를 클릭하며 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;Book.java&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;package vo;

import java.io.Serializable;

public class Book implements Serializable {

	private static final long serialVersionUID = -4274700572038677000L;

	private String bookId; 		    // 책 ID
	private String name;			// 책이름
	private Integer unitPrice; 		// 가격
	private String author;			// 저자
	private String description; 	// 설명
	private String publisher;	    // 출판사
	private String category; 		// 분류
	private long unitsInStock; 		// 재고개수
	private long totalPages; 		// 페이지수
	private String releaseDate;   	// 출판일(월/년)
	private String condition; 		// 신제품
	private String filename;		// 파일명
	private int quantity;			// 장바구니 담는 갯수

	public Book() {}
	public Book(String bookId, String name, Integer unitPrice) {		
		this.bookId = bookId;
		this.name = name;
		this.unitPrice = unitPrice;
	}

	public String getBookId() {
		return bookId;
	}
	public void setBookId(String bookId) {
		this.bookId = bookId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer  getUnitPrice() {
		return unitPrice;
	}
	public void setUnitPrice(Integer  unitPrice) {
		this.unitPrice = unitPrice;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getPublisher() {
		return publisher;
	}
	public void setPublisher(String publisher) {
		this.publisher = publisher;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	public long getUnitsInStock() {
		return unitsInStock;
	}
	public void setUnitsInStock(long unitsInStock) {
		this.unitsInStock = unitsInStock;
	}
	public long getTotalPages() {
		return totalPages;
	}
	public void setTotalPages(long totalPages) {
		this.totalPages = totalPages;
	}
	public String getReleaseDate() {
		return releaseDate;
	}
	public void setReleaseDate(String releaseDate) {
		this.releaseDate = releaseDate;
	}
	public String getCondition() {
		return condition;
	}
	public void setCondition(String condition) {
		this.condition = condition;
	}
	public String getFilename() {
		return filename;
	}
	public void setFilename(String filename) {
		this.filename = filename;
	}
	public int getQuantity() {
		return quantity;
	}
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
	
	@Override
	public String toString() {
		return &quot;Book [bookId=&quot; + bookId + &quot;, name=&quot; + name + &quot;, unitPrice=&quot; + unitPrice + &quot;, author=&quot; + author
				+ &quot;, description=&quot; + description + &quot;, publisher=&quot; + publisher + &quot;, category=&quot; + category
				+ &quot;, unitsInStock=&quot; + unitsInStock + &quot;, totalPages=&quot; + totalPages + &quot;, releaseDate=&quot; + releaseDate
				+ &quot;, condition=&quot; + condition + &quot;, filename=&quot; + filename + &quot;, quantity=&quot; + quantity + &quot;]&quot;;
	}
	
}&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;BookRepository.java&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;package dao;

import java.util.ArrayList;

import vo.Book;

public class BookRepository{
	
	private ArrayList&amp;lt;Book&amp;gt; listOfBooks = new ArrayList&amp;lt;Book&amp;gt;();
	private static BookRepository instance = new BookRepository();
	public static BookRepository getInstance() {
		return instance;
	}
	
	public BookRepository() {
		Book book1= new Book(&quot;ISBN1234&quot;,&quot;HTML5+CSS3&quot;, 15000);
		book1.setAuthor(&quot;황재호&quot;);
		book1.setDescription(&quot;워드나 PPT 문서를 만들 수 있나요? 그러면 문제 없습니다. 지금 바로 웹페이지 제작에 도전해보세요. 지금 당장 컴퓨터가 없어도 괜찮습니다. 코드와 실행 화면이 바로 보여서 눈으로만 읽어도 어떻게 작동하는지 쉽게 파악할 수 있는 것은 기본이고, 중간중간 퀴즈를 추가하여 재미있게 게임하듯 복습할 수 있습니다.&quot;);
		book1.setPublisher(&quot;한빛미디어&quot;);
		book1.setCategory(&quot;Hello Coding&quot;);
		book1.setUnitsInStock(1000);
		book1.setTotalPages(288);
		book1.setReleaseDate(&quot;2018/03/02&quot;);
		book1.setFilename(&quot;ISBN1234.jpg&quot;);
		
		Book book2 = new Book(&quot;ISBN1235&quot;,&quot;쉽게 배우는 자바 프로그래밍&quot;, 27000);
		book2.setAuthor(&quot;우종중&quot;);
		book2.setDescription(&quot;객체 지향의 핵심과 자바의 현대적 기능을 충실히 다루면서도초보자가 쉽게 학습할 수 있게 구성했습니다. 시각화 도구를 활용한 개념 설명과 군더더기 없는 핵심 코드를 통해 개념과 구현을 한 흐름으로 학습할 수 있습니다. 또한 &amp;lsquo;기초 체력을 다지는 예제 &amp;rarr; 셀프 테스트 &amp;rarr; 생각을 논리적으로 정리하며 한 단계씩 풀어 가는 도전 과제 &amp;rarr; 스토리가 가미된 흥미로운 프로그래밍 문제&amp;rsquo; 등을 통해 프로그래밍 실력을 차근차근 끌어올릴 수 있습니다&quot;);
		book2.setPublisher(&quot;한빛아카데미&quot;);
		book2.setCategory(&quot;IT모바일&quot;);
		book2.setUnitsInStock(1000);
		book2.setTotalPages(692);
		book2.setReleaseDate(&quot;2017/08/02&quot;);
		book2.setFilename(&quot;ISBN1235.jpg&quot;);
		
		Book book3= new Book(&quot;ISBN1236&quot;,&quot;스프링4 입문 &quot;, 27000);
		book3.setAuthor(&quot;하세가와 유이치 , 오오노 와타루 , 토키 코헤이(권은철 , 전민수 ) &quot;);
		book3.setDescription(&quot;스프링은 단순히 사용 방법만 익히는 것보다 아키텍처를 어떻게 이해하고 설계하는지가 더 중요합니다. 예제를 복사해 붙여넣는 식으로는 실제 개발에서 스프링을 제대로 활용할 수 없습니다. 이 책에서는 웹 애플리케이션의 기초를 다지고 스프링 코어를 살펴보며 클라우드 네이티브 입문까지 다룹니다. 이제 막 실무에 뛰어든 웹 애플리케이션 초급자나 개발 경험은 있지만 스프링은 사용해본 적 없는 분을 대상으로 가능한 한 쉽게 설명합니다 &quot;);
		book3.setPublisher(&quot;한빛미디어&quot;);
		book3.setCategory(&quot;IT모바일&quot;);
		book3.setUnitsInStock(1000);
		book3.setTotalPages(520);
		book3.setReleaseDate(&quot;2017/11/01&quot;);
		book3.setFilename(&quot;ISBN1236.jpg&quot;);
		
		listOfBooks.add(book1);
		listOfBooks.add(book2);
		listOfBooks.add(book3);
	}
	
	public ArrayList&amp;lt;Book&amp;gt; getAllBooks() {
		return listOfBooks;
	}

	public Book getBookById(String bookId) {
		Book bookById = null;

		for (int i = 0; i &amp;lt; listOfBooks.size(); i++) {
			Book book = listOfBooks.get(i);
			if (book != null &amp;amp;&amp;amp; book.getBookId() != null &amp;amp;&amp;amp; book.getBookId().equals(bookId)) {
				
				bookById = book;
				break;
			}
		}
		return bookById;
	}
	
	public void addBook(Book book) {
		listOfBooks.add(book);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;books.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;vo.Book&quot;%&amp;gt;
&amp;lt;%@page import=&quot;java.util.ArrayList&quot;%&amp;gt;
&amp;lt;%@page import=&quot;dao.BookRepository&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
	&amp;lt;head&amp;gt;
		&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./css/bootstrap.min.css&quot; /&amp;gt;
		&amp;lt;title&amp;gt;도서 목록&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;
	&amp;lt;body&amp;gt;
		&amp;lt;%@ include file=&quot;menu.jsp&quot; %&amp;gt;
		&amp;lt;div class=&quot;jumbotron&quot;&amp;gt;
			&amp;lt;div class=&quot;container&quot;&amp;gt;
				&amp;lt;h1 class=&quot;display-4&quot;&amp;gt;도서 목록&amp;lt;/h1&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/div&amp;gt;
	      
		&amp;lt;div class=&quot;container&quot;&amp;gt;	
			&amp;lt;% 
				BookRepository dao = BookRepository.getInstance();
				ArrayList&amp;lt;Book&amp;gt; listOfBook = dao.getAllBooks();
			%&amp;gt;
			&amp;lt;% 
				for(int i = 0; i &amp;lt; listOfBook.size(); i++) {
					Book book = listOfBook.get(i);
			%&amp;gt;
			&amp;lt;div class=&quot;row&quot;&amp;gt;
				&amp;lt;!--
				&amp;lt;div class=&quot;col-md-3&quot; align=&quot;center&quot;&amp;gt;	
					&amp;lt;img src=&quot;${pageContext.request.contextPath }/resources/images/&quot; width=&quot;60%&quot;&amp;gt;
				&amp;lt;/div&amp;gt;
				--&amp;gt;
				&amp;lt;div class=&quot;col-md-10&quot;&amp;gt;	
					&amp;lt;h5 &amp;gt;&amp;lt;b&amp;gt;[&amp;lt;%= book.getCategory() %&amp;gt;] &amp;lt;%= book.getName() %&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/h5&amp;gt;
					&amp;lt;p style=&quot;padding-top: 10px&quot;&amp;gt;&amp;lt;%= book.getDescription() %&amp;gt;&amp;lt;/p&amp;gt; 
					&amp;lt;p&amp;gt;&amp;lt;%= book.getAuthor() %&amp;gt; | &amp;lt;%= book.getPublisher() %&amp;gt; | &amp;lt;%= book.getUnitPrice() %&amp;gt; 원&amp;lt;/p&amp;gt;
				&amp;lt;/div&amp;gt;	
				&amp;lt;div class=&quot;col-md-2&quot;  style=&quot;padding-top: 60px&quot;&amp;gt;						    			 
					&amp;lt;a href=&quot;./book.jsp?id=&amp;lt;%= book.getBookId() %&amp;gt;&quot; class=&quot;btn btn-secondary&quot; role=&quot;button&quot;&amp;gt; 상세정보 &amp;amp;raquo; &amp;lt;/a&amp;gt;				
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;hr /&amp;gt;
			&amp;lt;% 
				}
			%&amp;gt;			
		&amp;lt;/div&amp;gt;	
		&amp;lt;%@ include file=&quot;footer.jsp&quot; %&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;book.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;vo.Book&quot;%&amp;gt;
&amp;lt;%@page import=&quot;dao.BookRepository&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
	&amp;lt;head&amp;gt;
		&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./css/bootstrap.min.css&quot; /&amp;gt;
		&amp;lt;title&amp;gt;도서 정보&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;
	&amp;lt;body&amp;gt;
		&amp;lt;%@ include file=&quot;menu.jsp&quot; %&amp;gt;
		&amp;lt;div class=&quot;jumbotron&quot;&amp;gt;
			&amp;lt;div class=&quot;container&quot;&amp;gt;
				&amp;lt;h1 class=&quot;display-4&quot;&amp;gt;도서 정보&amp;lt;/h1&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/div&amp;gt;
		&amp;lt;div class=&quot;container&quot;&amp;gt;
			&amp;lt;% 
				String id = request.getParameter(&quot;id&quot;);
				BookRepository dao = BookRepository.getInstance();
				Book book = dao.getBookById(id);
			%&amp;gt;
			&amp;lt;div class=&quot;row&quot;&amp;gt;
				&amp;lt;!--
				&amp;lt;div class=&quot;col-md-4&quot;&amp;gt;
					&amp;lt;img src=&quot;${pageContext.request.contextPath }/resources/images/&quot; style=&quot;width: 100%&quot; /&amp;gt;
				&amp;lt;/div&amp;gt;
				--&amp;gt;
				&amp;lt;div class=&quot;col-md-12&quot;&amp;gt;
					&amp;lt;h4&amp;gt;&amp;lt;b&amp;gt;[&amp;lt;%= book.getCategory() %&amp;gt;] &amp;lt;%= book.getName() %&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/h4&amp;gt;
					&amp;lt;p&amp;gt;&amp;lt;%= book.getDescription() %&amp;gt;&amp;lt;/p&amp;gt;
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;도서코드 : &amp;lt;/b&amp;gt;&amp;lt;span class=&quot;badge badge-danger&quot;&amp;gt;&amp;lt;%= book.getBookId() %&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;출판사&amp;lt;/b&amp;gt; : &amp;lt;%= book.getPublisher() %&amp;gt;&amp;lt;/p&amp;gt;			
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;저자&amp;lt;/b&amp;gt; : &amp;lt;%= book.getAuthor() %&amp;gt;&amp;lt;/p&amp;gt;			
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;재고수&amp;lt;/b&amp;gt; : &amp;lt;%= book.getUnitsInStock() %&amp;gt;&amp;lt;/p&amp;gt;
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;총 페이지수&amp;lt;/b&amp;gt; : &amp;lt;%= book.getTotalPages() %&amp;gt;&amp;lt;/p&amp;gt;
					&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;출판일&amp;lt;/b&amp;gt; : &amp;lt;%= book.getReleaseDate() %&amp;gt;&amp;lt;/p&amp;gt;
					&amp;lt;h4&amp;gt;가격 : &amp;lt;%= book.getUnitPrice() %&amp;gt;&amp;lt;/h4&amp;gt;
					&amp;lt;form name=&quot;addForm&quot; action=&quot;./addCart.jsp&quot; method=&quot;get&quot;&amp;gt;
						&amp;lt;input type=&quot;hidden&quot; value=&quot;&quot; name=&quot;id&quot;/&amp;gt;
						&amp;lt;a href=&quot;#&quot; class=&quot;btn btn-info&quot; onclick=&quot;addToCart()&quot;&amp;gt; 도서주문&amp;amp;raquo;&amp;lt;/a&amp;gt; 
						&amp;lt;a href=&quot;./cart.jsp&quot; class=&quot;btn btn-warning&quot;&amp;gt; 장바구니&amp;amp;raquo;&amp;lt;/a&amp;gt; 
						&amp;lt;a href=&quot;./books.jsp&quot; class=&quot;btn btn-secondary&quot;&amp;gt;도서목록 &amp;amp;raquo;&amp;lt;/a&amp;gt;
					&amp;lt;/form&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;hr&amp;gt;
		&amp;lt;/div&amp;gt;
		&amp;lt;%@ include file=&quot;footer.jsp&quot; %&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>국비학원/쉽게 배우는 JSP 웹프로그래밍</category>
      <category>5장</category>
      <category>OUT객체</category>
      <category>request객체</category>
      <category>response객체</category>
      <category>내장객체</category>
      <category>쉽게배우는JSP</category>
      <category>연습문제</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/48</guid>
      <comments>https://gun1127.tistory.com/48#entry48comment</comments>
      <pubDate>Thu, 2 Nov 2023 00:23:15 +0900</pubDate>
    </item>
    <item>
      <title>쉽게 배우는 JSP 웹프로그래밍 3장 연습문제</title>
      <link>https://gun1127.tistory.com/47</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;01 디렉티브 태그의 세 가지 유형에 대해 간단히 설명하시오&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;page&lt;/b&gt; : JSP 페이지에 대한 정보(콘텐츠 유형, 사용할 자바 클래스, 오류 페이지 설정 등등)를 설정한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;형식) &lt;code&gt;&amp;lt;%@ page%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;include&lt;/b&gt; : 페이지의 특정영역에 다른문서를 포함하여 코드를 줄이고 재사용해 유지보수가 좋다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;형식) &lt;code&gt;&amp;lt;%@ include%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;taglib&lt;/b&gt; : JSP 페이지에서 사용할 태그 라이브러리를 설정한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;형식) &lt;code&gt;&amp;lt;%@ taglib%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;02 JSP 페이지가 사용할 자바 클래스를 설정하기 위한 page 디렉티브 태그의 속성은 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;import&lt;/code&gt; 속성
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) &lt;code&gt;&amp;lt;%@ page import=&quot;java.util.Date&quot;%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;03 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 디렉티브 태그는 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;include&lt;/code&gt; 태그
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 머리글, 바닥글 등에 include 태그를 이용하여 각각 작성해둔 외부 파일로 불러와서 사용한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;04 page 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;507&quot; data-origin-height=&quot;122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bL3h5m/btszqbtzjlA/sMT1KHGP59Gzog5FHzu860/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL3h5m/btszqbtzjlA/sMT1KHGP59Gzog5FHzu860/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL3h5m/btszqbtzjlA/sMT1KHGP59Gzog5FHzu860/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL3h5m%2FbtszqbtzjlA%2FsMT1KHGP59Gzog5FHzu860%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;507&quot; height=&quot;122&quot; data-origin-width=&quot;507&quot; data-origin-height=&quot;122&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;page.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;page 디렉티브 태그에 &lt;code&gt;java.util.Date&lt;/code&gt;, &lt;code&gt;java.lang.Math&lt;/code&gt; 클래스를 이용하여 현재 날짜와 5의 제곱을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch03/page.jsp&lt;/code&gt;를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;page.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;java.util.Date&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		Date today = new Date();
	%&amp;gt;
	현재 날짜 : &amp;lt;%=today %&amp;gt; &amp;lt;br/&amp;gt;
	5의 제곱 : &amp;lt;%=Math.pow(5, 2) %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;05 include디렉티브태그를 이용하여 다음 조건에 맞게 JSP애플리케이션을 만들고 실행결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csSAgr/btszrMG8ctT/xYOC55cGAkHdhgsHMg1wC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csSAgr/btszrMG8ctT/xYOC55cGAkHdhgsHMg1wC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csSAgr/btszrMG8ctT/xYOC55cGAkHdhgsHMg1wC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsSAgr%2FbtszrMG8ctT%2FxYOC55cGAkHdhgsHMg1wC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;526&quot; height=&quot;160&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;header.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;h4&amp;gt;&lt;/code&gt; 태그를 이용하여 '&lt;b&gt;Hello, Java Server Pages.&lt;/b&gt;'를 선언합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;include.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;include&lt;/code&gt; 디렉티브 태그를 이용하여 외부 파일 &lt;code&gt;header.jsp&lt;/code&gt;의 내용을 포함합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;java.util.Calendar&lt;/code&gt; 클래스를 이용하여 현재 시간을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch03/include.jsp&lt;/code&gt;를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;header.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
	&amp;lt;h4&amp;gt;Hello, Java Server Pages.&amp;lt;/h4&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;include.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@page import=&quot;java.util.Calendar&quot;%&amp;gt;
&amp;lt;%@page import=&quot;java.util.Date&quot;%&amp;gt;
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%@ include file=&quot;./header.jsp&quot; %&amp;gt;
	현재 시간 : &amp;lt;%=new Date(Calendar.getInstance().getTimeInMillis()) %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;06 taglib 디렉티브태그를 이용하여 다음 조건에 맞게 JSP애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;149&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oDMNR/btszvD3IBwc/bkgmV1fNSGopwtRI0NZTL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oDMNR/btszvD3IBwc/bkgmV1fNSGopwtRI0NZTL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oDMNR/btszvD3IBwc/bkgmV1fNSGopwtRI0NZTL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoDMNR%2FbtszvD3IBwc%2FbkgmV1fNSGopwtRI0NZTL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;520&quot; height=&quot;149&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;149&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;/WEB-INF/lib&lt;/code&gt; 폴더에 JSTL 태그 라이브러리인 &lt;code&gt;JSTL-1.2.jar&lt;/code&gt; 파일을 추가합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;code&gt;taglib.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;taglib 디렉티브 태그&lt;/code&gt;에 JSTL의 Core 태그를 설정하여 0부터 10까지의 짝수를 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 웹 브라우저에 &lt;code&gt;http://localhost:8080/Exercise/ch03/taglib.jsp&lt;/code&gt;를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;taglib.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;c:forEach begin=&quot;0&quot; end=&quot;10&quot; step=&quot;1&quot; var=&quot;num&quot;&amp;gt;
		&amp;lt;c:if test=&quot;${num % 2 eq 0 }&quot;&amp;gt;
			&amp;lt;c:out value=&quot;${num}&quot;/&amp;gt;
		&amp;lt;/c:if&amp;gt;
	&amp;lt;/c:forEach&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;07 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;424&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6lVGa/btszuF8LcHo/JEky4yp0ZMc5bdCf6qc0Xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6lVGa/btszuF8LcHo/JEky4yp0ZMc5bdCf6qc0Xk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6lVGa/btszuF8LcHo/JEky4yp0ZMc5bdCf6qc0Xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6lVGa%2FbtszuF8LcHo%2FJEky4yp0ZMc5bdCf6qc0Xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;642&quot; height=&quot;424&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;424&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① 생성된 &lt;b&gt;BookMarket&lt;/b&gt; 프로젝트를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;b&gt;WebContent 폴더&lt;/b&gt;의 머리글에 해당하는 &lt;code&gt;menu.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ &lt;b&gt;WebContent 폴더&lt;/b&gt;의 바닥글에 해당하는 &lt;code&gt;footer.jsp&lt;/code&gt;파일을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;④ &lt;b&gt;WebContent 폴더&lt;/b&gt;의 &lt;code&gt;welcome.jsp&lt;/code&gt;파일을 수정합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;include 디렉티브 태그&lt;/code&gt;를 이용하여 머리글 &lt;code&gt;menu.jsp&lt;/code&gt;와 바닥글 &lt;code&gt;footer.jsp&lt;/code&gt;파일의 내용을 포함합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;page 디렉티브 태그&lt;/code&gt;의 &lt;code&gt;contentType속성&lt;/code&gt;을 이용하여 한글을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⑤ 웹 브라우저에 &lt;code&gt;http://localhost:8080/BookMarket/welcome.jsp&lt;/code&gt;를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;menu.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
    &amp;lt;nav class=&quot;navbar navbar-expand navbar-dark bg-dark&quot;&amp;gt;
        &amp;lt;div class=&quot;container&quot;&amp;gt;
            &amp;lt;div class=&quot;navbar-header&quot;&amp;gt;
                &amp;lt;a class=&quot;navbar-brand&quot; href=&quot;./welcome.jsp&quot;&amp;gt;Home&amp;lt;/a&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/nav&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;footer.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
    &amp;lt;footer class=&quot;container&quot;&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;copy;BookMarket&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 - &lt;code&gt;welcome.jsp&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./resources/css/bootstrap.min.css&quot;&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;%@ include file=&quot;menu.jsp&quot; %&amp;gt;
    &amp;lt;%
    	String greeting = &quot;도서 웹 쇼핑몰&quot;;
    	String tagline = &quot;Welcome to Web Market&quot;;
    %&amp;gt;
    &amp;lt;div class=&quot;jumbotron&quot;&amp;gt;
        &amp;lt;div class=&quot;container&quot;&amp;gt;
            &amp;lt;h1 class=&quot;display-3&quot;&amp;gt;&amp;lt;%= greeting %&amp;gt;&amp;lt;/h1&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;container&quot;&amp;gt;
        &amp;lt;div class=&quot;text-center&quot;&amp;gt;
            &amp;lt;h3&amp;gt;&amp;lt;%= tagline %&amp;gt;&amp;lt;/h3&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;%@ include file=&quot;footer.jsp&quot; %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>국비학원/쉽게 배우는 JSP 웹프로그래밍</category>
      <category>3장</category>
      <category>include태그</category>
      <category>jsp</category>
      <category>JSTL라이브러리</category>
      <category>디렉티브 태그</category>
      <category>쉽게배우는JSP웹프로그래밍</category>
      <category>연습문제</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/47</guid>
      <comments>https://gun1127.tistory.com/47#entry47comment</comments>
      <pubDate>Mon, 30 Oct 2023 20:57:36 +0900</pubDate>
    </item>
    <item>
      <title>쉽게 배우는 JSP 웹프로그래밍 2장 연습문제</title>
      <link>https://gun1127.tistory.com/46</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;01 스크립트 태그의 세 가지 종류에 대해 간단히 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;선언문&lt;/b&gt;: 자바 변수나 메소드를 정의하는데 사용한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;표기) &lt;code&gt;&amp;lt;%! ---%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스크립틀릿&lt;/b&gt; : 자바 로직 코드를 작성하는데 사용한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;표기) &lt;code&gt;&amp;lt;% ---%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;표현문&lt;/b&gt;: 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력하는데 사용한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;표기) &lt;code&gt;&amp;lt;%= ---%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;02 선언문 태그와 스크립틀릿 태그의 차이점을 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;선언문 태그&lt;/b&gt;로 선언된 변수는 &lt;b&gt;전역 변수&lt;/b&gt;로, &lt;b&gt;스크립틀릿 태그&lt;/b&gt;로 선언된 변수는 &lt;b&gt;지역 변수&lt;/b&gt;로 사용된다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;선언문 태그&lt;/b&gt;로 변수 뿐만 아니라 메소드를 선언할 수 있지만 &lt;b&gt;스크립틀릿 태그&lt;/b&gt;는 변수만 선언할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;03. 애플리케이션 실행 결과에는 보이지 않는 JSP 주석 표기법은 무엇인가?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;%--주석내용--%&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;04 선언문 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uptpj/btszi4oHqMX/DJxHpyjxrSq3klUGlr00a0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uptpj/btszi4oHqMX/DJxHpyjxrSq3klUGlr00a0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uptpj/btszi4oHqMX/DJxHpyjxrSq3klUGlr00a0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUptpj%2Fbtszi4oHqMX%2FDJxHpyjxrSq3klUGlr00a0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;682&quot; height=&quot;160&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;declaration.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선언문 태그에 문자형 전역변수를 선언하여 &lt;b&gt;'Hello,Java Server Pages&lt;/b&gt;'를 저장합니다.&lt;/li&gt;
&lt;li&gt;문자형 변수 값을 반환하는 전역 메소드 &lt;code&gt;getString()&lt;/code&gt;을 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getString()&lt;/code&gt;메소드를 호출하여 문자형 변수 값을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② 웹 브라우저에 &lt;code&gt;http://localhost:8080/JSPBook/ch02/declaration.jsp&lt;/code&gt; 를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%!
		String str = &quot;Hello,Java Server Pages&quot;;
		
		String getString(String data) {
			return data;
		}
	%&amp;gt;
	&amp;lt;%=getString(str) %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;05 스크팁틀릿 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;579&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2A4h5/btszqev20qA/RgEGL31ieKocPAb6zmpRJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2A4h5/btszqev20qA/RgEGL31ieKocPAb6zmpRJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2A4h5/btszqev20qA/RgEGL31ieKocPAb6zmpRJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2A4h5%2Fbtszqev20qA%2FRgEGL31ieKocPAb6zmpRJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;579&quot; height=&quot;272&quot; data-origin-width=&quot;579&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;scriptlet.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;스크립틀릿 태그를 이용하여 &lt;code&gt;java.util.Date&lt;/code&gt;형 지역변수에 현재 날짜를 저장합니다.&lt;/li&gt;
&lt;li&gt;현재 날짜 값을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② 웹 브라우저에 &lt;code&gt;http://localhost:8080/JSPBook/ch02/scriptlet.jsp&lt;/code&gt; 를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;%
		java.util.Date today = new java.util.Date();
	%&amp;gt;
	Today : &amp;lt;%=today %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;06 표현문 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTzvGf/btsznCKHSmO/xwPmDmIInSrUmZ6kWR5Kl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTzvGf/btsznCKHSmO/xwPmDmIInSrUmZ6kWR5Kl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTzvGf/btsznCKHSmO/xwPmDmIInSrUmZ6kWR5Kl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTzvGf%2FbtsznCKHSmO%2FxwPmDmIInSrUmZ6kWR5Kl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;680&quot; height=&quot;137&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;code&gt;expression.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;표현문 태그에 &lt;code&gt;java.util.Calendar&lt;/code&gt; 클래스를 이용하여 현재 시간을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② 웹 브라우저에 &lt;code&gt;http://localhost:8080/JSPBook/ch02/expression.jsp&lt;/code&gt; 를 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	Current Time : &amp;lt;%= new java.util.Date(java.util.Calendar.getInstance().getTimeInMillis()) %&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;07 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;330&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ewJYsA/btszmzm8Qui/GiJhLgPaHhh1h08zAD81Nk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ewJYsA/btszmzm8Qui/GiJhLgPaHhh1h08zAD81Nk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ewJYsA/btszmzm8Qui/GiJhLgPaHhh1h08zAD81Nk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FewJYsA%2Fbtszmzm8Qui%2FGiJhLgPaHhh1h08zAD81Nk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;330&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;330&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① [&lt;b&gt;Dynamic Web Project&lt;/b&gt;]로 프로젝트 이름 &lt;b&gt;BookMarket&lt;/b&gt;을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;b&gt;WebContent&lt;/b&gt; 폴더에 &lt;code&gt;welcome.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선언문 태그를 이용하여 &lt;b&gt;'Book Market Mall&lt;/b&gt;'과 &lt;b&gt;'Welcome to Book Market!&lt;/b&gt;'을 저장하는 변수를 선언합니다.&lt;/li&gt;
&lt;li&gt;표현문 태그를 이용하여 설정한 변수 값 &lt;b&gt;'Book Market Mall'&lt;/b&gt;과 &lt;b&gt;'Welcome to Book Market'&lt;/b&gt;을 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 부트스트랩 CSS를 적용하여 위 그림과 같이 출력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;④ 웹 브라우저에 &lt;code&gt;http://localhost:8080/BookMarket/welcome.jsp&lt;/code&gt;을 입력하여 실행결과를 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./resources/css/bootstrap.min.css&quot;&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;nav class=&quot;navbar navbar-expand navbar-dark bg-dark&quot;&amp;gt;
        &amp;lt;div class=&quot;container&quot;&amp;gt;
            &amp;lt;div class=&quot;navbar-header&quot;&amp;gt;
                &amp;lt;a class=&quot;navbar-brand&quot; href=&quot;./welcome.jsp&quot;&amp;gt;Home&amp;lt;/a&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;%
    	String greeting = &quot;Book Market Mall&quot;;
    	String tagline = &quot;Welcome to Book Market&quot;;
    %&amp;gt;
    &amp;lt;div class=&quot;jumbotron&quot;&amp;gt;
        &amp;lt;div class=&quot;container&quot;&amp;gt;
            &amp;lt;h1 class=&quot;display-3&quot;&amp;gt;&amp;lt;%= greeting %&amp;gt;&amp;lt;/h1&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;container&quot;&amp;gt;
        &amp;lt;div class=&quot;text-center&quot;&amp;gt;
            &amp;lt;h3&amp;gt;&amp;lt;%= tagline %&amp;gt;&amp;lt;/h3&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;hr/&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;footer class=&quot;container&quot;&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;copy;WebMarket&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>국비학원/쉽게 배우는 JSP 웹프로그래밍</category>
      <category>2장</category>
      <category>jsp</category>
      <category>JSP주석표기법</category>
      <category>선언문</category>
      <category>쉽게배우는JSP웹프로그래밍</category>
      <category>스크립트태그종류</category>
      <category>스크립틀릿</category>
      <category>실습</category>
      <category>연습문제</category>
      <category>표현문</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/46</guid>
      <comments>https://gun1127.tistory.com/46#entry46comment</comments>
      <pubDate>Mon, 30 Oct 2023 00:51:47 +0900</pubDate>
    </item>
    <item>
      <title>쉽게 배우는 JSP 웹프로그래밍 1장 연습문제</title>
      <link>https://gun1127.tistory.com/45</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;01 정적 웹 페이지와 동적 웹 페이지의 차이점을 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정적 웹 페이지&lt;/b&gt; : 컴퓨터에 이미 저장된 파일을 그대로 보여주는 페이지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;동적 웹 페이지&lt;/b&gt; : 서버에 있는 데이터들을 스크립트에 의해 가공처리 후 생성되어 전달되는 페이지&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;02 웹 프로그래밍 언어 JSP의 특징을 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서블릿의 모든 기능을 활용할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자바 API를 사용할 수 있고, 내장 객체, 표현식 언어, 사용자 정의 태그를 사용할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;유지 관리가 용이하다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디자인 부분과 로직 부분을 분리시킬 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;빠른 개발이 가능하다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서블릿과 달리 JSP는 수정된 경우 재배포할 필요 없이 Tomcat(was)이 알아서 처리해준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;코드 길이를 줄일 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;액션 태그, JSTL, 다양한 태그와 표현 언어, 내장 객체 등을 사용하여 서블릿보다 코드를 줄일 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;배우기 쉽다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자바 기반의 언어인 서블릿의 개발 방식이 어렵고 JSP보다 진입장벽이 높은 방면 JSP는 서블릿보다 쉽고 사용하기 편한 장점이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;03 JSP 페이지의 처리 과정을 설명하시오.&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 브라우저가 JSP 페이지를 요청한다.&lt;/li&gt;
&lt;li&gt;웹 서버는 웹 컨테이너에 전달한다.&lt;/li&gt;
&lt;li&gt;JSP File을 Servlet을 통해 JSP.java로 변환한다.&lt;/li&gt;
&lt;li&gt;JSP.java 파일을 JSP.class파일로 컴파일한다.&lt;/li&gt;
&lt;li&gt;JSP.class 파일을 웹 컨테이너로 전달한다.&lt;/li&gt;
&lt;li&gt;웹 컨테이너는 파일을 웹 서버로 전달한다.&lt;/li&gt;
&lt;li&gt;웹 서버는 웹 브라우저가 인식할 수 있는 HTML 형태로 결과를 웹 브라우저에 응답한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;04 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tZV0N/btszj3JKWC1/zENLvMGirbJdT0FHDlSjQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tZV0N/btszj3JKWC1/zENLvMGirbJdT0FHDlSjQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tZV0N/btszj3JKWC1/zENLvMGirbJdT0FHDlSjQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtZV0N%2Fbtszj3JKWC1%2FzENLvMGirbJdT0FHDlSjQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;702&quot; height=&quot;200&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① HelloJSP라는 이름의 프로젝트를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② WebContent 폴더에 다음과 같은 &lt;code&gt;hello.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 태그를 이용하여 &lt;b&gt;&quot;Hello! JSP Programming&quot;&lt;/b&gt;을 출력합니다.&lt;/li&gt;
&lt;li&gt;&quot;&lt;b&gt;Welcome to JSP&lt;/b&gt;&quot;를 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 서버를 실행하고 웹 브라우저에 'htpp://localhost:8080/HelloJSP/hello.jsp'를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;05 자기소개 페이지를 만들기 위해 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkYnKL/btszklJ94A3/WLKlF7y6p2KrDuOLU7Nxi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkYnKL/btszklJ94A3/WLKlF7y6p2KrDuOLU7Nxi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkYnKL/btszklJ94A3/WLKlF7y6p2KrDuOLU7Nxi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkYnKL%2FbtszklJ94A3%2FWLKlF7y6p2KrDuOLU7Nxi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;702&quot; height=&quot;240&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① HelloJSP2라는 이름의 프로젝트를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② WebContent 폴더에 &lt;code&gt;hello2.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 태그를 이용하여 &lt;b&gt;&quot;self-Introduction&quot;&lt;/b&gt;을 출력합니다.&lt;/li&gt;
&lt;li&gt;&quot;&lt;b&gt;Name: Hong Gil Son&lt;/b&gt;&quot;과 &quot;&lt;b&gt;Department: MobileMedia&lt;/b&gt;&quot;를 2행으로 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 서버를 실행하고 웹 브라우저에 'htpp://localhost:8080/HelloJSP2/hello2.jsp'를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;06 프로젝트의 구조를 이해하기 위해 다음 조건에 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;239&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HyeNY/btszsDvwEro/BwCWXoUnfoJ4mOyVxMkoPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HyeNY/btszsDvwEro/BwCWXoUnfoJ4mOyVxMkoPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HyeNY/btszsDvwEro/BwCWXoUnfoJ4mOyVxMkoPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHyeNY%2FbtszsDvwEro%2FBwCWXoUnfoJ4mOyVxMkoPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;239&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;239&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① HelloJSP3라는 이름의 프로젝트를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② WebContent 폴더에 jsp 폴더를 만들고 다음과 같은 &lt;code&gt;hello3.jsp&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 태그를 이용하여 &lt;b&gt;&quot;Welcome to JSP&quot;&lt;/b&gt;을 출력합니다.&lt;/li&gt;
&lt;li&gt;&quot;&lt;b&gt;JSP is Dynamic Web Page&lt;/b&gt;&quot;과 &quot;&lt;b&gt;JSP is Java Server Pages.&lt;/b&gt;&quot;를 2행으로 출력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③ 서버를 실행하고 웹 브라우저에 'htpp://localhost:8080/HelloJSP3/hello3.jsp'를 입력하여 실행 결과를 확인합니다.&lt;/p&gt;</description>
      <category>국비학원/쉽게 배우는 JSP 웹프로그래밍</category>
      <category>1장</category>
      <category>JSP특징</category>
      <category>JSP페이지처리과정</category>
      <category>동적웹페이지</category>
      <category>쉽게배우는JSP웹프로그래밍</category>
      <category>연습문제</category>
      <category>정적웹페이지</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/45</guid>
      <comments>https://gun1127.tistory.com/45#entry45comment</comments>
      <pubDate>Mon, 30 Oct 2023 00:19:00 +0900</pubDate>
    </item>
    <item>
      <title>[C언어] 동물의 수 구하기</title>
      <link>https://gun1127.tistory.com/43</link>
      <description>&lt;h3&gt;문제&amp;gt; 토끼와 닭의 총 마리수와 총 다리수가 주어지면 토끼와 닭은 각각 몇 마리인지 출력하는 프로그램을 작성하세요.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;입력설명&lt;br /&gt;첫 번째 줄 토끼와 닭의 총 마리수가 주어지고, 두 번째 줄에 토끼와 닭의 총 다리수가 주어진다. 토끼와 닭은 모두 한 마리 이상 있다.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;출력설명&lt;br /&gt;첫 번째 줄에 토끼의 수와 닭의 수를 차례로 출력한다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99849C495F8EC8EB1E&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B5B7375F8EC8FD19&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-c&quot;&gt;#include&amp;lt;stdio.h&amp;gt;

int main()
{
    int a, b, i, tmp;
    scanf(&quot;%d %d&quot;, &amp;amp;a, &amp;amp;b);

    //토끼와 닭의 총 마리 수만큼 반복한다. 
    for(i = 1; i &amp;lt; a; i++) {
    //i는 토끼의 다리 수이라고 가정하면.
    // a - i는 닭의 다리 수가 된다. 
        // tmp 변수에 공식을 대입한다.  
        tmp = (4 * i) + (2 * (a - i));
        //tmp 변수와 총 다리 수와 같다면 
        if(tmp == b) {
            //토끼의 수와 닭의 수를 차례로 출력한다. 
            printf(&quot;%d %d\n&quot;, i, a-i);
            break;
        } 
    }

    return 0;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>알고리즘</category>
      <category>C언어</category>
      <category>마리 수 구하기</category>
      <category>반복문</category>
      <category>코딩테스트</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/43</guid>
      <comments>https://gun1127.tistory.com/43#entry43comment</comments>
      <pubDate>Tue, 20 Oct 2020 20:26:03 +0900</pubDate>
    </item>
    <item>
      <title>[C언어] 최대공약수</title>
      <link>https://gun1127.tistory.com/42</link>
      <description>&lt;h3&gt;문제&amp;gt; 100이하의 두 자연수 A, B가 입력되면 두 자연수의 최대공약수를 출력하는 프로그램을 작성하세요.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;입력설명&lt;br /&gt;첫 번째 줄에 100이하의 자연수 A, B가 입력된다.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;출력설명&lt;br /&gt;첫 번째 줄에 최대공약수를 출력한다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9958D8435F899E8002&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9909B9365F899E8837&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9907E23E5F899E9136&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-c&quot;&gt;#include&amp;lt;stdio.h&amp;gt;

int main()
{
    int a, b, i, min;
    scanf(&quot;%d %d&quot;,&amp;amp;a, &amp;amp;b);

    //두 수 중 누가 더 작을지 비교해서 min에다가 값 대입 
    if(a &amp;lt; b) min = a;
    else min = b;

    //i는 min부터 1까지 반복 
    for(i = min; i &amp;gt;= 1; i--) {
        //a의 약수와 b의 약수가 같으면 i를 출력 
        if(a % i == 0 &amp;amp;&amp;amp; b % i == 0){
            printf(&quot;%d\n&quot;,i);
            break;    
        }  
    }

    return 0;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>알고리즘</category>
      <category>C언어</category>
      <category>반복문</category>
      <category>알고리즘</category>
      <category>조건문</category>
      <category>최대공약수</category>
      <category>코딩테스트</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/42</guid>
      <comments>https://gun1127.tistory.com/42#entry42comment</comments>
      <pubDate>Fri, 16 Oct 2020 22:23:48 +0900</pubDate>
    </item>
    <item>
      <title>[C언어] 소수 판별하기</title>
      <link>https://gun1127.tistory.com/41</link>
      <description>&lt;h3&gt;문제&amp;gt; 자연수 N이 입력되면 N이 소수인지 아닌지를 판별하는 프로그램을 작성하세요. 소수이면 &quot;YES&quot;, 아니면 &quot;NO&quot;를 출력한다.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;입력설명&lt;br /&gt;첫 번째 줄에 100이하의 자연수 N이 입력된다.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;출력설명&lt;br /&gt;첫 번째 줄에 &quot;YES&quot;, &quot;NO&quot;를 출력한다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9914C4505F8992562F&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99FC2A4E5F8992633A&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99921C395F89926E2A&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-C&quot;&gt;#include&amp;lt;stdio.h&amp;gt;

int main()  
{  
&amp;nbsp;int n, i, cnt = 0;  
&amp;nbsp;scanf(&quot;%d&quot;,&amp;amp;n);  
&amp;nbsp;  
&amp;nbsp;//2부터 N까지 반복&amp;nbsp;  
&amp;nbsp;for(i = 2; i &amp;lt; n; i++) {  
&amp;nbsp;&amp;nbsp;  
&amp;nbsp; //N이 i로 나누어떨어지면 NO를 출력하고 반복문종료&amp;nbsp;  
&amp;nbsp; if(n%i==0 ){  
&amp;nbsp; &amp;nbsp;printf(&quot;NO\\n&quot;);  
&amp;nbsp; &amp;nbsp;break;  
&amp;nbsp; };  
&amp;nbsp;}  
&amp;nbsp;  
&amp;nbsp;//i가 N과 같아지면 YES를 출력한다.(소수판별) &amp;nbsp;  
&amp;nbsp;if(i == n) printf(&quot;YES\\n&quot;);  
&amp;nbsp;  
&amp;nbsp;return 0;  
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>알고리즘</category>
      <category>C언어</category>
      <category>IF문</category>
      <category>소수 판별하기</category>
      <category>알고리즘</category>
      <category>조건문</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/41</guid>
      <comments>https://gun1127.tistory.com/41#entry41comment</comments>
      <pubDate>Fri, 16 Oct 2020 21:34:17 +0900</pubDate>
    </item>
    <item>
      <title>[사무자동화산업기사]1과목정리(2)</title>
      <link>https://gun1127.tistory.com/39</link>
      <description>&lt;h3&gt;사무자동화 추진시 선결 과제&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사무 환경의 정비&lt;/li&gt;
&lt;li&gt;사무관리 제도의 개혁&lt;/li&gt;
&lt;li&gt;조직 및 체제의 재정비&lt;/li&gt;
&lt;li&gt;실시안의 결정&lt;/li&gt;
&lt;li&gt;도입교육실시&lt;/li&gt;
&lt;li&gt;전사적 캠페인의 실시&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 추진 단계&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;환경분석&lt;ul&gt;
&lt;li&gt;내부환경분석&lt;ul&gt;
&lt;li&gt;사무구성원, 사무기기, 사무구조 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;외부환경분석&lt;ul&gt;
&lt;li&gt;사무기기 생산업자, 공공정보 서비스 현황, 통신에 관한사항, 응용 소프트웨어 개발 현황, 조직체계 등&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;요구분석&lt;ul&gt;
&lt;li&gt;업무 담당자의 사무 자동화 요구를 분석&lt;/li&gt;
&lt;li&gt;분석사항&lt;ul&gt;
&lt;li&gt;인전요소&lt;/li&gt;
&lt;li&gt;처리요소&lt;/li&gt;
&lt;li&gt;관리요소&lt;/li&gt;
&lt;li&gt;환경요소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;목표 설정&lt;/li&gt;
&lt;li&gt;계획수립&lt;/li&gt;
&lt;li&gt;계획 추진&lt;/li&gt;
&lt;li&gt;운용 및 결과 분석&lt;/li&gt;
&lt;li&gt;평가&lt;ul&gt;
&lt;li&gt;사전평가&lt;ul&gt;
&lt;li&gt;경제성 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;중간평가&lt;ul&gt;
&lt;li&gt;성능에 대한 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사후평가&lt;ul&gt;
&lt;li&gt;시스템 가치 평가, 기술적 평가, 운영에 대한 평가, 경제성 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;평가방법&lt;ul&gt;
&lt;li&gt;투자효율산정법, 상대적 평가법, 정성적 평가법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;오차수정 및 피드백&lt;/li&gt;
&lt;li&gt;최적시스템 구축 및 유지&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;경영정보시스템(MIS)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;기업 내.외부의 비즈니스, 데이터를 수집해서 가공하고 기업을 관리하는 모든 계층 사람들의 의사 결정에 필요한 정보를 제공해주는 시스템&lt;/li&gt;
&lt;li&gt;경영을 위한 정보를 공급하기 위하여 형식화된 컴퓨터 정보 시스템&lt;/li&gt;
&lt;li&gt;기업의 전략, 계획, 조정, 관리, 운영 등의 결정을 보조해준다.&lt;/li&gt;
&lt;li&gt;분석과 진단에 의해 기업 업무의 정보 요구가 정의되어야 하고, 정의돈 정보를 효율적으로 처리할 수 있는 시스템을 개발하고 관리한다.&lt;/li&gt;
&lt;li&gt;MIS의 전문성은 기업의 업무를 분석하고 기업경영을 진단하는 능력이다.&lt;/li&gt;
&lt;li&gt;경영정보 시스템이 초기에 실패한 이유는 &lt;strong&gt;하드웨어와 소프트웨어의 제한된 능력과 사용자의 이해 부족 때문&lt;/strong&gt;이다.&lt;/li&gt;
&lt;li&gt;기본 구성은 의사결정 시스템(MIS의 지휘기능, MIS의 본부 역할), 프로세스 서브 시스템(자료 저장 검색 기능), 데이터베이스 서브 시스템(데이터 집합 기능), 시스템 설계 서브시스템(MIS의 유지, 개발, 통합 등의 기능), 통신 서브 시스템&lt;/li&gt;
&lt;li&gt;기능별 분류 : 회계정보시스템, 생산정보시스템, 마케팅정보시스템, 인사정보시스템&lt;/li&gt;
&lt;li&gt;중역 정보 시스템이 가장 상위에 위치&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;의사결정 지원 시스템(OSS)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;의사 결정에 필요한 정보를 보기 쉬운 형태로 편집, 출력하는 시스템, 환경의 변화를 반영할 수 있도록 유연하게 설계&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화 경영관리&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;RTE(Real-Time Enterprise, 실시간 기업)&lt;ul&gt;
&lt;li&gt;지속적인 프로세스의 개선과 실시간 정보제공을 통해 경쟁력을 극대화&lt;/li&gt;
&lt;li&gt;정보기술 솔루션을 경영에 활용하여 현재 기업의 경영상태를 한눈에 파악할 수 있게 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ERP(Enterprise Resource Planning, 전사적 자원관리)&lt;ul&gt;
&lt;li&gt;기업 전 부문에 걸쳐 있는 모든 경영 자원을 하나의 체계로 통합, 계획, 관리함으로써 기업 생산성을 높이는 종합경영 관리 시스템&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CRM(Customer Relationship Management, 고객 관계 관리)&lt;ul&gt;
&lt;li&gt;고객 관계를 관리해 나가기 위해 고객중심의 경영 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;SCM(Supply Chain Management, 공급망 관리)&lt;ul&gt;
&lt;li&gt;제품이나 부품의 생산자로부터 사용자에 이르는 공급 체인을 효율화&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;6시그마&lt;ul&gt;
&lt;li&gt;품질경영기법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POS(Point Of Sales) 시스템&lt;ul&gt;
&lt;li&gt;바코드를 판독하는 순간 재고, 매출액 등 상품 판매에 관한 모든 자료가 자동으로 표시됨&lt;/li&gt;
&lt;li&gt;&lt;code&gt;판매시점관리 시스템&lt;/code&gt;이라고도 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화 기술&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사무자동화 기술은 정보의 획득, 처리, 전달, 보관에 관련된 기술로 사무의 생산성을 높이기 위한 기술&lt;/li&gt;
&lt;li&gt;사무자동화의 3대 기술로는 하드웨어 기술, 소프트웨어 기술, 통신(네트워크)이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Man-Machine 인터페이스&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;인간이 기계를 조작할 때 협력하여 목적을 달성&lt;/li&gt;
&lt;li&gt;입력기술과 출력기술(입력 및 표시장치)&lt;/li&gt;
&lt;li&gt;소프트웨어 기술에 대한 의존도가 높다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;하드웨어 기술-{입력기술}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;키보드&lt;/li&gt;
&lt;li&gt;마우스&lt;/li&gt;
&lt;li&gt;트랙볼&lt;/li&gt;
&lt;li&gt;스캐너&lt;/li&gt;
&lt;li&gt;디지타이저/태블릿&lt;/li&gt;
&lt;li&gt;디지털카메라&lt;/li&gt;
&lt;li&gt;광학 마크 판독기(OMR)&lt;/li&gt;
&lt;li&gt;자기 잉크 판독기(MICR)&lt;/li&gt;
&lt;li&gt;광학 문자 판독기(OCR)&lt;/li&gt;
&lt;li&gt;바코드 판독기(BCR)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;하드웨어 기술-{출력기술}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;모니터&lt;ul&gt;
&lt;li&gt;CRT, LCD, PDP&lt;/li&gt;
&lt;li&gt;해상도 : XGA 〉VGA 〉EGA 〉CGA&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;프린터&lt;ul&gt;
&lt;li&gt;충격식 프린터(도트 매트릭스 프린터, 라인프린터, 시리얼프린터)&lt;/li&gt;
&lt;li&gt;비충격식 프린터&lt;/li&gt;
&lt;li&gt;플로터&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;스풀링&lt;ul&gt;
&lt;li&gt;중앙처리장치와 각각의 입.출력장치가 서로 독립적으로 작동.&lt;/li&gt;
&lt;li&gt;출력할 자료를 보조기억장치에 저장해 두었다가 프린터가 출력 가능한 시기에 출력할 수 있도록 해주는 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DPI&lt;br /&gt;: 1인치에 출력되는 점(Dot)의 수&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;채널&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CPU를 대신하여 주기억자치와 입출력장치 사이에서 입출력을 제어&lt;/li&gt;
&lt;li&gt;중앙처리장치(CPU)속도와 입출력장치 속도의 차를 해결&lt;/li&gt;
&lt;li&gt;전체 시스템의 처리속도를 향상 시킨다.&lt;/li&gt;
&lt;li&gt;고속의 입.출력 장치를 제어하는 셀렉터, 저속의 입.출력 장치를 제어하는 멀티플렉서&lt;/li&gt;
&lt;li&gt;멀티플렉서&lt;br /&gt;: 여러 개의 터미널 신호를 하나의 통신회선을 통해 전송할 수 있도록 하는 장치&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;주기업장치&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ROM : 쓰기는 불가능, 비휘발성 메모리&lt;ul&gt;
&lt;li&gt;종류&lt;ul&gt;
&lt;li&gt;Mask ROM : 지울 수 없음&lt;/li&gt;
&lt;li&gt;PROM : 지울 수 없음&lt;/li&gt;
&lt;li&gt;EPROM : 자외선을 이용하여 기록&lt;/li&gt;
&lt;li&gt;EEPROM : 전기적인 방법을 이용하여 기록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RAM : 읽고 쓸 수 있는 기억장치, 휘발성 메모리&lt;ul&gt;
&lt;li&gt;종류&lt;ul&gt;
&lt;li&gt;DRAM : 재충전이 필요, 용량이 큼&lt;/li&gt;
&lt;li&gt;SRAM : 캐시 메모리로 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;기억장치가 입.출력장치에 비해 동작속도가 빠름&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;기타 메모리&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;캐시 메모리 : CPU와 기억장치 사이에서 처리속도를 향상시킴&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;가상 메모리 : 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용&lt;br /&gt;※ 페이징 기법&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;프로그램을 동일한 크기로 나눈 단위를 페이지.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;※ 세그먼테이션 기법&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;프로그램을 가변적인 크기로 나눈 단위를 세그먼트.&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;버퍼 메모리 : 속도차이를 해결, 중간에 임시로 저장해두는 공간&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;연관 메모리 : 저장된 내용의 일부를 이용&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;플래시 메모리 : EEPROM의 일종&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;보조기억장치-{자기(Magnetic)매체}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;자기디스크&lt;/li&gt;
&lt;li&gt;SSD&lt;ul&gt;
&lt;li&gt;반도체를 이용하여 정보를 저장하는 보조기억장치&lt;/li&gt;
&lt;li&gt;기존의 하드디스크를 대체할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;자기테이프&lt;ul&gt;
&lt;li&gt;순차처리만 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;블록화 인수&lt;ul&gt;
&lt;li&gt;하나의 블록을 구성하는 논리 레코드의 수&lt;br /&gt;`블록화 인수 = 블록의 크기/레코드의 크기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;보조기억장치-{광(Optical) 매체}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;광학 헤드가 빛을 비추어 구멍 패턴으로 데이터를 기록하고 판독&lt;/li&gt;
&lt;li&gt;광 디스크 시스템&lt;ul&gt;
&lt;li&gt;자료의 검색, 보존에 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CD-RAM&lt;ul&gt;
&lt;li&gt;하이시에라 표준&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DVD&lt;ul&gt;
&lt;li&gt;CD-ROM의 데이터를 읽을 수 있지만 반대의 경우 불가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;블루레이 Blu-ray&lt;ul&gt;
&lt;li&gt;고선명(HD) 비디오를 위한 디지털 데이터를 저장.&lt;/li&gt;
&lt;li&gt;디스크 한면에 2층의 데이터 기록면을 갖춤&lt;/li&gt;
&lt;li&gt;DVD의 데이터를 읽을 수 있지만 반대의 경우는 불가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;WORM&lt;ul&gt;
&lt;li&gt;안전이나 범적인 이유로 한 번 기록된 후에는 변경 불가능&lt;/li&gt;
&lt;li&gt;은행이나 중개소의 거래내역등을 보호하기 위한 용도&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;등선속도(CLV)&lt;ul&gt;
&lt;li&gt;안쪽 트랙은 느리게&lt;/li&gt;
&lt;li&gt;바깥쪽 트랙은 빠르게&lt;/li&gt;
&lt;li&gt;트랙저장밀도는 같음&lt;/li&gt;
&lt;li&gt;저장 용량 손실 없음&lt;/li&gt;
&lt;li&gt;저장 공간 낭비 없음&lt;/li&gt;
&lt;li&gt;회전 구동 장치 복잡&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;자기 디스크 관련용어&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;트랙 : 동심원&lt;/li&gt;
&lt;li&gt;섹터 : 나눈구간&lt;/li&gt;
&lt;li&gt;실린더 : 논리적 구성요소, 한 면의 트랙의 수와 실린더의 수는 동일함&lt;/li&gt;
&lt;li&gt;클러스터 : 섹터를 모은 것&lt;/li&gt;
&lt;li&gt;TPI : 1인치에 기록할 수 있는 트랙의 수&lt;/li&gt;
&lt;li&gt;Seek Time : 트랙(실린더)에 도달하는데 걸리는 시간&lt;/li&gt;
&lt;li&gt;Search Time : 트랙(실린더)를 찾은 후 원판이 회전하여 원하는 섹터의 읽기/쓰기가 시작될 때까지의 시간&lt;/li&gt;
&lt;li&gt;Transmission : 읽은 데이터를 주기억장치로 보내는데 걸리는 시간&lt;/li&gt;
&lt;li&gt;Access Time&lt;ul&gt;
&lt;li&gt;데이터를 읽고 쓰는 데 걸리는 시간의 합.&lt;/li&gt;
&lt;li&gt;어떤 데이터를 기억장치로부터 읽거나 기억시킬 때 명령이 시작된 순간부터 완료되는 순간까지 소요시간&lt;/li&gt;
&lt;li&gt;디스크에 저장된 데이터에 접근하여 읽는데 소요되는 전체 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;플로피디스크의 용량 : 트랙수*섹트수*섹터당 기억용량*면수&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;기억장치 관련단위&lt;/h3&gt;
&lt;p&gt;&lt;img style=&quot;max-height:70%; max-width:70%;&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/990E79395F2986391A&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h3&gt;처리속도 단위&lt;/h3&gt;
&lt;p&gt;&lt;img style=&quot;max-height:70%; max-width:70%;&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/99D8EC4C5F2986521E&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h3&gt;기억장치 접근 속도&lt;/h3&gt;
&lt;p&gt;CPU(레지스터) → 주기억장치(캐시(SRAM)) → DRAM → ROM → SSD → 보조기억장치&lt;/p&gt;
&lt;h3&gt;소프트웨어 기술&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;시스템 소프트웨어&lt;ul&gt;
&lt;li&gt;운영체제 : 컴퓨터의 자원을 관리해주는 시스템&lt;/li&gt;
&lt;li&gt;제어 프로그램&lt;ul&gt;
&lt;li&gt;감시프로그램, 작업관리 프로그램, 데이터 관리 프로그램&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;처리 프로그램&lt;ul&gt;
&lt;li&gt;언어 번역 프로그램 : 기계어 형태의 목적 프로그램으로 변환시켜줌&lt;/li&gt;
&lt;li&gt;서비스 프로그램 : 정렬/병합 프로그램&lt;/li&gt;
&lt;li&gt;유틸리티&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;응용 소프트웨어&lt;ul&gt;
&lt;li&gt;소프레드시트&lt;ul&gt;
&lt;li&gt;수식, 함수, 차트를 이용해 계산&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;소프트웨어 패키지&lt;ul&gt;
&lt;li&gt;1개의 프로그램으로 처리할 수 있도록 한 프로그램 그룹&lt;/li&gt;
&lt;li&gt;MS사의 오피스 프로그램&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OLE&lt;ul&gt;
&lt;li&gt;문자나 그림 등의 개체를 원본 프로그램에서 수정하거나 편집하면 그 내용이 그대로 해당 문서에 반영됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;통신 응용 기술 - {정보처리 시스템}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;정보처리 시스템은 입력된 자료를 처리과정을 통해 정보로 변환하는 시스템&lt;/li&gt;
&lt;li&gt;비집중 처리 시스템 → 집중 처리 시스템 → 분산처리 시스템&lt;/li&gt;
&lt;li&gt;비집중 처리 시스템&lt;ul&gt;
&lt;li&gt;공유가 이루어지지 못한다는 단점을 가지고 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;집중 처리 시스템&lt;ul&gt;
&lt;li&gt;양이 많아지면 과부하(저생산성)&lt;/li&gt;
&lt;li&gt;전사적 관리가 용이하고 회선 비용이 적게 들며, 전체적인 운영 요원이 감소함&lt;/li&gt;
&lt;li&gt;대규모 처리&lt;/li&gt;
&lt;li&gt;정보처리의 과도한 집중하로 인해 시스템 운용상의 문제점, 시스템 상의 불편함, 사용자 적용업무의 개발 상의 문제점&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;분산 처리 시스템&lt;ul&gt;
&lt;li&gt;통신 회선으로 연결(통신비용증가)&lt;/li&gt;
&lt;li&gt;공유, 유연성, 확장성, 호환성&lt;/li&gt;
&lt;li&gt;연산속도, 신뢰도 향상&lt;/li&gt;
&lt;li&gt;조직전체의 융통성, 현장 적응성&lt;/li&gt;
&lt;li&gt;시스템 설계가 복잡하여 시스템을 구축하기가 어렵고, 보안문제가 있음&lt;/li&gt;
&lt;li&gt;분산처리 형태에는 계층형 분산 처리 시스템, 수평형 분산처리 시스템, 혼합형 분산처리 시스템이 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;인텔리전트 빌딩&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;최첨단 빌딩, IBS&lt;/li&gt;
&lt;li&gt;인간의 능력을 최대한 발휘할 수 있음&lt;/li&gt;
&lt;li&gt;사무생산성의 향상, 사무작업의 노동생활 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화기기&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;근거리 통신망(LAN)의 발달은 사무자동화기기의 통합을 촉진시켰다.&lt;/li&gt;
&lt;li&gt;사무실의 공간을 적게 차지하기 위해 기기의 소형화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;자료준비기기/자료처리기기&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;워드프로세서 : 문서의 생성, 편집, 저장, 인쇄&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;중앙처리장치(CPU)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;제어장치, 연산장치, 주기억장치(레지스터)로 구성&lt;/li&gt;
&lt;li&gt;제어장치&lt;ul&gt;
&lt;li&gt;프로그램 카운터(명령어의 번지를 기억)&lt;/li&gt;
&lt;li&gt;명령 레지스터(명령의 내용을 기억)&lt;/li&gt;
&lt;li&gt;명령 해독기&lt;/li&gt;
&lt;li&gt;부호기(제어신호를 생성)&lt;/li&gt;
&lt;li&gt;메모리 주소 레지스터(MAR)&lt;/li&gt;
&lt;li&gt;메모리 버퍼 레지스터(MBR)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;연산장치&lt;ul&gt;
&lt;li&gt;가산기(덧셈)&lt;/li&gt;
&lt;li&gt;보수기(뺄셈을 위해 보수로 변환)&lt;/li&gt;
&lt;li&gt;누산기(연산의 결과를 일시적으로 저장)&lt;/li&gt;
&lt;li&gt;데이터레지스터&lt;/li&gt;
&lt;li&gt;상태 레지스터(PSW-현재 프로그램 상태 저장)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;자료전송기기-{전자우편}&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP&lt;ul&gt;
&lt;li&gt;메일을 전송(송신)&lt;/li&gt;
&lt;li&gt;기본 포트 25&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POP&lt;ul&gt;
&lt;li&gt;메일을 컴퓨터로 가져올 수 있게 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;IMAP&lt;ul&gt;
&lt;li&gt;멀리 떨어져 있는 서버의 이메일 메시지를 관리하는 방법을 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MIME&lt;ul&gt;
&lt;li&gt;멀티미디어 파일을 확인하고 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;S/MIME&lt;ul&gt;
&lt;li&gt;암호학적 보안서비스를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PEM&lt;ul&gt;
&lt;li&gt;밀봉된 봉투에 넣어 데이터의 유출이 발생해도 내용을 확인할 수 없도록 함&lt;/li&gt;
&lt;li&gt;빠른 의사교환이 가능&lt;/li&gt;
&lt;li&gt;동시에 여러 사람에게 동일한 전자우편을 보낼 수 있는 기능 제공&lt;/li&gt;
&lt;li&gt;이용시간 및 장소의 제약없이 저렴한 비용&lt;/li&gt;
&lt;li&gt;개인적인 정보보호 조치가 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PGP&lt;ul&gt;
&lt;li&gt;전자우편을 다른 사람이 받아볼 수 없도록 암호화하고 받은 전자우편의 암호를 해석해주는 프로그램&lt;/li&gt;
&lt;li&gt;기밀성, 무결성, 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증</category>
      <category>공기업</category>
      <category>공무원</category>
      <category>사무자동화</category>
      <category>사무자동화산업기사</category>
      <category>사무직</category>
      <category>엑세스</category>
      <category>엑셀</category>
      <category>컴퓨터</category>
      <category>컴활</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/39</guid>
      <comments>https://gun1127.tistory.com/39#entry39comment</comments>
      <pubDate>Wed, 5 Aug 2020 01:20:38 +0900</pubDate>
    </item>
    <item>
      <title>[사무자동화산업기사]1과목 정리(1)</title>
      <link>https://gun1127.tistory.com/38</link>
      <description>&lt;h3&gt;사무자동화의 정의&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사무자동화의 4가지 요소&lt;ul&gt;
&lt;li&gt;컴퓨터 기술&lt;/li&gt;
&lt;li&gt;통신 기술&lt;/li&gt;
&lt;li&gt;시스템과학&lt;/li&gt;
&lt;li&gt;행동과학&lt;br&gt;  : 행동을 예측, 제어하는 것으로 사회학, 심리학, 인류학&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사무자동화를 하는 가장 궁극적인 이유&lt;br&gt;  : &lt;code&gt;사무업무의 생산성 향상과 인간의 창조적 능력을 증대시키기 위함&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;공장자동화(FA)&lt;br&gt;  : 부분적인 자동화, 단위기계의 완전 자동화&lt;/li&gt;
&lt;li&gt;점포자동화(SA)&lt;br&gt;  : POS시스템을 기본으로 한 점포 제어&lt;/li&gt;
&lt;li&gt;A : Automated Office(자동화 사무실)&lt;/li&gt;
&lt;li&gt;B : Business Machine(사무기기)&lt;/li&gt;
&lt;li&gt;C : Communication System(통신 시스템)&lt;/li&gt;
&lt;li&gt;D : Data Processing System(자료 처리 시스템)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 특징&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사무자동화는 &lt;strong&gt;사용자 중심&lt;/strong&gt;이어야 한다.&lt;/li&gt;
&lt;li&gt;사무자동화는 &lt;strong&gt;종합적인 체제로 구성&lt;/strong&gt;되어야 한다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인간과 기계 간의 인터페이스(Man-Machine Interface)&lt;/strong&gt;이다.&lt;/li&gt;
&lt;li&gt;주로 &lt;strong&gt;비구조적인 과제를 지원&lt;/strong&gt;한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 배경 요인&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사회적 요인&lt;ul&gt;
&lt;li&gt;정보화 사회로 변화&lt;/li&gt;
&lt;li&gt;고력화, 고령화, 여성화, 저생산성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;기술적 요인&lt;ul&gt;
&lt;li&gt;통신기술의 발달과 함께 컴퓨터 기술의 발달로 컴퓨터 이용이 보편화&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;경제적 요인&lt;ul&gt;
&lt;li&gt;인건비, 각종 자재비 등이 상승&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;정보화 사회의 특징&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;협동화, 분산화, 시스템화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 목적&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;사무부문의 생산성의 향상&lt;/li&gt;
&lt;li&gt;사무업무의 신속화, 정확화, 효율화, 투명화&lt;/li&gt;
&lt;li&gt;사무처리의 비용 절감(시간, 인력, 공간)&lt;/li&gt;
&lt;li&gt;사무처리의 질적 향상&lt;/li&gt;
&lt;li&gt;다양한 욕구의 대처&lt;/li&gt;
&lt;li&gt;참조적 인간능력 향상&lt;/li&gt;
&lt;li&gt;작업자의 사기 양양&lt;/li&gt;
&lt;li&gt;사무자동화의 환경개선으로 작업자의 사기고취&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 주요기능&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;문서화 기능&lt;/li&gt;
&lt;li&gt;통신기능&lt;/li&gt;
&lt;li&gt;정보활용기능&lt;/li&gt;
&lt;li&gt;업무의 자동화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;스마트워크&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;스마트폰 등을 이용해 시간과 장소에 얽매이지 않고 언제 어디서나 일할 수 있는 체제. 단, 보안에 취약&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 기본요소&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;철학&lt;/li&gt;
&lt;li&gt;장비&lt;br&gt;  : 하드웨어와 소프트웨어&lt;/li&gt;
&lt;li&gt;제도&lt;br&gt;  : 처리방법이나 활동 또는 사무의 집합&lt;/li&gt;
&lt;li&gt;사람&lt;br&gt;  : 사무자동화의 주체는 사람&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 생산성&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;일반적으로 &lt;strong&gt;생산성&lt;/strong&gt;이란 투자비용에 대한 산출효과&lt;/li&gt;
&lt;li&gt;근로자의 지적 능력. 경험에 의한 것이 많기 때문에 산출성과를 높은 수준으로 안정되게 유지할 수 없다.&lt;/li&gt;
&lt;li&gt;간접적으로 평가할 수 있지만 직접적으로는 평가할 수 없다.&lt;/li&gt;
&lt;li&gt;명확하게 규정할 방법이 없다.&lt;/li&gt;
&lt;li&gt;투입(투자)의 시점에서부터 뒤늦게 나타난다.&lt;/li&gt;
&lt;li&gt;투입자원을 정량화할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 생산성 평가 기준&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;효율성(정량적, 양적)&lt;br&gt;  : 투입량과 산출량의 양적 비율을 의미함. 사무자동화에 따른 전체 비용의 절감&lt;/li&gt;
&lt;li&gt;유효성(정성적, 질적)&lt;br&gt;  : 질적개념. 눈에 보이지 않는다.&lt;/li&gt;
&lt;li&gt;창조성 및 인간성&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화 시스템의 자동화 효율성&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;매체 변환의 감소&lt;/li&gt;
&lt;li&gt;부수적 기능의 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화 시스템의 평가 방법&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;투자 효율 산정법, 상대적 평가법, 정성적 평가법&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 기대효과&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;생산성 향상&lt;ul&gt;
&lt;li&gt;단위 시간당 작업량 증대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;조직의 최적화&lt;ul&gt;
&lt;li&gt;적절한 인력 구성, 개인과 조직의 융통성 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;경쟁력 증대&lt;ul&gt;
&lt;li&gt;정보획득 시간 단축, 서비스의 개선&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 접근 방식&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;전사적 접근 방식&lt;ul&gt;
&lt;li&gt;모든 시스템, 모든 업무, 모든 계층 &lt;/li&gt;
&lt;li&gt;소규모 조직이나 신설되는 조직 혹은 조직 개편을 하고자 할 때&lt;/li&gt;
&lt;li&gt;성공하면 매우 큰 효과를 볼 수 있음&lt;/li&gt;
&lt;li&gt;낭비를 줄일 수 있음. 시스템 도입의 절감&lt;/li&gt;
&lt;li&gt;가장 이상적인 접근방식&lt;/li&gt;
&lt;li&gt;시간이 많이 걸림&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;부분 전개 접근 방식&lt;ul&gt;
&lt;li&gt;특정부분을 선정하여 사무자동화의 요구가 큰 부분, 전시효과가 큰 부분, 사무자동화의 추진이 쉬운 부분부터 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;공통과제형 접근 방식&lt;ul&gt;
&lt;li&gt;각 부분의 공통 과제를 대상으로 사무자동화를 추진&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;기기 도입형 접근 방식&lt;ul&gt;
&lt;li&gt;사무자동화 기기를 시험적으로 도입하여 사용함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;계층별 접근 방식&lt;ul&gt;
&lt;li&gt;직위에 따라&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;업무별 접근 방식&lt;ul&gt;
&lt;li&gt;개선이 필요한 사무업무부터&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;사무자동화의 수행방식&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;상향식 접근방식&lt;ul&gt;
&lt;li&gt;최하위 단위부터 자동화하여 그 효과를 점차 증대&lt;/li&gt;
&lt;li&gt;기본 조직에 거부반응이 없고&lt;/li&gt;
&lt;li&gt;전체적인 참여의식이나 의식개혁이 희박함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하향식 접근방식&lt;ul&gt;
&lt;li&gt;단기간에 사무자동화 시스템을 구축할 수 있음&lt;/li&gt;
&lt;li&gt;경영자가 요구하는 최적의 시스템 구축&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;전사적 접근방식&lt;ul&gt;
&lt;li&gt;상/하향식의 문제점을 분석하여 구조화시킨 방식&lt;/li&gt;
&lt;li&gt;시스템 도입의 절감&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증</category>
      <category>#공무원</category>
      <category>#사무자동화</category>
      <category>#사무자동화산업기사</category>
      <category>#사무직</category>
      <category>#엑셀</category>
      <category>#일반행정</category>
      <category>#컴퓨터활용</category>
      <author>하루의 모험</author>
      <guid isPermaLink="true">https://gun1127.tistory.com/38</guid>
      <comments>https://gun1127.tistory.com/38#entry38comment</comments>
      <pubDate>Tue, 4 Aug 2020 00:23:31 +0900</pubDate>
    </item>
  </channel>
</rss>