public void replace(StringBuilder builder, String from, String to)

{

   int index = builder.indexOf(from);

   while (index != -1)

   {

       builder.replace(index, index + from.length(), to);

       index += to.length(); // Move to the end of the replacement

       index = builder.indexOf(from, index);

   }

}


출처: http://stackoverflow.com/questions/3472663/replace-all-occurences-of-a-string-using-stringbuilder

'Java' 카테고리의 다른 글

사이트 긁어오기  (0) 2015.08.19
mail 발송  (0) 2015.08.18
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.net.URL" %>

<%@ page import="java.io.BufferedReader" %>

<%@ page import="java.io.InputStreamReader" %>


<%

URL url = null;

url = new URL("사이트주소");

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));


String inputLine = null;

StringBuilder sb = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {

    sb.append(inputLine);

     .append("\r\n"); // 엔터키 삽입하는게 로딩이 더 빠르다.

    }

    in.close();


// String regex = "<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>"; // 이미지 태그 삭제용 정규식

%>

<%=sb

.toString()

// .replaceAll(regex, "")  // 정규식 치환

%>


'Java' 카테고리의 다른 글

StringBuilder 용 replace 함수  (0) 2015.08.19
mail 발송  (0) 2015.08.18
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02

pom.xml

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>$</version>

</dependency>


<!-- mail -->

<dependency>

<groupId>javax.mail</groupId>

<artifactId>javax.mail-api</artifactId>

<version>1.5.4</version>

</dependency>

<dependency>

<groupId>com.sun.mail</groupId>

<artifactId>javax.mail</artifactId>

<version>1.5.3</version>

</dependency>

대부분의 문서가 이 3개중에 javax.mail-api만 표기한 경우가 많았는데 3개가 모두 있어야 메일발송이 정상적으로 된다.


servlet-context.xml

<!-- mail bean -->

<beans:bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

<beans:property name="host" value="smtp.gmail.com"/>

<beans:property name="port" value="25"/>

<beans:property name="username" value="gmailid@gmail.com"/>

<beans:property name="password" value="gmail password"/>

<beans:property name="javaMailProperties">

<beans:props>

<beans:prop key="mail.smtp.auth">true</beans:prop>

<beans:prop key="mail.smtp.starttls.enable">true</beans:prop>

<beans:prop key="mail.smtp.timeout">8500</beans:prop>

<beans:prop key="mail.debug">true</beans:prop>

<beans:prop key="mail.transport.protocol">smtp</beans:prop>

</beans:props>

</beans:property>

</beans:bean>

이건 흔한 gmail 설정이다.


service

@Autowired

private JavaMailSender mailSender;


{

MimeMessage message = mailSender.createMimeMessage();

message.setFrom(new InternetAddress(from));

message.addRecipient(RecipientType.TO, new InternetAddress(to));

message.setSubject(subject);

message.setText(text, "utf-8", "html");

mailSender.send(message);

}

기본 html형식의 메일발송법이다. 첨부파일은 해본 다음에 수정하겠다.


참고:

http://www.mkyong.com/java/java-lang-classnotfoundexception-com-sun-mail-util-messageremovedioexception/ 외



'Java' 카테고리의 다른 글

StringBuilder 용 replace 함수  (0) 2015.08.19
사이트 긁어오기  (0) 2015.08.19
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02
<insert id="insert" parametertype="VO" usegeneratedkeys="true" keyproperty="col0"> 
    INSERT INTO table_name 
    <trim prefix="(" suffix=")" suffixoverrides=",">
	<if test="col1 != ''"> col1, </if>
    </trim>
    <trim prefix="VALUES (" suffix=")" suffixoverrides=",">
        <if test="col1 != ''"> #, </if>
    </trim>
</insert>

 

'Java' 카테고리의 다른 글

사이트 긁어오기  (0) 2015.08.19
mail 발송  (0) 2015.08.18
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02
JSTL에서 substring, length  (0) 2013.09.26

0. 환경변수

 JAVA_HOME, MAVEN_HOME이 사전에 등록되어 있어야 한다.

 JAVA_HOME은 각자의 java 설치 위치까지..(bin 아님)

 MAVEN_HOME은 나는 걍 path에 추가했다. bin까지 넣고.. java도 bin까지 해서 path에 추가함.

 

1. MS-SQL JDBC 드라이버를 다운로드 받아 적당한 위치에 압축을 해제한다.

 1.5 미만을 쓴다면 무조건 http://www.microsoft.com/ko-kr/download/details.aspx?id=21599

 1.6 이상을 쓴다면 무조건 http://www.microsoft.com/ko-kr/download/details.aspx?id=11774

 1.5 는 쓰고 싶은거 쓰면 된다.

 이하 4.0을 기준으로 한 소스다.

 

2. 압축을 해제한 위치에서 Shift+마우스 우클릭을 한 다음 "여기서 명령 창 열기"로 커맨드 창을 연다.

 

3. 다음과 같은 내용을 붙여쓴다.

mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0

 

4. 설치가 완료되면 pom.xml 에 다음과 같은 내용을 추가한다.

<dependency>
    <groupid>com.microsoft.sqlserver</groupid>
    <artifactid>sqljdbc4</artifactid>
    <version>4.0</version>
</dependency>

 

'Java' 카테고리의 다른 글

mail 발송  (0) 2015.08.18
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MIME 타입 알아내는 방법  (0) 2013.10.02
JSTL에서 substring, length  (0) 2013.09.26
EL 함수 추가하기  (0) 2013.09.10
File file = new File(path + fileName);
file.toURL().openConnection().getContentType(); // 1
URLConnection.guessContentTypeFromName(orgFile.getName()); // 2
URLConnection.guessContentTypeFromStream(new BufferedInputStream(new FileInputStream(orgFile))); // 3
new MimetypesFileTypeMap().getContentType(orgFile); // 4
Files.probeContentType(Paths.get(orgFile.toURI())); // 5

위의 방법으로 엑셀 2007 형식의 파일을 분석했을때 오피스가 설치된 pc와 설치되지 않은 pc에서 각각 다른 반응을 보였다.


1. 설치된 pc

1 >>>>>>content/unknown

2 >>>>>>null

3 >>>>>>null

4 >>>>>>application/octet-stream

5 >>>>>>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet


2. 설치되지 않은 pc

1 >>>>>>content/unknown

2 >>>>>>null

3 >>>>>>null

4 >>>>>>application/octet-stream

5 >>>>>>null


5번이 가장 정확한 내용을 알려주지만 경우에 따라서 null이 나올 수도 있으므로 4번이 가장 무난한 선택일수도 있겠다.


'Java' 카테고리의 다른 글

mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
JSTL에서 substring, length  (0) 2013.09.26
EL 함수 추가하기  (0) 2013.09.10
Apache POI 추가  (0) 2013.08.22
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


.
.
.


<c:set var="text" value="${testText}"/>
<c:set var="len" value="${fn:length(text)}"/>

${fn:substring(text,0,len-2)}

 

'Java' 카테고리의 다른 글

MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02
EL 함수 추가하기  (0) 2013.09.10
Apache POI 추가  (0) 2013.08.22
Spring 실행 쿼리문 콘솔 출력 - log4jdbc-remix (feat. 메이븐)  (0) 2013.08.08

1. Static 함수 만들기

package com.tistory.harui;

public class TextFunction {
	public static String textFn(String txt) {
		return txt;
	}
}

 

2. TLD 파일 만들기

<?xml version="1.0" encoding="utf-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee" version="2.1">
	<tlib-version>0.1</tlib-version> <!-- tld 버전 -->
	<short-name>Harui Functions</short-name> <!-- tld 이름 -->
	<uri>HaruiFunctions</uri> <!-- tld url. 필수. 이거 4번에서 쓸 거임. -->
    
	<function>
		<name>textString</name><!-- jsp에서 쓸 함수명. 1의 메서드명하고 달라도 상관없다. -->
		<function-class>com.tistory.harui.TextFunction</function-class> <!-- 1의 패키지명과 클래스명까지 -->
		<function-signature>
			java.lang.String TextFunction(java.lang.String)
		</function-signature> <!-- 1의 메서드의 스펙 정리. 리턴값이나 인자값 모두 꼭 패키지부터 다 써줘야 한다. String이라고 예외는 없다.  -->
	</function>
</taglib>

 

3. web.xml은 web-app 2.4 버전부터 추가할 필요가 없어졌다.

 

4. JSP 파일에 적용하기

// 상단에 추가
<%@ taglib prefix="haruiFn" uri="HaruiFunctions" %> <!-- 2의 uri 를 적어준다. -->

// 본문 사용법
${haruiFn:textString("텍스트")}

 

'Java' 카테고리의 다른 글

MIME 타입 알아내는 방법  (0) 2013.10.02
JSTL에서 substring, length  (0) 2013.09.26
Apache POI 추가  (0) 2013.08.22
Spring 실행 쿼리문 콘솔 출력 - log4jdbc-remix (feat. 메이븐)  (0) 2013.08.08
Spring Interceptor 예외처리  (0) 2013.08.08
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.9</version>
</dependency>

 

출처 : http://mvnrepository.com/artifact/org.apache.poi/poi/3.9

'Java' 카테고리의 다른 글

JSTL에서 substring, length  (0) 2013.09.26
EL 함수 추가하기  (0) 2013.09.10
Spring 실행 쿼리문 콘솔 출력 - log4jdbc-remix (feat. 메이븐)  (0) 2013.08.08
Spring Interceptor 예외처리  (0) 2013.08.08
ojdbc14 추가  (0) 2013.06.24

mybatis를 쓰면서 실행쿼리문을 콘솔에서 확인하고 싶은데 알아본 것은 log4jdbc다.

하지만 log4jdbc는 메이븐을 지원하지 않아 좀 더 찾아본 결과 log4jdbc-remix가 있었다.


pom.xml

<!-- log4jdbc-remix -->

<dependency>

   <groupId>org.lazyluke</groupId>

   <artifactId>log4jdbc-remix</artifactId>

   <version>0.2.7</version>

</dependency>


jdbc.properties

jdbc.driverClass=net.sf.log4jdbc.DriverSpy

jdbc.url=jdbc:log4jdbc:oracle:thin:@.....


log4j.xml

<!-- log4jdbc option  log the jdbc results as a table --> 

<logger name="jdbc.sqltiming" additivity="false"> 

<level value="debug" /> 

<appender-ref ref="console" /> 

</logger>


mybatis-context.xml

  <bean id="dataSourceSpied" class="...">

    <property name="driverClass" value="$"/>

    <property name="jdbcUrl" value="$"/>

    <property name="user" value="$"/>

    <property name="password" value="$"/>

    ...

  </bean>


  <bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">

    <constructor-arg ref="dataSourceSpied" />

  </bean>



출처 : https://code.google.com/p/log4jdbc-remix/ 외

'Java' 카테고리의 다른 글

EL 함수 추가하기  (0) 2013.09.10
Apache POI 추가  (0) 2013.08.22
Spring Interceptor 예외처리  (0) 2013.08.08
ojdbc14 추가  (0) 2013.06.24
ibatis 상황별 쿡북 - My SQL 기준  (0) 2011.06.17

+ Recent posts