๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๊ธฐ +/Web

(73)[Web]9์ผ์ฐจ: ((JSP))F_WebApp04>Test005, F_WebApp05

by ์ข…์ด๋นจ๋Œ€ 2023. 12. 7.
TOP

๋ชฉ์ฐจ

    1. 2023.12.7(๋ชฉ)

    F_WebApp04

    ใ„ด C:\WebStudy\WebApp04\WebContent


     [HttpServlet ๊ด€๋ จ ์‹ค์Šต] 

    ใ„ดใ„ดjsptest005.html_HttpServlet ๊ด€๋ จ ์‹ค์Šต(HttpServlet ์„ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋กœ ์„ค๊ณ„)

    - **์Šคํฌ๋ฆฝํŠธ์ œ์–ด-> id ์†์„ฑ, ์„œ๋ฒ„์ œ์–ด-> name ์†์„ฑ**

    - โ€ป form ํƒœ๊ทธ์˜ action ์†์„ฑ์€ ์ œ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•ด์•ผํ•˜๋Š” ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰.
    (์ƒ๋žต ์‹œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋Š” ๋Œ€์ƒ์€ ์ž๊ธฐ ์ž์‹ )

    - โ€ป form ํƒœ๊ทธ์˜ method ์†์„ฑ์€ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์— ๋Œ€ํ•œ ๋ฐฉ์‹
    (์ƒ๋žต ์‹œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฐฉ์‹์€ get)

    - โ€ป submit ์•ก์…˜ -> form ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ

    [ํ™•์ธํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ] action="" -> ๋‚ด๊ฐ€ ๋‚˜์—๊ฒŒ ์ „์†ก, ๋‚ด๊ฐ€ ๋ฐ›์•„ ๊ฐฑ์‹ 
    [๊ฒฐ๊ณผ] jsptest005.jsp์—์„œ ์ž‘์„ฑํ•ด์„œ ๋ณด๋‚ด๋ฉด, /login์ด ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌ๋จ

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>jsptest005.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    </head>
    <body class="section">
    <div>
    	<h1>JSP ๊ด€์ฐฐํ•˜๊ธฐ</h1>
    	<hr>
    </div>
    
    <div class="layout">
    	<h2>HttpServlet ๊ด€๋ จ ์‹ค์Šต</h2>
    	
    	<!-- โ€ป ์ž…๋ ฅ ์ปจํŠธ๋กค์„ ํ™œ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” form ํ•„์š” -->
    	<!-- โ€ป form ํƒœ๊ทธ์˜ action ์†์„ฑ์€ ์ œ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•ด์•ผํ•˜๋Š” ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰.
    			(์ƒ๋žต ์‹œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋œ๋А ๋Œ€์ƒ์€ ์ž๊ธฐ ์ž์‹ ) -->
    	<!-- โ€ป form ํƒœ๊ทธ์˜ method ์†์„ฑ์€ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์— ๋Œ€ํ•œ ๋ฐฉ์‹
    			(์ƒ๋žต ์‹œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฐฉ์‹์€ get) -->
    	<form action="/WebApp04/login" method="get">
    		<!-- ** action="" -> ๋‚ด๊ฐ€ ๋‚˜ ์ž์‹ ์„ ์ฐธ์กฐ(ex. ๋‚ด๊ฐ€ ์ „์†ก, ๋‚ด๊ฐ€ ๋ฐ›์•„ ๊ฐฑ์‹ ) ** -->
    		<!-- ** method="" -> get ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ ** -->
    		<table>
    			<tr>
    				<th>์•„์ด๋””</th>
    				<td>
    					<!-- name ์†์„ฑ check~!!! -->
    					<!-- **์Šคํฌ๋ฆฝํŠธ์ œ์–ด-> id ์†์„ฑ, ์„œ๋ฒ„์ œ์–ด-> name ์†์„ฑ** -->
    					<input type="text" name="userId" size="10" maxlength="10" class="txt">
    				</td>
    			</tr>
    			<tr>
    				<th>ํŒจ์Šค์›Œ๋“œ</th>
    				<td>
    					<!-- name ์†์„ฑ check~!!! -->
    					<input type="password" name="userPwd" size="10" class="txt">
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2">
    					<!-- โ€ป submit ์•ก์…˜ -> form ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํŽ˜์ด์ง€ ์š”์ฒญ -->
    					<input type="submit"  value="๋กœ๊ทธ์ธ" class="btn control">
    					<input type="reset"  value="๋‹ค์‹œ์ž…๋ ฅ" class="btn control">
    				</td>
    			</tr>
    		</table>
    	</form>
    </div>
    <!-- **
    	http://localhost:3306/WebApp04/jsptest005.jsp?userId=super&userPwd=1234
    	ใ„ด '?' ์•ž -> ์š”์ฒญํ•˜๋Š” ํŽ˜์ด์ง€
    	ใ„ด '?' ๋’ค -> ์‘๋‹ต ๋‚ด์šฉ(& ํ˜•ํƒœ๋กœ ๊ฒฐํ•ฉ๋จ)
    ** -->
    
    
    
    </body>
    </html>

    ใ„ดใ„ดTest005.java_์š”์ฒญ๋ฐ›์€ ๋‚ด์šฉ์„ ์‘๋‹ต(์ถœ๋ ฅ์Šคํฌ๋ฆผ ๊ตฌ์„ฑ)

    doGet, doPost ๋ฅผ Override/implement ํ•จ

    /* ==================
    	Test005.java
    	- Servlet ์‹ค์Šต
    =================== */
    
    // ํ˜„์žฌ... ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค Test004
    // ์ด๋ฅผ... Servlet ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
    
    // HttpServlet ์„ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋กœ ์„ค๊ณ„ -> Servlet
    // ** HttpServlet์ด ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ• **
    // ** HttpServlet api -> https://docs.oracle.com/javaee%2F7%2Fapi%2F%2F/javax/servlet/http/HttpServlet.html **
    
    /* **
    ์šฐ๋ฆฌ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, servlet(์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ) ์ด ์š”์ฒญํ•˜๋Š” ๊ฒƒ
    ใ„ด ์‚ฌ์šฉ์ž๊ฐ€ get ๋ฐฉ์‹ -> ์„œ๋ธ”๋ฆฟ doGet
    ใ„ด ์‚ฌ์šฉ์ž๊ฐ€ post ๋ฐฉ์‹-> ์„œ๋ธ”๋ฆฟ doPost
     ** */
    package com.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Test005 extends HttpServlet
    // ** ์ถ”์ƒํด๋ž˜์Šค์ด์ง€๋งŒ, ๋‚ด๋ถ€์ ์œผ๋กœ ์ถ”์ƒ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Œ **
    {
    	private static final long serialVersionUID = 1L;
    
    	// ์‚ฌ์šฉ์ž์˜ http ํ”„๋กœํ† ์ฝœ ์š”์ฒญ์ด GET ๋ฐฉ์‹์ผ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์†Œ๋“œ
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		doGetPost(request, response);
    	}
    
    	// ์‚ฌ์šฉ์ž์˜ http ํ”„๋กœํ† ์ฝœ ์š”์ฒญ์ด POST ๋ฐฉ์‹์„ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์†Œ๋“œ
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		doGetPost(request, response);
    	}
    	 
    	// ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์†Œ๋“œ
    	protected void doGetPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		// GET ๋ฐฉ์‹์ด๋“  POST ๋ฐฉ์‹์ด๋“ 
    		// ์–ด๋–ค ๋ฐฉ์‹์˜ ์š”์ฒญ์—๋„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์†Œ๋“œ
    		
    		// request -> ์š”์ฒญ ๊ฐ์ฒด
    		String id = request.getParameter("userId");
    		// ** request ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ userId๋ฅผ ๊บผ๋‚ด์„œ ์“ธ ๊ฒƒ์ด๋‹ค. **
    		String pwd = request.getParameter("userPwd");
    		
    		response.setContentType("text/html; charset=UTF-8");
    		
    		String str="์•„์ด๋””:" + id + ", ํŒจ์Šค์›Œ๋“œ: " + pwd;
    		
    		
    		// ์‘๋‹ต์„ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„
    		PrintWriter out = response.getWriter();
    		
    		// ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์„ ํ™œ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง
    		out.print("<!DOCTYPE html>");
    		out.print("<html>");
    		out.print("<head>");
    		out.print("<meta charset=\"UTF-8\">"); 
    		// ** ์ด์ค‘๋”ฐ์˜ดํ‘œ ์ฒ˜๋ฆฌ: "UTF-8" -> \"UTF-8\" **
    		out.print("<title>Test005.java</title>");
    		out.print("</head>");
    		out.print("<body>");
    		out.print("");
    		out.print("<div>");
    		out.print("	<h1>์„œ๋ธ”๋ฆฟ ๊ด€๋ จ ์‹ค์Šต</h1>");
    		out.print("	<hr>");
    		out.print("</div>");
    		out.print("");
    		out.print("<div>");
    		out.print("	<h2>HttpServlet ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ธ”๋ฆฟ ํ…Œ์ŠคํŠธ</h2>");
    		out.print("	");
    		out.print("	<p>" + str + "</p>");
    		out.print("</div>");
    		out.print("");
    		out.print("</body>");
    		out.print("</html>");
    	}
    }

    ใ„ดใ„ด web.xml_ jsp์™€ java๋ฅผ servlet์„ ํ†ตํ•ด ์—ฐ๊ฒฐ

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
      <display-name>WebApp04</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <!-- *************************************************************************************** -->
    
      <!-- **Servlet ๊ณผ Servlet-mapping์ด ๊ฐ™์€ ์ด๋ฆ„์ด์–ด์•ผ ํ•จ** -->
      <servlet>
      	<servlet-name>Test004</servlet-name>				<!-- ** ๋งคํ•‘์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ฆ„ ** -->
      	<servlet-class>com.test.Test004</servlet-class>		<!-- ** Serlvet ํด๋ž˜์Šค ์ด๋ฆ„ ** -->
      </servlet>
      
      <servlet-mapping>
      	<servlet-name>Test004</servlet-name>
      	<url-pattern>/test004</url-pattern>					<!-- ** Serlvet ๋Œ€์‘ํ•˜๋Š” URL ** -->
      </servlet-mapping>
      
      <!-- *************************************************************************************** -->
      
      <servlet>
      	<servlet-name>Test005</servlet-name>
      	<servlet-class>com.tets.Test005</servlet-class>
      </servlet>
      
      <servlet-mapping>
      	<servlet-name>Test005</servlet-name>
      	<url-pattern>/login</url-pattern>
      </servlet-mapping>
      
      <!-- *************************************************************************************** -->
    
    </web-app>

     

    ใ„ดใ„ดResponseSample.html_HTML ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ์ƒ˜ํ”Œ

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test005.java</title>
    </head>
    <body>
    
    <div>
    	<h1>์„œ๋ธ”๋ฆฟ ๊ด€๋ จ ์‹ค์Šต</h1>
    	<hr>
    </div>
    
    <div>
    	<h2>HttpServlet ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ธ”๋ฆฟ ํ…Œ์ŠคํŠธ</h2>
    	
    	<p> </p>
    </div>
    
    </body>
    </html>

     

    [ WebApp00 ์— ServletSample.java ๋งŒ๋“ค๊ธฐ ]

    ใ„ด/WebApp00/src/com/test/ServletSample.java

    /* ==================
    	ServletSample.java
    =================== */
    
    package com.test;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class ServletSample extends HttpServlet
    {
    	private static final long serialVersionUID = 1L;
    
    	// ์‚ฌ์šฉ์ž์˜ http ํ”„๋กœํ† ์ฝœ ์š”์ฒญ์ด GET ๋ฐฉ์‹์ผ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์†Œ๋“œ
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		doGetPost(request, response);
    	}
    
    	// ์‚ฌ์šฉ์ž์˜ http ํ”„๋กœํ† ์ฝœ ์š”์ฒญ์ด POST ๋ฐฉ์‹์„ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์†Œ๋“œ
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		doGetPost(request, response);
    	}
    	 
    	// ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์†Œ๋“œ
    	protected void doGetPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		// GET ๋ฐฉ์‹์ด๋“  POST ๋ฐฉ์‹์ด๋“ 
    		// ์–ด๋–ค ๋ฐฉ์‹์˜ ์š”์ฒญ์—๋„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์†Œ๋“œ
    		
    	}
    }

    WebApp05

    ใ„ดWebApp05\WebContent

    ใ„ดใ„ดHap.jsp_JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 01

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Hap.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 01</h1>
    	<hr>
    	<p>Hap.jsp -> HapOk.jsp</p>
    </div>
    
    <div class="layout">
    	<!-- โ€ป <form> ์˜ action ์†์„ฑ ์‹œ์ • ์‹œ ใ€ŽHapOk.jspใ€ ๋กœ ์ง€์ •ํ•ด๋„ ๋˜๊ณ 
    			ใ€Ž/WebApp05/HapOk.jspใ€ ํ˜•ํƒœ๋กœ ์ง€์ •ํ•ด๋„ ๋œ๋‹ค.
    			๋‹จ, ใ€Ž/HapOk.jspใ€๋กœ ์ง€์ •ํ•˜๋ฉด ์•ˆ๋œ๋‹ค. -->
    	<form action="/WebApp05/HapOk.jsp" method="post">
    	<!-- <form action="HapOk.jsp"> -->
    		<div class="input_box">
    			<ul>
    				<li>์ •์ˆ˜1 <input type="text" name="su1" class="txt"></li>
    				<li>์ •์ˆ˜2 <input type="text" name="su2" class="txt"></li>
    			</ul>			
    		</div>
    		<div class="btn_box">
    			<input type="submit" value="๊ฒฐ๊ณผ ํ™•์ธ" class="btn control">
    		</div>
    	</form>
    	<!-- โ‘  form ๋‚ด๋ถ€์— ๊ตฌ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ใ€ŽHapOk.jspใ€ ๋กœ ์ „์†กํ•˜๊ฒ ๋‹ค. -> su1, su2 -->
    	<!-- โ‘ก ใ€ŽHapOk.jspใ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๊ฒ ๋‹ค.
    			 -> ๋‚ด๊ฐ€ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ›๊ณ ~ ๋‚˜๋ฅผ ๊ทธ ํŽ˜์ด์ง€์™€ ๋งŒ๋‚  ์ˆ˜ ์žˆ๊ฒŒํ•ด๋‹ค์˜ค~!!! -->
    	
    </div>
    
    
    </body>
    </html>

    ใ„ดใ„ดHapOk.jsp_JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 01

    <%@ page contentType="text/html; charset=UTF-8"%>
    <% 
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ
    	
    	// ์ด์ „ ํŽ˜์ด์ง€(Hap.jsp)๋กœ๋ถ€ํ„ฐ ๋„˜์–ด์˜จ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  -> su1, su2
    	String str1 = request.getParameter("su1");
    	String str2 = request.getParameter("su2");
    	
    	int sum=0;
    	
    	try
    	{
    		int n1 = Integer.parseInt(str1);
    		int n2 = Integer.parseInt(str2);
    		
    		sum = n1 + n2;
    	}
    	catch(Exception e)
    	{
    		// ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ...
    		// ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ 
    		// ์„œ๋ฒ„์˜ ์ฝ˜์†” ์ฐฝ์— ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ตฌ์„ฑํ•˜๋Š” ์ฝ”๋“œ
    		System.out.println(e.toString());
    		
    		// ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ...
    		// ํ•ด๋‹น ๋‚ด์šฉ์„ ์„œ๋ฒ„ log ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธฐ๋Š” ์ฒ˜๋ฆฌ...
    		getServletContext().log("์˜ค๋ฅ˜: " + e.toString());
    		
    		// ...
    		
    	}
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>HapOk.jsp</title>
    </head>
    <body>
    	
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 01</h1>
    	<hr>
    	<p>Hap.jsp -> HapOk.jsp</p>
    </div>
    	
    <div>
    	<!-- <h2>๊ฒฐ๊ณผ: 10</h2> -->
    	<h2>๊ฒฐ๊ณผ: <%=sum %></h2>
    </div>
    
    	
    </body>
    </html>

     


     

    ใ„ดใ„ดGugudan.jsp_JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 02

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Gugudan.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 02</h1>
    	<hr>
    	<p>Gugudan.jsp -> GugudanOk.jsp</p>
    </div>
    
    <div class="layout">
    	<form action="/WebApp05/GugudanOk.jsp" method="post">
    		<table class="table">
    			<tr>
    				<th>์›ํ•˜๋Š” ๋‹จ ์ž…๋ ฅ</th>	
    				<td>
    					<input type="text" name="dan" class="txt">
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2">
    					<input type="submit" value="๊ฒฐ๊ณผ ํ™•์ธ" class="btn control" style="width: 100%;">
    				</td>
    			</tr>
    		</table>
    	</form>
    
    </div>
    
    </body>
    </html>

    ใ„ดใ„ดGugudanOk.jsp_JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 02

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%
    	// [ ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด ] ==============================================
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ
    	/* int dan = 0;
    	String result = "";
    
    	try
    	{
    		dan = Integer.parseInt(request.getParameter("dan"));
    		
    		
    		for(int i=1; i<=9; i++)
    		{
    			// System.out.println(dan + " * " + i + " = " + dan*i);
    			result += (dan + " * " + i + " = " + dan*i+"<br>");
    		}
    	}
    	catch(Exception e)
    	{
    		System.out.println(e.toString());
    	}; */
    	
    
    	// [ ํ•จ๊ป˜ ํ‘ผ ํ’€์ด ] ==============================================
    	// ์ด์ „ ํŽ˜์ด์ง€(Gugudan.jsp)๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  -> dan
    	String danStr = request.getParameter("dan");
    	int n=0;
    	
    	try
    	{
    		n = Integer.parseInt(danStr);
    	}
    	catch(Exception e)
    	{
    		System.out.println(e.toString());
    	}
    	
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>GugudanOk.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 02</h1>
    	<hr>
    	<p>Gugudan.jsp -> GugudanOk.jsp</p>
    </div>
    	<div class="layout">
    <!-- 	// [ ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด ] ============================================== -->
    		<%-- 
    		<div class="info_box">๊ฒฐ๊ณผ: <%=dan%> ๋‹จ</div>
    		<div class="result_box"><%=result%></div>
    		 --%>
    <!-- html ์ฃผ์„๋ฌธ: ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๊ฐ€์‹œ์ ์œผ๋กœ ๋ณด์ง€ ์•Š๋„๋ก ์•ˆ๋‚ด -> ์†Œ์Šค์ฝ”๋“œ๋ณด๊ธฐ๋กœ ๋ณด์—ฌ์ง -->
    <%-- JSP ์ฃผ์„๋ฌธ: sevlet container ๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ์˜์—ญ --%>
    		
    <!-- 	// [ ํ•จ๊ป˜ ํ‘ผ ํ’€์ด ] ============================================== -->
    <%-- ๋ฐฉ๋ฒ•1 --%>
    <%-- <%
    	for(int i=1; i<=9; i++)
    	{
    		// System.out.println(dan + " * " + i + " = " + dan*i);
    		out.print(n + " * " + i + " = " + (n*i)+"<br>");
    	}
    %> --%>
    
    
    <%-- ๋ฐฉ๋ฒ•2 --%>
      <%for(int i=1; i<=9; i++)
    	{%>
    		<%=n%> * <%=i%> = <%=(n*i)%> <br>
      <%}%>
    	</div>
    </body>
    </html>

    ใ„ดใ„ดRadioSelect.jsp_radio, select ๋ฐ์ดํ„ฐ ์ „์†ก

    // ํ•œ๊ธ€ ๊นจ์ง ๋ฐฉ์ง€ ์ฒ˜๋ฆฌ
    request.setCharacterEncoding("UTF-8"); // check~!!!

     

    ใ„ดใ„ดRadioSelectOk.jsp_radio, select ๋ฐ์ดํ„ฐ ์ „์†ก

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ
    	
    	// ์ด์ „ ํŽ˜์ด์ง€(RadioSelect.jsp)๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	// -> name
    	
    	// ํ•œ๊ธ€ ๊นจ์ง ๋ฐฉ์ง€ ์ฒ˜๋ฆฌ	
    	request.setCharacterEncoding("UTF-8");				// check~!!!
    	
    	String nameStr = request.getParameter("name");			//-- ํ…์ŠคํŠธ๋ฐ•์Šค... ๋‹จ์ผ๊ฐ’ ์ˆ˜์‹ 
    	String genderStr = request.getParameter("gender");		//-- ๋ผ๋””์˜ค๋ฒ„ํŠผ... ๋‹จ์ผ๊ฐ’ ์ˆ˜์‹ 
    	String majorStr = request.getParameter("major");		//-- ์„ ํƒ์ƒ์ž... ๋‹จ์ผ๊ฐ’ ์ˆ˜์‹ 
    	//String hobbyStr = request.getParameter("hobby");
    	String[] hobbyArr = request.getParameterValues("hobby");//-- ์„ ํƒ์ƒ์ž... ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	//-- ๋‹ค์ค‘ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•œ ์„ ํƒ์ž์ผ ๊ฒฝ์šฐ...
    	// ใ€ŽgetParameterValues()ใ€๋กœ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	// -> ๋ฐฐ์—ด ๋ฐ˜ํ™˜
    	
    	// name ์ˆ˜์‹  ๋ฐ ์ฒ˜๋ฆฌ -> ํŠน์ด์‚ฌํ•ญ ์—†์Œ
    	
    	// gender ์ˆ˜์‹  ๋ฐ ์ฒ˜๋ฆฌ
    	String gender = "";
    	if(genderStr.equals("M"))
    		gender = "๋‚จ์ž";
    	else if(genderStr.equals("F"))
    		gender = "์—ฌ์ž";
    	else
    		gender = "ํ™•์ธ๋ถˆ๊ฐ€";
    	
    	// major ์ˆ˜์‹  ๋ฐ ์ฒ˜๋ฆฌ -> ํŠน์ด์‚ฌํ•ญ ์—†์Œ~!!!
    	
    	// hobby ์ˆ˜์‹  ๋ฐ ์ฒ˜๋ฆฌ
    	String hobby = "";
    	if(hobbyArr != null)
    	{
    		for(String item : hobbyArr)
    			hobby += "[" + item + "]";
    	}
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>RadioSelectOk.jsp</title>
    </head>
    
    <body class="section">
    
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 03</h1>
    	<hr>
    	<p>RadioSelect.jsp -> RadioSelectOk.jsp</p>
    </div>
    
    <div class="layout">
    	<h2>radio, select ๋ฐ์ดํ„ฐ ์ „์†ก</h2>
    	<ul>
    		<li><span class="tit">์ด๋ฆ„: </span><%=nameStr %></li>
    		<li><span class="tit">์„ฑ๋ณ„: </span><%=genderStr %>(<%=gender %>)</li>
    		<li><span class="tit">์ „๊ณต: </span><%=majorStr %></li>
    		<li><span class="tit">์ทจ๋ฏธ: </span><%=hobby %></li>
    	</ul>
    	
    </div>
    </body>
    </html>

     


    ใ„ดใ„ดCheckBox.jsp_checkbox ๋ฐ์ดํ„ฐ ์ „์†ก

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>CheckBox.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 04</h1>
    	<hr>
    	<p>CheckBox.jsp -> CheckBoxOk.jsp</p>
    </div>
    
    <div class="layout">
    	<h2>checkbox, textarea ๋ฐ์ดํ„ฐ ์ „์†ก</h2>
    	
    	<form action="/WebApp05/CheckBoxOk.jsp" method="post">
    		<div class="input_box" style="display: inline-block;">
    			<ul>
    				<li>
    					<span class="tit">์ด๋ฆ„</span><input type="text" name="name" class="txt">
    				</li>
    				<li>
    					<span class="tit">๋ฉ”๋ชจ</span><textarea name="meno" rows="5" cols="30"></textarea>
    				</li>
    				<li style="display:flex;">
    					<span class="tit">์ด์ƒํ˜•</span>
    					<div>
    						<label><input type="checkbox" name="checkGruop" value="์กฐํœด์ผ">์กฐํœด์ผ</label>
    						<label><input type="checkbox" name="checkGruop" value="์œ ์žฌ์„">์œ ์žฌ์„</label>
    						<label><input type="checkbox" name="checkGruop" value="๋ฅ˜์ง„">๋ฅ˜์ง„</label>
    						<label><input type="checkbox" name="checkGruop" value="์ •์šฐ์„ฑ">์ •์šฐ์„ฑ</label>
    						<label><input type="checkbox" name="checkGruop" value="์ฐจ์€์šฐ">์ฐจ์€์šฐ</label>
    						<br>
    						
    						<label><input type="checkbox" name="checkGruop" value="์นด๋ฆฌ๋‚˜">์นด๋ฆฌ๋‚˜</label>
    						<label><input type="checkbox" name="checkGruop" value="์„œ๊ฐ•์ค€">์„œ๊ฐ•์ค€</label>
    						<label><input type="checkbox" name="checkGruop" value="๋ฐ•์€๋นˆ">๋ฐ•์€๋นˆ</label>
    						<label><input type="checkbox" name="checkGruop" value="๊ณ ์œค์ •">๊ณ ์œค์ •</label>
    					</div>
    				</li>
    			</ul>
    			<div class="btn_box"><input type="submit" value="์ „์†กํ•˜๊ธฐ" class="btn control"></div>
    		</div>
    	</form>
    </div>
    
    </body>
    </html>

    ใ„ดใ„ดCheckBoxOk.jsp_checkbox ๋ฐ์ดํ„ฐ ์ „์†ก

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ
    	
    	// ์ด์ „ ํŽ˜์ด์ง€(CheckBox.jsp)๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	//-> name, memo, checkGroup
    	
    	// ํ•œ๊ธ€ ๊นจ์ง ๋ฐฉ์ง€ ์ฒ˜๋ฆฌ
    	//**request.getParameter ๋‹ค์Œ์— ํ•˜๋ฉด ์ ์šฉ ์•ˆ๋จ~!!!**
    	request.setCharacterEncoding("UTF-8");
    
    	// ์ด๋ฆ„ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	String name = request.getParameter("name");
    	
    	// ๋ฉ”๋ชจ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 			check~!!!
    	//**textarea์˜ ๊ฐœํ–‰์€ <**
    	String memo = request.getParameter("meno");
    	//memo = memo.replace("\n","<br>");
    	memo.replaceAll("\n","<br>");
    	// ** ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž๋„ replace ๊ฐ€๋Šฅ **
    	//-- JDK 1.5 ์ดํ›„๋ถ€ํ„ฐ ใ€ŽreplaceAll()ใ€ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    	//	ใ€ŽreplaceAll()ใ€ ์„ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ memo ๋ณ€์ˆ˜์— ๋Œ€์ž…
    	//	"์•ˆ๋…•ํ•˜์„ธ์š”\n๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.\n์ด์œค์ˆ˜์ž…๋‹ˆ๋‹ค."
    	//	-> "์•ˆ๋…•ํ•˜์„ธ์š”<br>๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.<br>์ด์œค์ˆ˜์ž…๋‹ˆ๋‹ค."
    	
    	// ์ด์ƒํ˜• ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	//String checkGroup = request.getParameter("checkGroup");		//(x)
    	
    	// โ€ป ๊ฐ™์€ name ์†์„ฑ์˜ ๊ฐ’์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ฐ›๋Š” ๊ฒฝ์šฐ(์ฆ‰, ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜์‹ ํ•˜๋Š” ๊ฒฝ์šฐ)
    	//	  ์ด๋ฅผ ๋ฐฐ์—ด๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. -> ใ€ŽgetParameterValues()ใ€
    
    	String[] checkGroup = request.getParameterValues("checkGruop");
    	// โ€ป ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ..
    	//	์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „ํ˜€ ์—†๋Š” ๊ฒฝ์šฐ
    	// ๋ฐฐ์—ด์˜ ๊ฐ’ ์ž์ฒด๊ฐ€ null์ด ๋˜์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—
    	// null ์— ๋Œ€ํ•œ ํ™•์ธ(๊ฒ€์‚ฌ) ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.		check~!!!
    	
    	String str = "";
    	if(checkGroup != null)
    	{
    		for(String item: checkGroup)
    				str += "["+ item + "]";
    	}
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>CheckBoxOk.jsp</title>
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 04</h1>
    	<hr>
    	<p>CheckBox.jsp -> CheckBoxOk.jsp</p>
    </div>
    
    <div class="layout">
    	<h2>checkbox, textarea ๋ฐ์ดํ„ฐ ์ „์†ก</h2>
    
    	<ul>
    		<li><span class="tit">์ด๋ฆ„: </span><%=name %></li>
    		<li><span class="tit">๋ฉ”๋ชจ: </span><%=memo %></li>
    		<li><span class="tit">์ด์ƒํ˜•:</span><%=str %></li>
    	</ul>
    </div>
    
    </body>
    </html>

    ใ„ดใ„ดTable.jsp_JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 05

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Table.jsp</title>
    
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 05</h1>
    	<hr>
    	<p>Table.jsp -> TableOk.jsp</p>
    </div>
    
    <div class="layout">
    	
    	<form action="/WebApp05/TableOk.jsp">
    		<table style="max-width:500px;width:100%;">
    			<tr>
    				<th>๊ฐ€๋กœ</th>
    				<td><input type="text" name="su1" class="txt"></td>
    			</tr>
    			<tr>
    				<th>์„ธ๋กœ</th>
    				<td><input type="text" name="su2" class="txt"></td>
    			</tr>
    			<tr>
    				<td colspan="2">
    					<button type="submit" class="btn control" style="width:280px;">๊ฒฐ๊ณผ ํ™•์ธ</button>
    				</td>
    			</tr>
    		</table>
    	</form>
    </div>
    </body>
    </html>

    ใ„ดใ„ดTableOk.jsp_ JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 05

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ
    	
    	// ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ๋ฒ•
    	/* // ์ด์ „ ํŽ˜์ด์ง€(Table.jsp)๋กœ๋ถ€ํ„ฐ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    	//->su1, su2
    	int su1 = Integer.parseInt(request.getParameter("su1"));
    	int su2 = Integer.parseInt(request.getParameter("su2"));
    	int num = 1;
    	
    	
    	//[๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ํ‘ผ ๋ฐฉ๋ฒ•]
    	String result = "";
    	if((su1*su2)!=0){
    		result += "<table>";
    		for(int i=0; i<su2; i++)
    		{
    			result += "<tr>";
    			for(int j=0; j<su1; j++)
    			{
    				result += "<td>" + (num++) + "</td>";
    			}
    			result += "</tr>";
    		}
    		result += "</table>";
    	} */
    	
    	String s1 = request.getParameter("su1");
    	String s2 = request.getParameter("su2");
    	
    	int n1=0;
    	int n2=0;
    	
    	//ํ…Œ์ด๋ธ” ์•ˆ์—์„œ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ ๋‚˜๊ฐˆ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”
    	int n=0;
    	
    	try
    	{
    		// ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ ํ˜• ๋ณ€ํ™˜
    		n1 = Integer.parseInt(s1);
    		n2 = Integer.parseInt(s2);
    	}
    	catch(Exception e)
    	{
    		System.out.println(e.toString());
    	}
    	
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>TableOk.jsp</title>
    
    <!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>JSP๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์‹ค์Šต 05</h1>
    	<hr>
    	<p>Table.jsp -> TableOk.jsp</p>
    </div>
    
    <div class="layout">
    
    	<!-- [๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ๋ฒ•] -->
    	<%-- <%
    	if((su1*su2)!=0){
    	%>
    	<table>
    		<%
    		for(int i=0; i<su2; i++)
    		{%>
    			<tr>
    			<%
    			for(int j=0; j<su1; j++)
    			{%>
    				<td>
    					<%=num++ %>
    				</td>
    			<%}%>
    			</tr>
    		<%
    		}%>
    	</table>
    	<%
    	} 
    	%> --%>
    	
    	<!-- [๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ํ‘ผ ๋ฐฉ๋ฒ•] -->
    	<%-- <%=result %> --%>
    	
    	<!-- [ํ•จ๊ป˜ ํ‘ผ ๋ฐฉ๋ฒ•] -->
    	<table>
    	<%
    	for(int i=0; i<n2; i++)
    	{
    	%>	
    		<tr>
    			<%
    			for(int j=0; j<n1; j++)
    			{
    			%>
    				<td><%=++n %></td>
    			<%
    			} 
    			%>
    		</tr>
    	<%	
    	}
    	%>
    	</table>
    	
    </body>
    </html>