2010년 9월 17일 금요일
[Javascript] 파일 upload 전 확장자 / 이미지 크기 체크
[Javascript] input type=file 값 초기화
2010년 9월 15일 수요일
2010년 3월 29일 월요일
Http Post 방식으로 header 설정 및 xml 데이터 전송
그 결과를 받는다.
첨부된 파일을 압축을 풀면 lib 디렉토리 안의 jar 파일들을
%CATALINA_HOME%\common\lib 에 위치시키거나
CALSSPASS를 잡아준 후 이용하면 된다.
<%@ page import="org.apache.commons.httpclient.HttpClient" %>
<%@ page import="org.apache.commons.httpclient.methods.PostMethod" %>
<%@ page import ="java.net.*" %>
<%@ page import ="java.io.*" %>
<%
String orgMsg="abcdefg";
String encMsg = null;
String header1 = "header1";
String header2 = "header2";
String header3 = "header3";
String ContentsType="text/xml";
AES256 aes = new AES256();
encMsg = aes.encrypt(msg);
String xmldata = "<? xml version=\"1.0\" encoding=\"euc-kr\"?> "
+"<! DOCTYPE lgtpims:schema>"
+"<schema targetns=\"http://www.aaa.com\""
+"version=\"1.0\" xmlns=\"http://www.w3.org/2000/10/XMLSchema\">"
+"<parameter method=\"add\">"
+"<element-value name=\"addelement\">aaaaa</element-value>"
+"<element-value name=\"addelementtype\">bbbbb</element-value>"
+"</parameter>"
+"</schema>" ;
String strURL = "http://www.aaa.com/aaa";
PostMethod post = new PostMethod(strURL);
post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1");
post.setRequestHeader("header1","header1");
post.setRequestHeader("header2",header2);
post.setRequestHeader("header3",header3");
post.setRequestHeader("Content-Length",Integer.toString(xmldata.length()));
post.setRequestBody(xmldata);
HttpClient httpclient = new HttpClient();
try {
int result = httpclient.executeMethod(post);
// Display status code
out.println("<br>Response status code: " + result);
// Display response
out.println("<br>Response header: "+post.getResponseHeader("Status-Line"));
out.println("<br>Response body: ");
out.println(post.getResponseBodyAsString());
} finally {
// Release current connection to the connection pool once you are done
post.releaseConnection();
}
%>
2010년 3월 18일 목요일
AJAX이용한 XML 데이터 전송 및 전송된 XML 데이터 받기
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function sendXML(){
createXMLHttpRequest();
var xml="<VCOUPON><TEL_NO>0101234567</TEL_NO><AMOUNT>1000</AMOUNT><RETURNCODE>00</RETURNCODE></VCOUPON>";
var url="http://localhost:8080/test/httpPostServer.jsp";
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.setRequestHeader("aaa","aaa");
xmlHttp.setRequestHeader("bbb","bbb");
xmlHttp.send(xml);
}
function handleStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
parseResults();
}
}
}
function parseResults(){
var responseDiv=document.getElementById("response");
if(responseDiv.hasChildNodes()){
responseDiv.removeChild(responseDiv.childNodex[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head>
<body>
<input type="button" value="보내기" onClick="sendXML();"><br>
<div id="response">
</div>
</body>
</html>
2.xmlPostServer.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import = "java.io.*" %>
<%@ page import = "javax.xml.parsers.DocumentBuilderFactory" %>
<%@ page import = "javax.xml.parsers.ParserConfigurationException" %>
<%@ page import = "org.w3c.dom.Document" %>
<%@ page import = "org.w3c.dom.NodeList" %>
<%@ page import = "org.xml.sax.SAXException" %>
<%!
public String readXMLFromRequestBody(HttpServletRequest request){
StringBuffer xml = new StringBuffer();
String line = null;
try{
BufferedReader reader = request.getReader();
while((line=reader.readLine())!=null){
xml.append(line);
}
}catch(Exception e){
System.out.println("Error reading XML:"+e.toString());
}
return xml.toString();
}
%>
<%
String xml=readXMLFromRequestBody(request);
Document xmlDoc = null;
try{
xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
}catch(ParserConfigurationException e){
System.out.println("ParserConfigurationException : "+e);
}catch(SAXException e){
System.out.println("SAXException : "+e);
}
System.out.println("header aaa : "+request.getHeader("aaa"));
System.out.println("header bbb : "+request.getHeader("bbb"));
NodeList TEL_NO = xmlDoc.getElementsByTagName("TEL_NO");
NodeList AMOUNT = xmlDoc.getElementsByTagName("AMOUNT");
NodeList RETURNCODE = xmlDoc.getElementsByTagName("RETURNCODE");
String telno = null;
String amount = null;
String returncode = null;
String responseText = "request text : ";
for(int i = 0; i < TEL_NO.getLength();i++){
telno = TEL_NO.item(i).getFirstChild().getNodeValue();
responseText = responseText+"TEL_NO : "+telno;
}
for(int i = 0; i < AMOUNT.getLength();i++){
amount = AMOUNT.item(i).getFirstChild().getNodeValue();
responseText = responseText+"AMOUNT : "+amount;
}
for(int i = 0; i < RETURNCODE.getLength();i++){
returncode = RETURNCODE.item(i).getFirstChild().getNodeValue();
responseText = responseText+"RETURNCODE : "+returncode;
}
response.setContentType("text/xml");
out.print(responseText);
%>
2010년 2월 23일 화요일
javascript 레이어 화면 따라다니기.
var scontentmain = document.getElementById("divID");
w2=document.documentElement.scrollLeft+150;
scontentmain.style.left=w2; //화면 가로로 따라다니기..
// scontentmain.style.top=h2; // 화면 세로로 따라다니기...
}
window.onscroll=staticize;
2010년 2월 3일 수요일
JSP 스트럿츠
[펌]원문 : http://sugame.tistory.com/273?srchid=BR1http%3A%2F%2Fsugame.tistory.com%2F273
<c:set var="${str}" scope="page">테스트</c:set>
<c:out value="하하하${str}" />
<%
member.setName("테스트");
member.setAge(30);
%>
<!-- 변수 선언 -->
<c:set var="str1" scope="page">는 학생입니다.</c:set>
<c:set var="str2" scope="page" value="는 회사원입니다." />
<!-- 출력문 -->
<c:out value="<b>${member.name}</b>${str1}" escapeXml="false" /><br>
<c:out value="${member.name}${str2}" /><br>
<!-- 빈 클래스에 값 넣기 -->
<c:set target="${member}" property="name">안닝하세요!!!</c:set>
<c:set target="${member}" property="name" value="hello!!" />
<c:out value="${member.name}" />
<c:set var="str1" value="${member.name}" />
<c:set target="${member}" property="name">오리!!</c:set>
<c:out value="${str1}" />
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>
<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>
<!-- dan 파라메터가 없을 경우 -->
<logic:notPresent parameter="dan">
<b>오류!! dan 파라메터가 null입니다.</b>
</logic:notPresent>
<logic:present parameter="dan">
<!-- dan 파라메터에 값이 없을 경우 -->
<logic:equal parameter="dan" value="">
<b>dan 파라메터에 출력할 구구단의 단(숫자)을 입력하세요</b>
</logic:equal>
<logic:notEqual parameter="dan" value="">
<c:set var="dan" value="<%= request.getParameter("dan") %>" />
<c:if test="${dan > 0 and dan <= 99}">
<c:out value="${dan}"/> 단입니다. <br/>
<table border=1>
<c:forEach var="i" begin="1" end="9" step="1">
<tr>
<td><c:out value="${dan} * ${i} = ${dan*i}"/></td>
</tr>
</c:forEach>
</table>
</c:if>
<!-- else if 문법이 없다. -->
<c:if test="${not (dan > 0 and dan <= 99)}">
<c:out value="1 ~ 99단까지만 출력 가능합니다."/>
</c:if>
</logic:notEqual>
</logic:present>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import = "java.util.Iterator" %>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>
<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>
forEach를 이용해 리스트 꺼내오기
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>
<table border="1">
<tr>
<td>번호</td><td>이름</td><td>나이</td>
</tr>
<c:forEach var = "item" items = "${member.memberList}" varStatus = "num">
<tr>
<td><c:out value="${num.count}"/></td>
<td><c:out value="${item.name}"/></td>
<td><c:out value="${item.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
if문에 보면 새로운 val 옵션이 있으며 그곳에 식이 참인지 거짓인지 저장된다.
<c:set var="name">홍길동aa</c:set>
<c:if test="${name == '홍길동'}" var="result">
당신은 홍길동입니다.
</c:if>
<c:if test="${not result}">
당신은 홍길동이 아니고 <b>${name}</b> 이군요!!
</c:if>
switch문
<c:set var="age" value="25"/>
<c:choose>
<c:when test="${age < 10}">
당신은 어린 아이군요!
</c:when>
<c:when test="${age < 20}">
당신은 팔팔한 10대군요!
</c:when>
<c:when test="${age < 30}">
당신은 건장한 20대군요!
</c:when>
<c:when test="${age < 40}">
당신은 30대군요!!
</c:when>
<c:otherwise>
당신은 40대 이상입니다.
</c:otherwise>
</c:choose>
-------------------------------------------------------------------------------- setTest1.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%-- Map 종류가 아닐 경우 --%>
<c:set var="userLevel" scope="session">
Sheriff, Bartender, Cowgirl
</c:set>
<%-- Map 종류일 때 --%>
<%
Hashtable user = new Hashtable();
session.setAttribute("user", user);
%>
<c:set target="${user}" scope="session" property="Level" value="king"></c:set>
<jsp:forward page="setTest2.jsp"/>
-------------------------------------------------------------------------------- setTest2.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%-- Map 종류가 아닐 경우 --%>
<c:forEach var="content" items="${userLevel}">
userLevle : ${content} <br>
</c:forEach>
<%-- Map 종류일 때 --%>
Map에 세팅한 user Level : ${user.Level}