국비지원학원/HTML,JavaScript,jQ

87일차-JavaEE_HttpServletRequest

초코맛 2019. 3. 8. 04:44
반응형
*HttpServletRequest
  • 요청(접속자의 정보, 접속자가 입력하는 값들)에 대한 처리

  •  

  • 요청URL : request.getRequestURL( )
  • 요청 URI : request.getRequestURI( )
    • servlet_prj/test
  • 요청 프로토콜 : request.getProtocol( )
    • Http://
  • 서버이름 : request.getServerName( )
    • domain
  • 서버 port : request.getServerPort( )
    • 80
  • 서블릿 경로 : request.getServletPath( )
    •  servlet_prj/test
  • 요청한 접속자 IP얻기 : request.getRemoteAddr( )
    • 211.98.63....
  • 요청한 접속자의 port 얻기 : request.getRemotePort( )
    • 클라이언트가 연 port (알수 없음)
  • QueryString얻기 : request.getQueryString( )  //get방식만 존재
    • 이름=값&이름=값...(get방식 일때)   /   null(post방식 일때)
    • (요청은 get방식과 post방식이 있는데, get방식만 queryString이 있고, post방식은 HTTP header에 붙어 들어감=>null이 나온다.)
  • 요청한 parameter 받기 : request.getParameter("이름")
  • 요청 parameter의 이름이 같은 경우에 값받기 : request.getParameterValues( "이름" )
    • String[ ]
    • //웹에서 옮겨다니는 데이터는 String밖에 없다
  • parameter의 이름들 : request.getParameterNames( )
    • (유니멀레이션)Enumeration<String> (=iterater와 비슷+쓰는건list와 비슷//요즘엔 잘쓰지 않는다.)
package day0227;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
//1.HttpServlet상속
public class UseHttpServletRequest extends HttpServlet {
     //2.요청방식에 대한 처리 method를 Override
     //service method는 요청방식이 GET/POST 모두 처리할 수 있다.
     ////doget은 get만 dopost는 post만 가능한것////
     protected void service(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           //3.응답방식(MIME_Type)에 대한 설정
           response.setContentType("text/html;charset=UTF-8");
           //4.출력 스트림 얻기
           PrintWriter out=response.getWriter();
           
           ///ip막기
           String ip=request.getRemoteAddr();
           String[] blockIP=  {"133","141","149","157","144","152"};
           //경찰청으로 보낼예정
           boolean moveFlag=false;
           for(int i=0; i<blockIP.length; i++) {
                if(ip.endsWith(blockIP[i])) {//이 숫자로  마지막에 한번이라도 끝났니?
                     moveFlag=true;
                }//end if
           }//end for
           if(moveFlag) {
                response.sendRedirect("http://www.police.go.kr/main.html");
           }//end if
           
           //5.출력 내용 작성
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           //localhost를 ip주소로 바꾸면 서버가 꺼져도?????  자원을 사용할 수 있다?이때 background url도 바꿔주어야!
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           
/*         out.print("<a href='");//한줄로
           out.print("test.jsp'>클릭");
           out.println("</a>");//다음줄로 이동=>겉보기엔 차이가  없으나 소스보기시에 다름!!
           out.println("<br/>aaaa");*/
           
           out.println("\t<ul>");/*소스보기시에 html로 만든것처럼  보이기 위해서\t를 넣어 라인을 맞추어준다.*/
           out.print("\t\t<li><strong>요청 URL</strong> :");
           out.print(request.getRequestURL());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 프로토콜</strong>  :");
           out.print(request.getProtocol());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 방식</strong> :");
           out.print(request.getMethod());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청  서버명(=domain)</strong> :");
           out.print(request.getServerName());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 서버Port</strong>  :");
           out.print(request.getServerPort());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 URI</strong> :");
           out.print(request.getRequestURI());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 Servlet  Path</strong> :");
           //context path를 제외한 하위 경로
           out.print(request.getServletPath());
           out.println("</li>");
           
           out.print("\t\t<li><strong>요청 QueryString</strong>  :");
           out.print(request.getQueryString());//GET방식만 존재
           out.println("</li>");
           
           out.print("\t\t<li><strong>이름이 유일한 웹의  Parameter(클라이언트가 서버로 넘겨주는) 값받기</strong> :");
           out.print(request.getParameter("name"));
           out.println("</li>");
           
           out.print("\t\t<li><strong>이름이 같은 웹의 Parameter  값받기</strong> :");
           //out.print(request.getParameter("age"));//배열의  마지막 나이만 나온다.
           String[] ageArr=request.getParameterValues("age");
           if(ageArr!=null) {
                 for(int i=0; i<ageArr.length; i++) {
                  out.print(ageArr[i]);
                  out.print("살&nbsp;");
                 }//end for
           }else {
           out.println("나이 없음");
           }//end esle
           out.println("</li>");
           
           out.print("\t\t<li><strong>Parameter의  이름받기</strong> :");
           Enumeration<String> en=request.getParameterNames();
            while(en.hasMoreElements()) {//파라메터의 이름이  있다면
                  out.print(en.nextElement());//값을 가져오고  다음방으로 포인터 이동.
                  out.print(" ");
            }//end for
           out.println("</li>");
           
           out.print("\t\t<li><strong>접속자의 IP</strong> :");
           out.print(request.getRemoteAddr());
           out.print("&nbsp;/&nbsp;");
           out.print(request.getRemoteHost());
           out.println("</li>");
           
           out.print("\t\t<li><strong>접속자의 Port</strong>  :");
           out.print(request.getRemotePort());
           out.println("</li>");
           out.println("\t</ul>");
           out.println("\t<a  href='use_request?name=jungyun.kim&age=31&age=30'>GET요청</a><br/>");/*use_request : 나를 다시 호출?*/
           out.println("\t<form action='use_request'  method='post'>");
           
           out.println("\t<input type='hidden' name='name'  value='seonui.kong'/>");
           out.println("\t<input type='hidden' name='age'  value='28'/>");
           out.println("\t<input type='hidden' name='age'  value='26'/>");
           
           out.println("\t<input type='submit' value='POST전송'  class='btn'/>");
           out.println("\t</form>");
           
           out.write("\t\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//service
}//class




*HTML Form Control의 입력값 받기
  • 파라메터의 처리 (데이터형이 String)
    • //이름이 되게 중요함(이름이 틀리면 못받아온다./이때의 이름은
    • //id하고는 아무 상관이 없음! id만 주곤 값이 왜 안넘어가지~~많이들 하는 실수
    • 이름 중요<input type="000" name="000a"
                     <select name="000b"
                     <textarea name="000c"
    • 이름을 기반으로 QueryString이 생성된다. //또는 post로 넘겨줄 값이 생성.
      • ex) 서블릿명?a=입력한 값&b=사용자가선택한값&c=사용자가입력한값 //이렇게 전송
      • text/20/java로 값들이 차례로 들어갔다면
          • =>parameter
          • =>QueryString
    • parameter명 유일 : <input type="text,password,hidden,checkbox(하나),radio...>,<select>,<textarea>
      • request.getParameter("이름")//a가 들어가면 text~~잘나옴
    • parameter 중복 : <input type="checkbox"//text도, password도 같은이름으로 여러개를 받을땐  다
      • request.getParameterValues("이름")//String[ ]잘 나온다.
 



<<<카타리나홈 경로잡기>>>>

cmd에서 apach-tomcat-8.5.37을 잡아 bin의 startup.bat을 실행시키면 창하나가 더뜨면서  http://localhost:8080/가 접속가능해 진다.

--자동으로 카타리나홈이 잡혀있다?? 원래 깔고 셀프로 설정해 주어야한다>>>>

<<원랜 안뜬다??그래서 지정해주자면 env.bat을 수정해서 경로를 잡아줘 실행하고 바로 수행가능해짐


*재조합
  • byte[ ]을 만들어서 charset대입시켜 새로운 문자열을 생성한다.
  • new String(getBytes("8859_1"), "UTF-8")
  •         3.문자열이 된다.   1. 1짜리가         2. 3개로 묶여
  • //=>charector encoding
  • 8.5는 get방식 encoding이 자동으로 된다.


*Post방식의 한글처리
  • 주의: request객체가 제공하는 method를 사용하기 에 코딩해야 한다.//첫줄에 한다고 생각해랏
  • request.setCharacterEncoding("charset"); //한번에 처리가 된다.
  • ///원래 클라이언트가 인코딩을 하고 서버가 디코딩을 해야하지만 서보측에서의 관점에서 봤을때 인코딩이므로 인코딩이라고 한다

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css"  href="http://localhost:8080/servlet_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;
           position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px;  font-weight:bold; text-align:center;
                /* padding-top: 35px */ position:absolute;  top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px;  padding-right:20px; }
</style>
<!-- jQuery CDN -->
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript">
     $(function(){
           $("#btnGet").click(function(){
                //HTML Form Control의 유효성 검증 후 submit날림
                $("#getFrm").submit();
           });//click
           $("#btnPost").click(function(){
                //HTML Form Control의 유효성 검증 후 submit날림
                $("#postFrm").submit();
           });//click
     });//ready
</script>
</head>
<body>
<div id="wrap">
     <div id="header">
           <div id="headerTitle">SIST Class4</div>
     </div>
     
     <div id="container">
           <div id="getDiv">
                <h2>이름이 유일한 HTML Form Control의  값전송-GET</h2>
                <form method="get" action="../param_value"  id="getFrm">
                <table>
                <tr>
                     <td><label>이름</label></td>
                     <td><input type="text" name="name"  class="inputBox"></td>
                </tr>
                <tr>
                     <td><label>나이</label></td>
                     <td><input type="password" name="age"  class="inputBox"></td>
                </tr>
                <tr>
                     <td><label>메일링 여부</label></td>
                     <!-- checkbox가 하나라면 배열로 처리되지  않는다. -->
                     <td><input type="checkbox"  name="mailing">수신</td>
                </tr>
                <tr>
                     <td><label>성별</label></td>
                     <td>
                     <input type="radio" name="gender"  value="남자">남자
                     <input type="radio" name="gender"  value="여자"checked="checked">여자
                     </td>
                </tr>
                <tr>
                     <td><label>숨김값</label></td>
                     <td><input type="hidden" name="addr"  value="서울시 강남구 역삼동 한독빌딩"></td>
                </tr>
                <tr>
                     <td><label>사용메일</label></td>
                     <td>
                     <select name="email" class="inputBox">
                           <option  value="gmail.com">--지메일--</option>
                           <option  value="naver.com">--네이버메일--</option>
                           <option  value="daum.net">--다음메일--</option>
                           <option  value="korea.com">--코리아메일--</option>
                           <option  value="hotmail.com">--핫메일--</option>
                     </select>
                     </td>
                </tr>
                <tr>
                     <td><label>가입인사</label></td>
                     <td><textarea  style="width:300px;height:100px;"name="greeting"></textarea></td>
                </tr>
                <tr>
                     <td colspan="2">
                           <input type="button" value="전송"  class="btn" id="btnGet"/>
                     </td>
                </tr>
                </table>
                </form>
           </div>
           
           <div id="postDiv">
                <h2>이름이 유일한 HTML Form Control의  값전송-POST</h2>
                <form method="post" action="../param_value"  id="postFrm">
                <table>
                <tr>
                     <td><label>이름</label></td>
                     <td><input type="text" name="name"  class="inputBox"></td>
                </tr>
                <tr>
                     <td><label>나이</label></td>
                     <td><input type="password" name="age"  class="inputBox"></td>
                </tr>
                <tr>
                     <td><label>메일링 여부</label></td>
                     <!-- checkbox가 하나라면 배열로 처리되지  않는다. -->
                     <td><input type="checkbox"  name="mailing">수신</td>
                </tr>
                <tr>
                     <td><label>성별</label></td>
                     <td>
                     <input type="radio" name="gender"  value="남자">남자
                     <input type="radio" name="gender"  value="여자"checked="checked">여자
                     </td>
                </tr>
                <tr>
                     <td><label>숨김값</label></td>
                     <td><input type="hidden" name="addr"  value="서울시 강남구 역삼동 한독빌딩"></td>
                </tr>
                <tr>
                     <td><label>사용메일</label></td>
                     <td>
                     <select name="email" class="inputBox">
                           <option  value="gmail.com">--지메일--</option>
                           <option  value="naver.com">--네이버메일--</option>
                           <option  value="daum.net">--다음메일--</option>
                           <option  value="korea.com">--코리아메일--</option>
                           <option  value="hotmail.com">--핫메일--</option>
                     </select>
                     </td>
                </tr>
                <tr>
                     <td><label>가입인사</label></td>
                     <td><textarea  style="width:300px;height:100px;"name="greeting"></textarea></td>
                </tr>
                <tr>
                     <td colspan="2">
                           <input type="button" value="전송"  class="btn" id="btnPost"/>
                     </td>
                </tr>
                </table>
                </form>
           </div>
     </div>
     
     <div id="footer">
           <div id="footerTitle">copyright&copy; all right  reserved. class 4.</div>
     </div>
</div>
</body>
</html>
package day0227;
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;
import kr.co.sist.util.HangulConv;
/**
* HTML Form Control의 값 받기
* @author owner
*/
@SuppressWarnings("serial")
public class UseWebParameter extends HttpServlet {
     //만약 파일의 이름은 있으나 요청방식의 처리메소드가  잘못정의되어있을때 405 get으로 불렀는데, doget이 없을때!
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
                
           //parameter 값 받기 : Tomcat 8.0부터는 GET방식의  Parameter는 한글이 깨지지 않는다.(post는 깨짐)
           String name=request.getParameter("name");//text
           String age=request.getParameter("age");//password
           String  mailing=request.getParameter("mailing");//checkbox
           String gender=request.getParameter("gender");//radio
           String  addr=request.getParameter("addr");//hidden//parameter와 변수의  이름은 달라도 상관없다!
           String email=request.getParameter("email");//select
           String  greeting=request.getParameter("greeting");//textarea
           out.println("\t<div>");
           out.println("\t<h2>GET방식으로 요청한 파라메터 값  처리</h2>");
           out.println("\t<div>");
           out.println("\t<ul>");
           
           out.print("\t<li> 이름 : <strong>");
            //out.print(HangulConv.toUTF(name));//HangulConv.toUTF()->tomcat8.5에는 필요가 없음..자동 변환
           //Tomcat 8.x 이하 일때는 한글처리를 해야 한다.
           out.print(name);
           out.println("</strong></li>");
           
           out.print("\t<li> 나이 : <strong>");
           out.print(age);
           out.println("</strong></li>");
           
           out.print("\t<li> 메일링 여부 : <strong>");
           out.print(mailing);//value속성이 없는 checkbox는  체크되면 on, 체크되지 않으면 null
           out.println("</strong></li>");
           
           out.print("\t<li> 성별 : <strong>");
           //out.print(HangulConv.toUTF(gender));
           out.print(gender);
           out.println("</strong></li>");
           
           out.print("\t<li> 주소 : <strong>");
           //out.print(HangulConv.toUTF(addr));
           out.print(addr);
           out.println("</strong></li>");
           
           out.print("\t<li> 이메일 : <strong>");
           out.print(email);
           out.println("</strong></li>");
           
           out.print("\t<li> 가입인사 : <strong>");
           //out.print(HangulConv.toUTF(greeting));
           out.print(greeting);
           out.println("</strong></li>");
           //get방식은 항목마다 변환해주지만 post는 항목마다X
           
           out.println("\t</ul>");
           out.println("\t</div>");
           out.println("\t<a  href='day0227/test_param.html'>뒤로</a>");
           out.println("\t</div>");
                
           out.write("\t\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doGet
     protected void doPost(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           //post한글처리
           request.setCharacterEncoding("UTF-8");//따라서 영향을  받지 않게  위쪽에 존재해야 한다.
           
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           
           //post방식의 한글 처리(Tomcat의 모든 버전에 동일하게  적용)
           //request.setCharacterEncoding("UTF-8");//따라서  영향을 받지 않게  위쪽에 존재해야 한다.
           
           //parameter 값 받기 : Tomcat 8.0부터는 GET방식의  Parameter는 한글이 깨지지 않는다.(post는 깨짐)
           //인코딩을 거쳐 한자에 3byte인 한글을 1패킷 8byte씩  잘라 값 앞에는 %를 붙여 넘어가게
           String name=request.getParameter("name");//text
           String age=request.getParameter("age");//password
           //request.setCharacterEncoding("UTF-8");//이렇게  중간에 들어가면 일을 하지 않는다.
           String  mailing=request.getParameter("mailing");//checkbox
           String gender=request.getParameter("gender");//radio
           String  addr=request.getParameter("addr");//hidden//parameter와 변수의  이름은 달라도 상관없다!
           String email=request.getParameter("email");//select
           String  greeting=request.getParameter("greeting");//textarea
           out.println("\t<div>");
           out.println("\t<h2  style='color:#0000FF;'>POST방식으로 요청한 파라메터 값  처리</h2>");
           out.println("\t<div>");
           out.println("\t<ul>");
           
           out.print("\t<li> 이름 : <strong>");
           out.print(name);
           out.println("</strong></li>");
           
           out.print("\t<li> 나이 : <strong>");
           out.print(age);
           out.println("</strong></li>");
           
           out.print("\t<li> 메일링 여부 : <strong>");
           out.print(mailing);//value속성이 없는 checkbox는  체크되면 on,  체크되지 않으면 null
           out.println("</strong></li>");
           
           out.print("\t<li> 성별 : <strong>");
           out.print(gender);
           out.println("</strong></li>");
           
           out.print("\t<li> 주소 : <strong>");
           out.print(addr);
           out.println("</strong></li>");
           
           out.print("\t<li> 이메일 : <strong>");
           out.print(email);
           out.println("</strong></li>");
           
           out.print("\t<li> 가입인사 : <strong>");
           out.print(greeting);
           out.println("</strong></li>");
           
           
           out.println("\t</ul>");
           out.println("\t</div>");
           out.println("\t<a  href='day0227/test_param.html'>뒤로</a>");
           out.println("\t</div>");
                
           out.write("\t\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doPost
}//class
package kr.co.sist.util;
import java.io.UnsupportedEncodingException;
public class HangulConv {
     public static String toUTF(String kor) {
           if(kor!=null || !"".equals(kor)) {
     //kor.equals("")변수자체가 null일때도 있어서 쓰던애는 문제가  나지만, 저렇게 고쳐쓰면 nullpointer발생하지 않는다.  
                try {
                     kor=new  String(kor.getBytes("8859_1"),"UTF-8");//3byte씩 조합
                } catch (UnsupportedEncodingException e) {
                     e.printStackTrace();
                }//end catch
           }//end if
           return kor;
     }//toUTF
     public static String toEUC(String kor) {
           if(kor!=null || !"".equals(kor)) {
                try {
                     kor=new  String(kor.getBytes("8859_1"),"EUC-KR");//2byte씩 조합
                } catch (UnsupportedEncodingException e) {
                     e.printStackTrace();
                }//end catch
           }//end if
           return kor;
     }//toUTF
}


반응형