package com.application.pgm;


import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;


/**

 * urlList.txt 목록의 URL을 순회 하면서 원하는 텍스트를 찾아낸다. 

 * @author hana

 *

 */


public class UrlTest {


public static void main(String[] args) {

// TODO Auto-generated method stub


FileReader fr = null;

String url = "";

URL u = null;

HttpURLConnection conn = null;

int resCode = 0;

try {

fr = new FileReader("D:\\dev\\urlList.txt");

BufferedReader list_br = new BufferedReader(fr);

String list_Line = "";

while((list_Line = list_br.readLine()) != null){

url = list_Line;

u = new URL(url);

conn = (HttpURLConnection)u.openConnection();

resCode = conn.getResponseCode();

String ln = "";

if(resCode == 200){

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));

while((ln=br.readLine()) != null){

if(ln.indexOf(".hanatour.com") > -1){

System.out.println("## Source Find !! ##  :: url :" + url);

System.out.println("## find String !! ##  :: str :" + ln);

System.out.println("------------------------------------");

}

}

}else{

System.out.println("########## WebSite Open Error!!##################");

System.out.println("#"+url+"#");

System.out.println("-------------------------------------------");

}

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}



 

CustomTypeHandler.java

마이바티스에서 VO를 이용해 결과를 받을떄 Boolean 타입에 대한 설정

 

 

package com.cheezred.common.mybatis;

import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;

public class CustomTypeHandler implements TypeHandler<Boolean> {

   public Boolean getResult(ResultSet rs, String columnName) throws SQLException {
        String s = rs.getString(columnName);

        return parseBoolean(s);
    }

    public Boolean getResult(ResultSet rs, int columnIndex) throws SQLException {
        String s = rs.getString(columnIndex);

        return parseBoolean(s);
    }

    public Boolean getResult(CallableStatement cs, int columnIndex)
        throws SQLException {
        String s = cs.getString(columnIndex);

        return parseBoolean(s);
    }

    public void setParameter(PreparedStatement ps, int i, Boolean bool,
        JdbcType jdbcType) throws SQLException {

        ps.setString(i, parseString(bool));
    }

    private boolean parseBoolean(String s) {
        if (s == null) {
            return false;
        }

        s = s.trim().toUpperCase();

        if (s.length() == 0) {
            return false;
        }

        return "Y".equals(s);
    }

    private String parseString(Boolean bool) {
        return (bool != null && bool == true) ? "Y" : "N";
    }

}

 

 

클래스를 만든후

쿼리가 들어있는 XML에서

 

<resultMap type="com.cheezred.common.OutputVo"   id="OutputVo">
      <result property="trueFalseValue" column="trueFalseValue" typeHandler="com.cheezred.common.mybatis" />

 select

      ....

....

....

 

 

 

이런 형식으로 사용하면 됩니다.

내장객체 상속되는 클래스 혹은 인터페이스
  request   javax.servlet.http.HttpServletRequest
  response   javax.servlet.http.HttpServletResponse
  session   javax.servlet.http.HttpSession
  page   javax.servlet.jsp.HttpJspPage
  pageContext   javax.servlet.jsp.PageContext
  out   javax.servlet.jsp.JspWriter
  application   javax.servlet.ServletContext
  config   javax.servlet.ServeletConfig
  exception   java.lang.Throwable


■ request
클라이언트로부터의 요청을 처리하는 객체
메소드 설 명 비 고
getParameterName() 모든 요청 매개변수의 이름을 리턴합니다. 요청 매개변수를
액세스하기 위한
메소드
getParameter(name) name에 해당하는 매개변수의 값을 리턴합니다.
getParameterValues(name) name에 해당하는 매개변수의 모든 값을 리턴합니다.
getHeaderNames() 요청에 대한 헤더의 이름을 리턴합니다. 요청 헤더를

읽어내는 메소드
getHeader(name) name에 대한 헤더 값을 String형으로 리턴합니다.
getHeaders(name) name에 대한 모든 헤더 값을 리턴합니다.
getIntHeader(name) name에 대한 헤더 값을 int형으로 리턴합니다.
getDateHeader(name) name에 대한 헤더의 날짜값을 리턴합니다.
getCookies() 요청에 대한 모든 쿠키를 리턴합니다.
getMethod() 요청에 대한 HTTP(GET,POST) 메소드를 리턴합니다.
getRequestURL() 요청 URL을 리턴합니다. (질의 문자열은 안 한다.)
getQueryString() 요청 URL을 리턴합니다. (질의 문자열 포함)
getSession(flag) 들어온 요청의 세션데이터를 리턴합니다.
getRequestDispatcher(path) Path에 지정된 로컬URL에 대한 요청 전달자를 리턴합니다.
getRemoteHost() 요청을 보낸 호스트의 이름을 리턴합니다.
getRemoteAddr() 요청을 보낸 호스트의 IP를 리턴합니다.
getRemoteUser() 요청을 보낸 사용자의 이름을 리턴합니다.


■ response
서버가 클라이언트에게 처리결과를 응답하는 객체
메소드 설 명 비 고
setContentType() 응답되는 컨텐츠의 MIME타입을 설정합니다. 컨텐츠 설정에
필요한 메소드
setCharacterEncodeing() 응답되는 컨텐츠의 문자 인코딩 스타일을 리턴합니다.
AddCookie(cookie) 쿠키를 추가합니다. 응답헤더 세팅을

위한 메소드
AddHeader(name,value) 해당이름의 헤더에 값(String)을 추가합니다.
AddIntHeader(name,value) 해당이름의 헤더에 값(int)을 추가합니다.
AddDateHeader(name,date) 해당이름의 헤더에 날자값을 추가합니다.
ContainsHeader(name) 해당이름의 헤더가 포함 되어 있는지 체크합니다.
SetHeader(name,value) 해당이름의 헤더에 값(String)을 넣습니다.
SetIntHeader(name,value) 해당이름의 헤더에 값(int)을 넣습니다.
SetDateHeader(name,value) 해당이름의 헤더에 날짜값을 넣습니다.
setStatus(code) 응답 상태코드를 설정합니다.
sendError(status,msg) 응답코드와 에러 메세지를 설정합니다.
sendRedirect(url) 다른 URL로 이동합니다.
EncodeRedirectURL(url) SendRedirect() 메소드에 넣을 url을 인코딩합니다.
EncodeURL(name) 링크에 넣을 url을 인코딩합니다.


■ session
사용자 개개인의 정보를 처리하는 객체로 사용자가 웹 서버에 접근하면 생성되어 종료 할 때까지 따라다니져..
메소드 설 명
getId() session의 ID를 리턴합니다.
getCreationTime() session이 생성된 시간을 long형으로 리턴합니다.
getLastAccessedTime() session이 마지막으로 액세스된 시간을 리턴합니다.
getMaxInactiveInterval() session이 유지되는 최대시간을 초단위로 리턴합니다.
getMaxInactiveInterval(time) session이 유지되는 최대시간을 초단위로 설정합니다.
isNew() session 값이 없으면 true를 리턴합니다.
invalidate() session 객체를 소멸시킵니다.
session에 저장되어 있던 정보는 모두 삭제됩니다.
getAttribute(name) 세션변수(name)에 설정된 값을 리턴합니다.
setAttribute(name,value) 세션변수(name)에 값(value)을 설정합니다.


■ page
현재 JSP페이지를 나타내는 객체

■ pageContext
JSP 실행에 대한 context 정보를 담고 있는 객체
메소드 설 명 비 고
getException() exception 객체를 리턴합니다. 객체 내부 속성을

알 수 있는

메소드
getOut() out 내부객체를 리턴합니다.
getsession() session 내부객체를 리턴합니다.
getServletConfig() config 내부객체를 리턴합니다.
getServletContext() application 객체를 리턴합니다.
getPage() page 내부객체를 리턴합니다.
getRequest() request 내부객체를 리턴합니다.
getReponse() reponse 내부객체를 리턴합니다.
forward(path) 다른 path에 해당하는 URL로 전달합니다. 요청 전달 메소드
include(path) 다른 path의 페이지를 현제 페이지에 포함합니다.
setAttribute(key,value,scope) Scope의 시간동안 key의 값(value)를 저장합니다. scope속성을

제어 할 수 있는

메소드
getAttributeNamesInScope(scope) 특정 scope의 모든 속성을 리턴합니다.
getAttribute(key,scope) Key에 대한 scope를 리턴합니다.
removeAttribute(key,scope) Key에 대한 scope를 제거합니다.
findAttribute(name) Name에 지정된 속성의 scope를 찾습니다.
getAttributeScope(name) Name에 해당하는 scope를 리턴합니다.


■ out
클라이언트에게 응답하기 위한 output 스트림을 처리하는 객체입니다.
메소드 설 명
print() 내용이 줄바꿈 없이 이어서 출력됩니다.
println() 내용이 줄단위로 출력됩니다.
getBufferSize() 출력버퍼의 크기를 Byte로 리턴합니다.
getRemaining() 출력버퍼의 빈부분 크기를 Byte로 리턴합니다.
clearBuffer() 출력 버퍼를 비웁니다.
clear() 출력 버퍼를 비웁니다. (만약 전에 flush되어 있으면 에러를 발생합니다.)
flush() 출력버퍼를 flush시킵니다.
close() 출력스트림을 닫습니다.


■ application
웹서버의 애플리케이션이 실행되는 실행환경에 대한 정보를 처리하는 객체입니다..
메소드 설 명 비 고
getServerInfo() 컨테이너의 이름과 버전을 리턴합니다. 컨테이너 버전을

알 수 있는 메소드
getMajorVersion() 컨테이너의 주버전을 리턴합니다.
getMinorVersion() 컨테이너의 부버전을 리턴합니다.
getContext(path) Path에 대한 외부환경 정보를 리턴합니다. 서버측의 경로를

알 수 있는 메소드
getRealPath(path) path에 대한 절대경로를 리턴합니다.
getResource(path) path에 지정된 URL을 액세스 객체로 바꾸어줍니다.
getResourceAsStream(path) path에 URL을 읽을 수 있는 입력 스트림으로 바꾸어줍니다.
GetMimeType(filename) filename에 해당하는 파일의 MIME타입을 리턴합니다.
log(msg) msg를 로그파일에 기록합니다. 로그파일 관련 메소드
log(msg,exception) msg와 exception(예외상황)을 로그파일에 기록합니다.


■ config
JSP페이지가 컨테이너에 의해 컴파일되어 서블릿 클래스가 될 때 서블릿의 구성데이터로 초기값과 변수를 저장하는 객체입니다.
메소드 설 명
getInitParameterNames() 변수의 이름을 리턴합니다.
getInitParameter(name) 변수의 이름을 넣을 경우에는 값을 리턴합니다.


■ exception
프로그램에서 예외상황이 발생했을 때 이를 처리하는 객체
exception객체를 다루려면 page지시자의 isErrorPage 속성을 true로 해놓아야 합니다.
<%@ page isErrorPage="true" %>
메소드 설 명
GetMessage() 에러 메세지를 리턴합니다.
ToString() 에러메세지를 String형으로 리턴합니다.
PrintStackTrace(out) 에러발생시 출력스트림을 통하여 출력합니다.

 

@SuppressWarnings


Java 코드를 작성하다 보면 간혹 노란색으로 경고가 나오는 경우가 있습니다 .

마우스 커서를 가져다 놓으면 @SuppressWarnings 을 권유해주곤 합니다 .


컴파일러가 일반적으로 경고하는 내용 중 " 이것은 사용하지 않으면 좋겠다 " 하고 경고를 해주는것입니다 .


그중에도 여러 카테고리가 있습니다 .



1
@SuppressWarnings({ "rawtypes", "unchecked" })

 

 

 

 

all : 모든 경고

cast : 캐스트 연산자 관련 경고

dep-ann : 사용하지 말아야 할 주석 관련 경고

deprecation : 사용하지 말아야 할 메서드 관련 경고

fallthrough : switch문에서 break 누락 관련 경고

finally : 반환하지 않는 finally 블럭 관련 경고

null : null 분석 관련 경고

rawtypes : 제너릭을 사용하는 클래스 매개 변수가 불특정일 때의 경고

unchecked : 검증되지 않은 연산자 관련 경고

unused : 사용하지 않는 코드 관련 경고


 

 

'Development > Java' 카테고리의 다른 글

CustomTypeHandler를 이용한 Mybatis ResultType 설정  (0) 2014.06.16
JSP의 내장객체  (0) 2014.06.04
[펌] jenkins로 서버에 자동 배포하기  (0) 2014.05.22
spring-framework Download  (0) 2014.05.22
Java Mail 구현  (0) 2014.05.21

http://www.youtube.com/watch?v=yP4EHnKcOrc




'Development > Java' 카테고리의 다른 글

CustomTypeHandler를 이용한 Mybatis ResultType 설정  (0) 2014.06.16
JSP의 내장객체  (0) 2014.06.04
SuppressWarnings  (0) 2014.06.02
spring-framework Download  (0) 2014.05.22
Java Mail 구현  (0) 2014.05.21

https://github.com/spring-projects/spring-framework/releases




공홈갔더니 Maven으로만 다운 받으라고 하길래.. 

'Development > Java' 카테고리의 다른 글

CustomTypeHandler를 이용한 Mybatis ResultType 설정  (0) 2014.06.16
JSP의 내장객체  (0) 2014.06.04
SuppressWarnings  (0) 2014.06.02
[펌] jenkins로 서버에 자동 배포하기  (0) 2014.05.22
Java Mail 구현  (0) 2014.05.21
activation.jar mail.jar 파일 들이 필요한데,
http://java.sun.com/products/javamail/downloads/index.html 에서 받을 수 있다.
JavaBeans Activation Framework와 JavaMail 에 포함되어 있다.

이 두 파일은 톰캣의 common/lib나 JRE 등의 경로 내에 있어야 한다.

<%@page contentType = "text/html; charset=euc-kr" %>
<%@ page import="java.util.*,java.io.*,javax.mail.*,javax.mail.internet.*,javax.activation.*" %>
<%
// javamail lib 이 필요합니다.
class MyAuthentication extends Authenticator {
PasswordAuthentication pa;
public MyAuthentication(){
pa = new PasswordAuthentication("아이디", "비밀번호");
}

public PasswordAuthentication getPasswordAuthentication() {
return pa;
}
}

String subject = "Test"; //subject
String msgText = "메일 가니? \n안가니?\n"; //message
String host = "kornet.net"; //smtp mail server
String from = "zxcasd@zxcasd.pe.kr"; //sender email address
String to = "zxcasd12@gmail.com"; //receiver email address

Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth","true");

Authenticator auth = new MyAuthentication();
Session sess = Session.getInstance(props, auth);

try {
Message msg = new MimeMessage(sess);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setContent(msgText,"text/html; charset=euc-kr"); // HTML 형식
// msg.setText(msgText); // TEXT 형식

Transport.send(msg);
out.println("^_^");
} catch (MessagingException mex) {
out.println(mex.getMessage()+"<br>");
out.println("-_-;;.");
}

%>


서버에 따라 빨간 부분 바꿔주고, 전송할 내용 바꿔주면 된다.
(어떤 서버는 smtp 로긴 아이디를 이메일 통째로 입력해야 하는 경우도 있다.)

'Development > Java' 카테고리의 다른 글

CustomTypeHandler를 이용한 Mybatis ResultType 설정  (0) 2014.06.16
JSP의 내장객체  (0) 2014.06.04
SuppressWarnings  (0) 2014.06.02
[펌] jenkins로 서버에 자동 배포하기  (0) 2014.05.22
spring-framework Download  (0) 2014.05.22

+ Recent posts