반응형

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
     <init-param>
      <param-name>struts.i18n.encoding</param-name> // Struts 한글 처리!
      <param-value>EUC-KR</param-value>   
     </init-param>
    </filter>

 

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern> //모든 요청에 대해 struts2라는 filter-name을 찾아간다.
    </filter-mapping>

 

 

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>
    </welcome-file-list>  //실제 주소를 입력할때 index.html을 찾아간다.

 

// 예를들어 프로젝트에 struts라는 폴더가 있고 그 안에 index.html이 있다면

// http://localhost:8080/struts/ 만 입력해도 index.html이 실행된다.

 

참조- http://blog.naver.com/kimjinwook88?Redirect=Log&logNo=10172917577

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

웹 관련 서적  (0) 2016.01.17
사서 읽어 봐야 할 JAVA책  (0) 2015.08.29
오라클에서 JDBC 연결 - jsp, java  (0) 2014.05.15
JSP에서 한글처리  (0) 2014.05.03
구입해야 할 책들 - HTML, javascript  (0) 2014.05.02

오라클에서 JDBC 연결 - jsp, java

개발 및 관리/Java 2014. 5. 15. 23:24 posted by HighLighter
반응형

오라클, 이클립스, 톰캣 환경에서 jsp에서 db로 접근이 올바르게 안되서 최종 정리는 안되었지만 정리 차원에서 글을 올려 놓는다.

ORACLE JDBC JSP 연결.docx
다운로드

 

ojdbc14.jar
다운로드

 

ojdbc6.jar
다운로드

 

OracleJDBCtest.java
다운로드

 

test.jsp
다운로드

 

ReekyaAppdynamics_3.7_SupportedEnvironments.pdf
다운로드

P.S.

 1. 확실한 오라클 JDBC 연동

http://zyni23.blog.me/20190454320

 2. database JDBC 드라이버에 해당하는 클래스

 오라클: oracle.jdbc.driver.OracleDriver

 MS SQL: com.microsoft.sqlserver.jdbc.SQLServerDriver

MySQL: com.mysql.jdbc.Driver

3. PreparedStatement

  ResultSet executeQuery() - SELECT 쿼리를 실행할 때 사용되며, ResultSet을 결과값으로 리턴

  int executeUpdate() - INSERT, UPDATE, DELETE 쿼리를 실행할 때 사용되며, 실행 결과 변경된 레코드의 수를 리턴

반응형

JSP에서 한글처리

개발 및 관리/Java 2014. 5. 3. 23:57 posted by HighLighter
반응형

1.웹 브라우저에 응답하는 페이지

-페이지 지시자에서 charset을 euc-kr로 지정

<%@ page language="java" contentType="text/html;charset=euc-kr%">

 

2.웹 브라우저에서 웹 서버로 파라미터가 post방식으로 넘어오는 페이지

request에서 사용하는 문자의 인코딩 방식을 euc-kr로 변경

<%@ request.setCharacterEncoding("euc-kr")%>

 

3.웹 브라우저에서 웹 서버로 파라미터가 get방식으로 넘어오는 페이지

영문 인코딩(8859_1)을 한글 인코딩(euc-kr)으로 변환하는 작업을 해야 한다. 이러한 작업을 위해서는 String클래스의 getBytes 메소드를 사용한다.

 

JSP페이지에서 get방식으로 넘겨진 한글은 기본적으로 8859_1 인코딩 방식으로 인식하므로 이 값을 제대로 출력하기 위해서는 euc-kr 인코딩방식으로 변환해야 한다.

 

String s_name = request.getParameter("name");

s_name = new String(s_name.getBytes("8859_1"), "euc-kr");

 

반대로 쿼리 스트링으로 한글을 전달할 경우에는 한글 인코딩 방식(euc-kr)을 영문 인코딩방식(8859_1)으로 변환한 후에 전송한다.

 

String s_name="성윤정";

s_name = new String(s_name.getBytes("euc-kr"), "8859_1");

 

-------------------------------------------------------------------------

-------------------------------------------------------------------------

 

package myUtil;
import java.io.UnsupportedEncodingException;

public class HanConv {
  //8859_1 방식을 euc-kr 방식으로 변환하는 메소드 정의
  public static String toKor(String str) {
   if(str==null || str.equals("")||str.equals(null)) {
    return str;
   }
   try{
    return new String(str.getBytes("8859_1"), "euc-kr");
   }catch(UnsupportedEncodingException uee){
    uee.printStackTrace();
    return str;
   }
  }//euc-kr 방식을 859_1 방식으로 변환하는 메소드 정의
  public static String toEng(String str){
   if(str==null||str.equals("")||str.equals("null")) {
    return str;
   }
   try{
    return new String(str.getBytes("euc-kr"),"8859_1");
   }catch(UnsupportedEncodingException uee){
    uee.printStackTrace();
    return str;
   }
  }
}

 

출처: 서블릿 JSP 프로그래밍(저자: 성윤정, 하얀, 김태순) p.171

반응형

구입해야 할 책들 - HTML, javascript

개발 및 관리/Java 2014. 5. 2. 20:37 posted by HighLighter
반응형

1. HTML/CSS

HTML5+CSS3 웹 표준의 정석 Do it
클릭하세요 HTML 입문+웹디자인
HTML+CSS Java Script
HTML & CSS : 웹사이트 개발과 디자인 기초
웹표준 핵심가이드북2 HTML5 CSS3 (구조 분석을 통한 실전 프로젝트 정복)

2. Javascript
Easy Javascript (프로그래밍 왕초보를 위한 자바스크립트 배우기
JavaScript Cookbook (시간을 절약해주는 자바스크립트 지식 창고)
JAVASCRIPT가 보이는 그림책
HTML+CSS+JAVASCRIPT

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

오라클에서 JDBC 연결 - jsp, java  (0) 2014.05.15
JSP에서 한글처리  (0) 2014.05.03
구입해야 할 책들 - JSP, 서블릿  (0) 2014.04.27
JSP(JavaServer Page)란???  (0) 2013.02.20
자바 책들  (0) 2013.02.20

구입해야 할 책들 - JSP, 서블릿

개발 및 관리/Java 2014. 4. 27. 20:38 posted by HighLighter
반응형

구입해야 할 책들

서블릿 JSP 프로그래밍 (초보 개발자를 위한)

JAVA 서블릿 & JSP 프로그래밍 (STARTING)

 JSP 2.2 웹 프로그래밍 기초부터 중급까지 (최범균의)

HEAD FIRST SERVLETS & JSP (개정판)

뇌를 자극하는 JSP SERVLET

 JSP 2.2 & Servlet 3.0 정복하기 (최고수준의 프로그래머가 되기 위한 쾌도난마)

Servlet 3.0과 JSP 2.2 핵심을 꼭꼭 짚은 서블릿 JSP 자바 웹 프로그래밍 완성

JSP 바이블 (STEP 01 : JSP 시작과 개발환경 구축)

PERFECT JSP 웹프로그래밍

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

JSP에서 한글처리  (0) 2014.05.03
구입해야 할 책들 - HTML, javascript  (0) 2014.05.02
JSP(JavaServer Page)란???  (0) 2013.02.20
자바 책들  (0) 2013.02.20
배열 복사  (0) 2013.02.20

JSP(JavaServer Page)란???

개발 및 관리/Java 2013. 2. 20. 19:49 posted by HighLighter
반응형

 JSP(JavaServer Page)는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다.

 자바 서버 페이지는 실행시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 하지만, 서블릿과 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다. 이와 비슷한 구조인 것인 PHP, ASP, APS.NET 등도 있다.

 아파치 스트럿츠나 자카르타 프로젝트의 JSTL 등의 JSP 태그 라이브러리를 사용하는 경우에는 자바 코딩없이 태그만으로 간략히 가능하므로 생산성을 높일 수 있다.

 클라이언트에서 서비스가 요청되면, JSP의 실행을 요구하고, JSP는 웹 애플리케이션 서버의 서블릿 컨테이너에서 서블릿 원시코드로 변환된다. 그 후에 서블릿 원시코드는 바로 컴파일된 후 실행되어 결과를 HTML 형태로 클라이언트에 돌려준다.

 

참조) http://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B2%84_%ED%8E%98%EC%9D%B4%EC%A7%80

 

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

구입해야 할 책들 - HTML, javascript  (0) 2014.05.02
구입해야 할 책들 - JSP, 서블릿  (0) 2014.04.27
자바 책들  (0) 2013.02.20
배열 복사  (0) 2013.02.20
paint()  (0) 2013.02.19

자바 책들

개발 및 관리/Java 2013. 2. 20. 13:25 posted by HighLighter
반응형

 

1. JSP & Servlet 책

뇌를 자극하는 JSP & Servlet

서블릿 JSP 프로그래밍

김태용의 JSP 웹 프로그래밍 입문


2. Spring 책
Programming Spring

Just Spring

토비의 스프링 3.1 Vol. 1 스프링의 이해와 원리

토비의 스프링 3.1 Vol. 2 스프링의 기술과 선택

토비의 스프링 3.1 세트


3. HTML, CSS 책

서블릿 JSP 웹 프로그래밍 with HTML CSS XML 자바스크립트(명강의가 일으키는 감동)

동영상과 280개 예제로 배우는 HTML CSS 자바스크립트 무작정따라하기

 

4. 기타 관련 책들

자바 7 실무 바이블
이펙티브 자바 제2판 (effective java)
쉽게 따라하는 자바 웹 개발
열혈강의 자바 디자인 패턴 
Head First jQuery: 자바스크립트를 몰라도 배울 수 있는 제이쿼리

Java Generics and Collections

agile Java

Java concurrency in practice

head first design patterns

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

구입해야 할 책들 - JSP, 서블릿  (0) 2014.04.27
JSP(JavaServer Page)란???  (0) 2013.02.20
배열 복사  (0) 2013.02.20
paint()  (0) 2013.02.19
AllEventHandler  (0) 2013.02.19

배열 복사

개발 및 관리/Java 2013. 2. 20. 09:50 posted by HighLighter
반응형

int[] arr = {1, 2, 3, 4, 5, 6, 7};

int[] arrClone = arr.clone();

 

int[] arr = {1, 2, 3, 4, 5, 6, 7};

int[] arrClone = new int[arr.length];

System.arraycopy(arr, 0, arrClone, 0, arr.length);

 

배열 뿐만 아니라, java.util 패키지의 Vector, ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, Calendar, Date와 같은 클래스들이 clone()을 이용한 방법으로 복제가 가능하다.

 

Vector v = new Vector();

Vector v2 = (Vector)v.clone();

 

From 자바의 정석 p.375

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

JSP(JavaServer Page)란???  (0) 2013.02.20
자바 책들  (0) 2013.02.20
paint()  (0) 2013.02.19
AllEventHandler  (0) 2013.02.19
Event Listener를 컴포넌트에 추가 또는 삭제할 때 사용하는 메소드  (0) 2013.02.18

paint()

개발 및 관리/Java 2013. 2. 19. 12:53 posted by HighLighter
반응형

 

 paint(Graphics g) 메소드는 프레임의 디스플레이 이벤트에 의해 JVM으로 부터 호출되며 호출 시점은
프레임이 다시 화면에 그려질 때이다. 화면에 다시 그려져야 할 때는 프레임의 사이즈 변경(사이즈 증가만)과
프레임이 다른 프레임에 가려져 있다가 다시 다른 프레임보다 앞에 위치 할 때이다.
순서 상으로 생성자는 클래스의 인스턴스 생성시에 발생되므로 생성자가 paint()보다 먼저 호출되고 그 후에
앞에 명시된 이벤트가 발생했을 때에 paint메소드가 호출된다.

 

즉, paint()는 직접 호출하지 않아도 AWT쓰레드에 의해서 자동적으로 호출된다. AWT쓰레드는 GUI 어플리케이션을 실행하면 자동적으로 생성되는 데몬 쓰레드로 평소에는 대기상태에 있다가 화면이 갱신되어야할 상황이 발생되면, paint() 또는 update()를 호출해서 화면이 다시 그려지도록 한다. AWT쓰레드에 의해 자동적으로 화면이 갱신되는 상황은 아래와 같다.

 1. 처음 화면에 나타날 때

 2. 다른 화면에 가려져 있던 부분이 다시 화면에 나타날 때

 3. 아이콘화 되어 있다가 원래 크기로 화면에 나타날 때

 

repaint() - AWT쓰레드에게 화면을 갱신할 것을 요청한다. AWT쓰레드는 0.1초마다 확인해서 요청이 있으면 update()를 호출한다.

 

update(Graphics g) - 화면을 지우고 paint(Graphics g)를 호출한다.

 

호출 순서: repaint() ---> update(Graphics g) ---> paint(Graphics g)


show()메소드와 setVisible(true) 메소드 사용시 paint(Graphics g) 메소드 동작
http://new.okjsp.pe.kr/seq/112318

반응형

AllEventHandler

개발 및 관리/Java 2013. 2. 19. 11:24 posted by HighLighter
반응형

import java.awt.event.*;

class AllEventHandler
          implements ActionListener, ComponentListener, MouseMotionListener,
           MouseListener, MouseWheelListener, KeyListener, TextListener,
           FocusListener, ItemListener,  AdjustmentListener, WindowListener,
           WindowFocusListener, WindowStateListener, ContainerListener
{
 // ActionListener의 메서드
 public void actionPerformed(ActionEvent ae) {}

 // ComponentListener의 메서드
 public void componentMoved(ComponentEvent ae) {}
 public void componentHidden(ComponentEvent ae) {}
 public void componentResized(ComponentEvent ae) {}
 public void componentShown(ComponentEvent ae) {}

 // MouseMotionListener의 메서드
 public void mouseDragged(MouseEvent me) {}
 public void mouseMoved(MouseEvent me) {}

 // MouseListener의 메서드
 public void mousePressed(MouseEvent me) {}
 public void mouseReleased(MouseEvent me) {}
 public void mouseEntered(MouseEvent me) {}
 public void mouseExited(MouseEvent me) {}
 public void mouseClicked(MouseEvent me) {}

 // MouseWheelListener의 메서드
 public void mouseWheelMoved(MouseWheelEvent e) {}
 
 // KeyListener의 메서드
 public void keyPressed(KeyEvent ke) {}
 public void keyReleased(KeyEvent ke) {}
 public void keyTyped(KeyEvent ke) {}
 
 // TextListener의 메서드
 public void textValueChanged(TextEvent te) {}
 
 // FocusListener의 메서드
 public void focusGained(FocusEvent fe) {}
 public void focusLost(FocusEvent fe) {}
 
 // ItemListener의 메서드
 public void itemStateChanged(ItemEvent ie) {}
 
 // AdjustmentListener의 메서드
 public void adjustmentValueChanged(AdjustmentEvent ae) {}
 
 // WindowListener의 메서드
 public void windowClosing(WindowEvent we) {}
 public void windowOpened(WindowEvent we) {}
 public void windowIconified(WindowEvent we) {}
 public void windowDeiconified(WindowEvent we) {}
 public void windowClosed(WindowEvent we) {}
 public void windowActivated(WindowEvent we) {}
 public void windowDeactivated(WindowEvent we) {}
 
 // WindowFocusListener의 메서드
 public void windowGainedFocus(WindowEvent e) {}
 public void windowLostFocus(WindowEvent e) {}
 
 // WindowStateListener의 메서드
 public void windowStateChanged(WindowEvent e) {}
 
 // ContainerListener의 메서드
 public void componentAdded(ContainerEvent ce) {}
 public void componentRemoved(ContainerEvent ce) {}
} // End of EventHandler class

 

 

EventTest.java
다운로드

 

1. 키보드의 키 하나를 계속 누르고 있을 때 어떤 일이 생기는지 확인하라

2. Ctrl과 Alt 같은 특수키를 눌렀을 때와 일반키를 눌렀을 때를 비교하라.

3. TextField에서 Enter키를 눌렀을 때

4. Tab키를 눌러서 focus를 이동했을 때

5. 마우스의 포인터를 Frame에서 Canvas의 영역 안으로 이동했을 때(그리고, 그 반대로)

6. List에 있는 item 하나를 선택해서 더블클릭했을 때

7. Choice에서 다른 item을 선택했을 때

8. Frame의 크기를 변경했을 때

 

AllEventHandler.java
다운로드

 

From 자바의 정석 p.756

 

반응형