'JSP, JAVA'에 해당되는 글 80건

  1. 2010/03/11 visualp simple random using integer
  2. 2010/03/10 visualp Uploadify + struts 1.3 연동 하기
  3. 2010/03/08 visualp Struts File Upload Example
  4. 2010/03/02 visualp url rewrite filter 사용 방법
  5. 2010/03/02 visualp javascirpt escape--> java에서
  6. 2010/03/02 visualp jsp get 방식 한글처리
  7. 2010/02/18 visualp fck editor 2.4 설정 할 것들
  8. 2010/02/18 visualp fck editor 2.4 설정 할 것들
  9. 2010/02/18 visualp fck editor 2.6 설치 해보자
  10. 2010/02/18 visualp <c:choose> 다중 if 처리 할 때 jstl를 이용해보자 .

subeclipse 업데이트 주소

JSP, JAVA RSS Icon ATOM Icon 2012/02/13 16:46 visualp
http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA


[eclipse svn update url]
http://subclipse.tigris.org/update_1.6.x
2012/02/13 16:46 2012/02/13 16:46
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/455

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/455

jstl,<c:set name="" value="" >

JSP, JAVA RSS Icon ATOM Icon 2011/03/22 21:33 visualp
jstl,<c:set name="" value="" scope="page" />
c:set은 기본으로 page스코프 이며 생략 되어 사용 가능 .
request 스코프를 사용해야 foward 했을때 값을 넘길 수 있음

default -scope : page <---

2011/03/22 21:33 2011/03/22 21:33
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/372

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/372

jstl, map 데이터 처리

JSP, JAVA RSS Icon ATOM Icon 2011/03/22 21:03 visualp
여러개의 List 를 가지고 있는 Map 객체를 JSTL에서 처리하는 예.
        <c:forEach items="${serviceGroupMap}" var="serviceGroupListMap">
        <div id="${fn:replace(fn:replace(serviceGroupList.key, ' ',''),'&','')}">
            <div class="toolbar">
                <h1>${serviceGroupListMap.key}</h1>
                <a class="button back" href="#">Back</a>
            </div>
            <ul class="edgetoedge">
                <c:forEach items="${serviceGroupListMap.value}" var="serviceGroup">
                <li class="arrow"><a id="0" href="systems.html">
                <span class="severity${serviceGroup.severity }">&nbsp;&nbsp;</span>
                <span>${serviceGroup.name}</span>
                </a></li>
                </c:forEach>
            </ul>
        </div>
        </c:forEach>

기타 JSTL 관련 참조 http://www.cs.wcupa.edu/rkline/Java/jstl-examples.html
2011/03/22 21:03 2011/03/22 21:03
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/371

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/371

EL , 연산자 정리

JSP, JAVA RSS Icon ATOM Icon 2011/03/22 20:05 visualp
  • ageScope page scope 의 변수들
    requestScope request scope 의 변수들
    sessionScope session scope 의 변수들
    applicationScope application scope 의 변수들
    param parameter 변수들 문자열
    paramValues parameter 변수들 문자열 배열
    header HTTP request 헤더
    headerValues HTTP request 헤더 문자열 배열
    initParam 컨텍스트 초기 변수 web.xml 에서 지정
    cookie 쿠키 변수들
    pageContext 현재 페이지의 pageContext 객체

EL 연산자

  • 연산자 구분 연산자
    관계 < lt > gt <= le >= ge == eq != ne
    산술 + - * / div % mod
    논리 && and || or ! not
    Empty empty

-연산자들간의 우선순위는 다음과 같다.
1. [] .
2. ()
3. - (단항) not ! empty
4. * / div % mod
5. + - (이항)
6. < > <= >= lt gt le ge
7. == != eq ne
8. && and
9. || or

2011/03/22 20:05 2011/03/22 20:05
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/370

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/370

EL , from 값 처리 하기

JSP, JAVA RSS Icon ATOM Icon 2011/03/22 19:58 visualp
input type="test"
 --> ${param.identifier} OR ${param["identifier"]}

=================================
input type="checkbox" 다중
${paramValues.identifier[0]}
${paramValues.identifier[1]}


${paramValues.identifier[2]}

2011/03/22 19:58 2011/03/22 19:58
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/369

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/369

jstl , foreach, 구구단

JSP, JAVA RSS Icon ATOM Icon 2011/03/21 22:09 visualp


 JSTL예제(c:forEach),(구구단)  수업  2006/09/28 12:42

 http://blog.naver.com/kabsa22/130009281235


<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 포맷 라이브러리를 위한 taglib선언 -->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!-- 엡 브라우저에서 전달한 메세지가 euc-kr로 인코딩되어 있다는 것을 알려준다. -->
<fmt:requestEncoding value="euc-kr"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
  <title>헤더 정보들</title>
 </head>
 <body>
  <h1>헤더 정보들</h1>
<!--헤더 정보들을 아이템으로 지정하고 아이템을 하나씩 추출해서forEach문으로 반복문 수행-->
  <c:forEach var="h" items="${ header }">
  <!-- 헤더이름을  key값으로 출력 -->
   <li><c:out value="${ h.key }"/> :
  <!-- 헤더값을 출력 -->
   <c:out value="${ h. value }"/>
  </c:forEach>
 </body>
</html>

===============================================================================

구구단

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 포맷 라이브러리를 위한 taglib선언 -->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!-- 엡 브라우저에서 전달한 메세지가 euc-kr로 인코딩되어 있다는 것을 알려준다. -->
<fmt:requestEncoding value="euc-kr"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
  <title>구구단</title>
 </head>
 <body>
  <h1 align=center>구구단</h1>
  <!-- t라는 이름으로 전달되는 파라미터의 값을 변수 t에저장한다. -->
  ,!--<c:set var="t" value="${ param.t }"/>-->
  <!-- 디폴터값을 5로 지정한다. -->
  <c:if test="${ empty t }">
   <c:set var="t" value="5"/>
  </c:if>
  <!-- forEach방목문을 돌려서1-9까지 값이 변화는 동안 계속 수행한다. -->
  <c:forEach var="a" begin="1" end="9" step="1">
   <c:out value="${t}"/> X <c:out value="${a}"/>=
   <c:out value="${ a*t }"/><br><!-- a*t값을 출력한다. -->
  </c:forEach>-->

<!--구구단2단에서9단까지바로 하면-->

<c:forEach var="a" begin="2" end="9" step="1">
   <c:forEach var="b" begin="1" end="9" step="1">
   <c:out value="${a}"/> X <c:out value="${b}"/>=
   <c:out value="${ a*b }"/><br><!-- a*b값을 출력한다. -->
   </c:forEach>
  </c:forEach>
 </body>
</html>
 태그저장  취소 구독하기
구독하기를 클릭해 보세요!이웃을 맺은 후 네이버me 메인에서
이웃의 새글을 보실수 있어요스크랩하기  덧글 1개  엮인글 쓰기
 

2011/03/21 22:09 2011/03/21 22:09
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/368

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/368

jsp, 한글 자르기

JSP, JAVA RSS Icon ATOM Icon 2011/03/11 13:07 visualp

public static String getSubStr(String _str, int _max){
 
  int int_byte        =        0;;
  String returnStr        =        "";
     
  for(int i=0 ; i<_max ; i++){
    String temp        =        "";
    temp        =        ""+_str.charAt(i);
    int_byte = int_byte+temp.getBytes().length;

    if(int_byte<=_max){
      returnStr        = returnStr+temp;       
    }else{
      break;
    }
 
  }
 
  return returnStr;
}

2011/03/11 13:07 2011/03/11 13:07
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/365

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/365

<struts2> bean 사용하기

JSP, JAVA RSS Icon ATOM Icon 2010/09/16 09:15 visualp

빈을 생성한다. 인스턴스화 한다. param 태그를 사용해서 프로퍼티를 초기화 할 수 있다.


bean 태그의 속성

   - id : 빈을 참조하기 위한 ID

   - name : 초기화할 클래스명, 자바빈즈 스펙을 따라야 한다.


예제를 보자.

<s:bean id="user" name="com.User">

     <s:param name="name" value="'Stone'" />

     <s:param name="age" value="'27'" />

</s:bean>


<s:property value="#user.name" />

<s:property value="#user.age" />


출력 결과

Stone 27


User의 인스턴스를 생성하고 nam과 age를 초기화 한걸 볼 수 있다.

2010/09/16 09:15 2010/09/16 09:15
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/312

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/312

싱글톤 패턴

JSP, JAVA RSS Icon ATOM Icon 2010/09/06 14:22 visualp

최근 singleton 패턴 구현에 대한 질문을 받은 적이 있다. singleton 패턴은 인스턴스를 하나만 생성해서 그 객체를 공유해서 사용하는 패턴이다. 일반적으로 DB Pool과 같이 전체 시스템에서 하나의 자원을 공유해서 사용할 때 이 패턴을 활용할 수 있다.

이 패턴을 구현하는 방법은 synchronized getInstance(), double-checked getInstance(), static final instance 등 다양한데, 내 경우는 Singleton 클래스를 구현하기 위해 static initializer를 활용한 방법을 제안했다.

public class Singleton {
  private static Singleton _instance;

  static {
    _instance = new Singleton();
  }

  private Singleton() {}

  public static Singleton getInstance() {
    return _instance;
  }

}

이렇게 구현한 경우 클래스가 로딩되면서 객체가 생성되기 때문에 객체가 이중으로 생성될 수 없고, 가장 확실한 방법인 synchronized getInstance()에 비해서 매번 메소드 호출시에 동기화 작업을 안해줘도 되는 장점이 있다. (synchronized 키워드가 있는 경우 메소드 실행이 약 100배 정도 늦어진다고 한다.)

하지만 오늘 관련 정보를 찾아보니, 글 작성자는 명백히 이 방법보다는 synchronized getInstance()가 좋다고 한다.

getInstance()에서 객체를 생성할 때 장점은 lazy initialization(객체가 사용될 때까지 객체 생성을 연기)이 가능하다는 점과 내부 구현을 Pooling 등으로 변경할 때 쉽게 변경이 가능하다는 것이다. (이 부분은 static initializer도 가능하다.)

다만 Singleton 패턴을 사용해도 ClassLoader 마다 개별적으로 인스턴스가 생성되기 때문에 이 부분은 주의를 기울여야 한다. 특히 Servlet Container는 여러개의 ClassLoader를 사용할 수 있으니 이 점을 인지하고 있어야 한다.

This entry was posted in Java and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
2010/09/06 14:22 2010/09/06 14:22
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/308

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/308

utf-8로 개발 하게 되면 별도의 한글처리 필터를 사용 할 필요 없다.
문제는 get방식으로 파라메터를 전달 해야 할경우가 생기면 아래 와 같이 처리 한다.

jsp 에서는 get방식이든 post방식이든 한글로된 파라미터 값을 넘겨줄때 그냥 주면 한글이 깨진다.
ajax가 파라미터를 utf-8로 전송하기때문인데 해결방법은
파라미터를 보낼 자바스크립트에서

escape(encodeURIComponent('한글'));

이렇게 인코딩을 하고
요청처리될 액션 페이지에서

URLDecoder.decode(request.getParameter("searchText"), "UTF-8");
이렇게 받으면된다.

===============================================================

escape, encodeURIComponent 둘중에 하나만 사용하려하면 한글이 깨져서 사용할 수 가 없다.

영어만 기억하는 더러운 세상

response.setHeader("Content-Type", "application/octet-stream; charset=euc-kr");

response.setHeader ("Content-Disposition", "attachment; filename="+URLEncoder.encode(fname,"UTF-8")+";");

이렇게 하면 한글파일 다운로드시 안깨진 파일명을 볼 수 있다.
2010/09/01 16:06 2010/09/01 16:06
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/307

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/307