jsp
- EL ExpressionLanguage
${empty param["n"]?"없다":param.n}<br>
${empty param["n"]}

- 동일
session.setAttribute("id"
,"aaadsfs");
${sessionScope.id}
${sessionScope["id"]}
${id}


realpath 구하기

String xmlPath= application.getRealPath("bml.xml");
String xslPath= application.getRealPath("bml.xsl");

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] EL, realpath 구하기  (0) 2007.08.17
[jsp] 이미지 카운터  (2) 2007.08.17
JRE 설치 체크  (0) 2007.08.12
퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
package MyBean.bean;
import java.io.*;
public class Counter
{
 public String Counter(String CounterFile, boolean sessionNew) throws IOException{
  FileReader readCounter = new FileReader(CounterFile);
  char[] counterChar = new char[8];
  int indexFile = 0;
  do{
   int tempChar = readCounter.read();
   if(tempChar == -1)
    break;
   counterChar[indexFile] = (char)tempChar;
   indexFile++;
  }while(true);
  readCounter.close();
  String counterString = new String(counterChar);
  int counter = Integer.parseInt(counterString.trim());
  if(sessionNew)
   counter++;
  String counterTxt = Integer.toString(counter);
 
  String counterImg = "";
  if(counterTxt.length() < 8)
   for(int i=0; i<(8-counterTxt.length()); i++)
    counterImg = counterImg + "<img src='img/0.jpg' border=0>";
   
  for(int j=0; j<counterTxt.length(); j++)
    counterImg = counterImg + "<img src='img/" + counterTxt.charAt(j) + ".jpg' border=0>";
  FileWriter writeCounter = new FileWriter(CounterFile);
  writeCounter.write(counterTxt);
  writeCounter.close();
  return counterImg;
 }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] EL, realpath 구하기  (0) 2007.08.17
[jsp] 이미지 카운터  (2) 2007.08.17
JRE 설치 체크  (0) 2007.08.12
퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
  1. 외로운까마귀 2007.08.17 15:06 신고

    이거 하면 카운터가 어떻게 되는지 결과는 없나요?? 궁금하네요..

    • rails 2007.08.17 18:12 신고

      완벽한 소스가 아니라서 실행은 안됩니다.
      그저 일부부만을 담아놨네요.결과는 지금 자바 설치가 안되있어서 낼 설치후 보여드릴께요. 컴터가 넘 안좋아서 하고 지우고.ㅠㅠ

JRE, jsp
JRE 설치 체크
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ko-KO">
<meta http-equiv="content-type" content="text/html; charset=euc-kr"/>
<title>java jre 설치체크 </title>
<meta name="description" content="설치및 버전확인" />
<meta name="keywords" content="JRE설치확인" />
</head>
<body>
<b>Java Runtime Environment</b><br />
<img src="progress.gif" alt="진행률 표시기" width="265" height="12" border="0"><br />
<br />
<div align="center">
 <object alt="Test JRE Applet" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="1" height="1">
     <param name="type" value="application/x-java-applet" />
     <param name="codebase" value="." />
     <param name="code" value="jreCheck.class" />
     <param name="jumpto" value="installed.html?" />
     <param name="pause" value="2000" />
     <comment>
 <embed type="application/x-java-applet"
        code="jreCheck.class" codebase="." width="1" height="2"
        jumpto="installed.html?" pause="2000"
 /><noembed>Java Detection Applet did not initiate.</noembed>
     </comment>
 </object>
</div>
<script type="text/JavaScript">
function pauseforalert(){
 alert("JRE가 설치 되지 않았습니다.");
 //window.location= "이동";
}
void window.setTimeout("pauseforalert()",30000);
</script>
원소스: http://java.com/ko/download/installed.jsp?detect=jre&try=1
</body>
</html>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] EL, realpath 구하기  (0) 2007.08.17
[jsp] 이미지 카운터  (2) 2007.08.17
JRE 설치 체크  (0) 2007.08.12
퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
- quicktime
http://developer.apple.com/
opensource/server/
streaming/index.html


http://downloads.activestate.com/
ActivePerl/Windows/5.8/


펄설치;다윈설치;다윈서버실행;로칼호스트 1220 포트;계정등록

http://www.apple.com/quicktime/download/

//오디오 켜주는 클래스

import quicktime.*;
import quicktime.app.time.*;
import quicktime.io.*;
import quicktime.std.*;
import quicktime.std.movies.*;
 
import java.io.*;
 
public class TrivialAudioPlayer {
 
  public static void main (String[  ] args) {
//      if (args.length != 1) {
//          System.out.println (
  //            "Usage: TrivialAudioPlayer <file>");
    //      return;
  //    }
      try {
          QTSessionCheck.check( );
          QTFile f = new QTFile (new File("d:/02.LoverBoy.mp3"));
          OpenMovieFile omf = OpenMovieFile.asRead(f);
          Movie movie = Movie.fromFile (omf);
          TaskAllMovies.addMovieAndStart( );
          movie.start( );
      } catch (QTException e) {
          e.printStackTrace( );
      }
  }
}

--------------------------------------
//오픈 클로즈 하는 스래드
import quicktime.*;

public class QTSessionCheck {

  private Thread shutdownHook;
  private static QTSessionCheck instance;
  private QTSessionCheck( ) throws QTException {
      super( );
      // init
      QTSession.open( );
      // create shutdown handler
      shutdownHook = new Thread( ) {
              public void run( ) {
                  QTSession.close( );
              }
          };
      Runtime.getRuntime( ).addShutdownHook(shutdownHook);
  }
  private static QTSessionCheck getInstance( ) throws QTException {
      if (instance == null)
          instance = new QTSessionCheck( );
      return instance;
  }
 
  public static void check( ) throws QTException {
      // gets instance.  if a new one needs to be created,
      // it calls QTSession.open( ) and creates a shutdown hook
      // to call QTSession.close( )
      getInstance( );
  }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 이미지 카운터  (2) 2007.08.17
JRE 설치 체크  (0) 2007.08.12
퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
[EJB] 트랜젝션 소스  (2) 2007.07.02
  1. 2007.07.19 13:42

    비밀댓글입니다

퍼시스트컨택스트안에있을경우만 동기화 상태
db데이터를 빈에넣는걸 refresh 반대는 merge

- entityManager

- @OneToOne(cascade = CascadeType.PERSIST)
종류
CascadeType.PERSIST,REFRESH,MERGE,ALL

- 무결성 삭제
sql>drop table student cascade constraint

 
- 15명 넣고 B팀 구해라

======= 서블릿 ===============
Team team =teamFacade.find(new Character('A'));
       
        Student st = new Student();
        st.setName("awevrawerw");
        st.setPhone("waevrawver");
        st.setEmail("drudur");       
        Collection<Student> coll = team.getSt();
        coll.add(st);        
        team.setSt(coll);         
        st.setTeam(team);      
        studentFacade.create(st);
================ student ============
@Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;
    private String phone;
    private String email;
       
    @ManyToOne
    private Team team;
=========== team ===============
    @Id

    private Character id;
    private String name;
    private String projectSubject;

    @OneToMany(mappedBy = "team")
    private
    Collection<Student> st = new ArrayList();
==========================================
1:1유지
학생10명
팀2팀
====================================================
create table team1(
 team_id varchar2(1),
 name varchar2(5),
 constraint t_id_pk primary key(team_id)
);

create table student1(
 id number(5),
 team varchar2(1),
 constraint st_id_pk primary key(id),
 constraint st_team_fk foreign key(team) references team1(team_id)
);

insert into student1 values(1,'A');

insert into team1 values('A','asdf');

==============================================
SQL> create table team1(
  2   team_id varchar2(1),
  3   name varchar2(5),
  4   constraint t_id_pk primary key(team_id)
  5  );

테이블이 생성되었습니다.

SQL>
SQL> create table student1(
  2   id number(5),
  3   team varchar2(1),
  4   constraint st_id_pk primary key(id),
  5   constraint st_team_fk foreign key(team) references team1(team_id)
  6  );

테이블이 생성되었습니다.

SQL> insert into student1 values(1,'A');
insert into student1 values(1,'A')
*
1행에 오류:
ORA-02291: 무결성 제약조건(SCOTT.ST_TEAM_FK)이 위배되었습니다- 부모 키가
없습니다


SQL> insert into team1 values('A','asdf');

1 개의 행이 만들어졌습니다.

SQL> insert into student1 values(1,'A');

1 개의 행이 만들어졌습니다.
==========================================================
String name=request.getParameter("irum");
        String phone=request.getParameter("phone");
        String email=request.getParameter("email");
        Character teamChar=new Character(request.getParameter("team").charAt(0));
       
        Student st = new Student();
        st.setName(name);
        st.setEmail(email);
        st.setPhone(phone);
       
        Team team = new Team();  
        team.setId(teamChar);  
        team.setName("에이팀");
        team.setProjectSubject("피리리릴");
       
        Team team = new Team();
        team.setId(teamChar);
       
        Collection<Student> stColl;
        if(team.getStudent()!=null){
            stColl = team.getStudent();                       
        }else{
            stColl = new Vector<Student>();  
        }        
        stColl.add(st);
        team.setStudent(stColl);
      
        st.setTeam(team);
       
        studentFacade.create(st);
       
        //request.setAttribute("list",studentFacade.findAll());
        //request.getRequestDispatcher("view.jsp").forward(request,response);      
        request.getRequestDispatcher("index.jsp").forward(request,response);      
        */
=========================================================

- 학생을 검색 그소속된 팀구함 그팀의 소속된 전팀원
       Long num=new Long(Integer.parseInt(request.getParameter("num")));
        Student student =studentFacade.find(num);
        Team team = teamFacade.find(student.getTeam().getId());
        request.setAttribute("st",team.getStudent());            
        request.getRequestDispatcher("view1.jsp").forward(request,response);  

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

JRE 설치 체크  (0) 2007.08.12
퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
[EJB] 트랜젝션 소스  (2) 2007.07.02
계층형 리스트 쿼리  (0) 2007.07.02
  1. 외로운까마귀 2007.07.11 09:00 신고

    애드씨에서 하는 광고 안달았군요.. 좋은 기회였는데요..

    • rails 2007.07.11 12:28

      방문자 수가 적다보니 신청을 하기가...^^

@remove 삭제
@PostConstruct 실행후
@PreDestroy 삭제전

========= shopping.jsp ============
<%@page contentType="text/html"%>
<%@page pageEncoding="EUC-KR"%>
<!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>JSP Page</title>
        <script language="javascript">
            function damki(no){
                var goF = document.gogo;
                var cartF = document.cart;
    if(cartF.amount[no-1].value==0){
     alert("갯수를 정하세요");
    }else{
     goF.img.value = cartF.img[no-1].value;
     goF.gName.value = cartF.gName[no-1].value;
     goF.price.value = cartF.price[no-1].value;
     goF.amount.value = cartF.amount[no-1].value;
                                        goF.num.value = no;                                       
     goF.submit();
    }
            }
        </script>
    </head>
    <body>
        <form action="CartServlet" method="post" name="gogo">
            <input type="hidden" name="num">
            <input type="hidden" name="img">
            <input type="hidden" name="gName">
            <input type="hidden" name="price">
            <input type="hidden" name="amount">
        </form>
        <form name="cart">
            <table border="1">
                <thead>
                    <tr>
                        <th>사진</th>
                        <th>상품명</th>
                        <th>단가</th>
                        <th>수량</th>
                        <th>장바구니담기</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><input type="hidden" name="img" value="notebook.jpg"><img src="notebook.jpg" width=50 height=50></td>
                        <td><input type="hidden" value="존컴" name="gName">존컴</td>
                        <td><input type="hidden" value="10000" name="price">10000</td>
                        <td><select name="amount">
                                <OPTION VALUE="0" SELECTED>0</option>
                                <OPTION VALUE="1">1</option>
                                <OPTION VALUE="2">2</option>
                                <OPTION VALUE="3">3</option>
                                <OPTION VALUE="4">4</option>
                                <OPTION VALUE="5">5</option>
                        </SELECT></td>
                        <td><input type=button value="장바구니담기" onclick="damki('1')"</td>
                    </tr>
                   
                    <tr>
                        <td><input type="hidden" name="img" value="notebook.jpg"><img src="notebook.jpg" width=50 height=50></td>
                        <td><input type="hidden" value="더존컴" name="gName">더존컴</td>
                        <td><input type="hidden" value="20000" name="price">20000</td>
                        <td><select name="amount">
                                <OPTION VALUE="0" SELECTED>0</option>
                                <OPTION VALUE="1">1</option>
                                <OPTION VALUE="2">2</option>
                                <OPTION VALUE="3">3</option>
                                <OPTION VALUE="4">4</option>
                                <OPTION VALUE="5">5</option>
                        </SELECT></td>
                        <td><input type=button value="장바구니담기" onclick="damki('2')"</td>
                    </tr>
                   
                    <tr>
                        <td><input type="hidden" name="img" value="notebook.jpg"><img src="notebook.jpg" width=50 height=50></td>
                        <td><input type="hidden" value="슈퍼컴" name="gName">슈퍼컴</td>
                        <td><input type="hidden" value="30000" name="price">30000</td>
                        <td><select name="amount">
                                <OPTION VALUE="0" SELECTED>0</option>
                                <OPTION VALUE="1">1</option>
                                <OPTION VALUE="2">2</option>
                                <OPTION VALUE="3">3</option>
                                <OPTION VALUE="4">4</option>
                                <OPTION VALUE="5">5</option>
                        </SELECT></td>
                        <td><input type=button value="장바구니담기" onclick="damki('3')"</td>
                    </tr>
                </tbody>
            </table>
        </form>
    </body>
</html>
------------- CartServlet.java -------------------
/*
 * CartServlet.java
 */

package web;

import ejb.CartRecord;
import ejb.CartSessionLocal;
import java.io.*;
import java.net.*;
import java.util.HashMap;
import javax.ejb.EJB;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Administrator
 * @version
 */
public class CartServlet extends HttpServlet {

    @EJB
    private CartSessionLocal cartSessionBean;
   
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        request.setCharacterEncoding("euc-kr");
        if(request.getParameter("end")!=null&&request.getParameter("end").equals("ok")){
           try{
            cartSessionBean.checkout();
            }catch(Exception e){}
            response.sendRedirect("end.jsp");
        }else{   
             int num=Integer.parseInt(request.getParameter("num"));
            String name=request.getParameter("gName");
            int price=Integer.parseInt(request.getParameter("price"));
            int amount=Integer.parseInt(request.getParameter("amount"));
            String img=request.getParameter("img");
            try{
                request.setAttribute("cart",cartSessionBean.addCart(num,img,name,price,amount));           
            }catch(Exception e){}
            request.getRequestDispatcher("viewCart.jsp").forward(request,response);
        }
    }
   
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
-------------------- CartSessionBean.java ---------------
/*
 * CartSessionBean.java
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package ejb;

import java.sql.*;
import java.util.*;
import javax.annotation.Resource;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.sql.DataSource;

/**
 *
 * @author Administrator
 */
@Stateful
public class CartSessionBean implements CartSessionLocal {

    @Resource(name = "oracleDS")
    private DataSource oracleDS;
   
    /** Creates a new instance of CartSessionBean */
    public CartSessionBean() {
    }
    HashMap<Integer,CartRecord> hm = new HashMap<Integer,CartRecord>();
     
    public HashMap<Integer,CartRecord> addCart(int num, String img, String name, int price, int amount) {
        this.hm.put(num,new CartRecord(num,img,name,price,amount));
        return this.hm;
    }
   
    @Remove
    public void checkout() throws SQLException{
        Connection conn = oracleDS.getConnection();
        String sql = "insert into cart values(?,?,?,?,?)";//번호,사진,품명,단가,수량
        PreparedStatement pstmt = conn.prepareStatement(sql);
       
        Iterator <Integer> it = hm.keySet().iterator();
        while(it.hasNext()){
            CartRecord record = hm.get(it.next());
            pstmt.setInt(1,record.getNum());
            pstmt.setString(2,record.getImg());
            pstmt.setString(3,record.getName());
            pstmt.setInt(4,record.getPrice());
            pstmt.setInt(5,record.getAmount());
            pstmt.executeUpdate();
        }      
        pstmt.close();
        conn.close();
        System.out.println("끝");
    }
   
}

------------------------- CartRecord.java -------------
--------------------- viewCart.jsp -------------------
<%@page contentType="text/html"%>
<%@page pageEncoding="euc-kr"%>
<%@page import="java.util.*,ejb.CartRecord"%>
<!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>JSP Page</title>
    </head>
    <body>
        <table border="1">
            <tr>
                <td>사진</td>
                <td>품명</td>
                <td>단가</td>
                <td>수량</td>
                <td>삭제</td>
            </tr>
           
            <%
            HashMap<Integer,CartRecord> hm = (HashMap<Integer,CartRecord>)request.getAttribute("cart");
            Iterator <Integer> it = hm.keySet().iterator();
            int totalPrice=0;
            while(it.hasNext()){
            CartRecord record = hm.get(it.next()); %>
            <tr>
                <td><img src="<%=record.getImg()%>" width=50 height=50></td>
                <td><%=record.getName()%></td>
                <td><%=record.getPrice()%></td>
                <td><%=record.getAmount()%></td>
                <td>삭제하기</td>               
            </tr>
           
            <%
            totalPrice+=record.getPrice()*record.getAmount();
            }%>
            <tr>
                <td colspan="5">총계 : <%=totalPrice%>원</td>
            </tr>
        </table>
        <a href="shopping.jsp">쇼핑계속</a><br>
        <a href="CartServlet?end=ok">결제</a>   
    </body>
</html>
------------------- 디비 ----------------

create table cart(
 num Number(5),
 img varchar2(50),
 name varchar2(50),
 price Number(20),
 amount Number(5)
);

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

퀵타임(quicktime) 포 자바 오디오  (2) 2007.07.18
[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
[EJB] 트랜젝션 소스  (2) 2007.07.02
계층형 리스트 쿼리  (0) 2007.07.02
[EJB] stateful/직렬화  (0) 2007.07.01
  1. 2007.07.04 12:31

    비밀댓글입니다

    • rails 2007.07.04 14:42 신고

      채널을 다르게 하시려면 기존 계정에서 추가하셔서 다시면되구요. 채널 상관없으시다면 기존꺼 갖다 붙여도 되요.^^ 다시가입하실필요는 없습니당!

 트랜젝션 소스
/*
 * DBUpdateSessionBean.java
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package db;

import java.sql.*;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.sql.DataSource;

/**
 *
 * @author Administrator
 */
@Stateless
public class DBUpdateSessionBean implements DBUpdateSessionLocal {

    @Resource(name = "oracleDS")
    private DataSource oracleDS;
    Connection conn = null;
    Statement stmt = null;
   
    /** Creates a new instance of DBUpdateSessionBean */
    public DBUpdateSessionBean() {
       
    }
 
    public String updatePhone(){
        try{     
            conn =oracleDS.getConnection();       
            update1();       
            update2();
            update3();       
            update4();
            update5();
            conn.close();  
        }catch(Exception e){
              System.out.println(e);
              throw new RuntimeException();
        }       
        return "성공";        
    }
   
   
       
    private void update1(){
        try{
        stmt = conn.createStatement();
        String sql = "update employee set phone='12222222' where id='id1'";
        stmt.executeQuery(sql);
        stmt.close();        
        System.out.println("update1 종료");
        } catch(Exception e){
            throw new RuntimeException();
        }
    }
   
    private void update2(){
        try{
            stmt = conn.createStatement();
        String sql = "update employee set phone='010-222-8585' where id='id2'";
        stmt.executeQuery(sql);
        stmt.close();  
         System.out.println("update2 종료");
        } catch(Exception e){
            throw new RuntimeException();
        }
    }
    private void update3(){
       try{
            stmt = conn.createStatement();
        String sql = "update employee set phone='010-333-2334' where id='id3'";
        stmt.executeQuery(sql);
        stmt.close();         
        
         System.out.println("update3 종료");
       } catch(Exception e){
            throw new RuntimeException();
        }
    }
   
    private void update4(){
        try{
            stmt = conn.createStatement();
            String sql = "update employee set phone='010-222-4434' where id='id4'";
            stmt.executeQuery(sql);
            stmt.close();  
             System.out.println("update4 종료");
        }  catch(Exception e){
            throw new RuntimeException();
        }
    }
    
    private void update5(){
        try{
   
            stmt = conn.createStatement();
            String sql = "update employee set phone='010-222-2777' where id='id5'";
            stmt.executeQuery(sql);
            stmt.close();  
             System.out.println("update5 종료");
        }   catch(Exception e){
            throw new RuntimeException();
        }
    }   

    public String getData() {
        String str="";
         try{
            conn =oracleDS.getConnection();
            stmt = conn.createStatement();
            String sql = "select * from employee";
            ResultSet rs = stmt.executeQuery(sql);
            while(rs.next()){
                str += rs.getString(1)+"||||||||"+ rs.getString(2)+"||||||||"+ rs.getString(3)+"<br>";
            }
           
            stmt.close();  
            conn.close();
             System.out.println("as");
        }   catch(Exception e){
            throw new RuntimeException();
        }
        
        return str;
    }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] 양방향 N:1  (2) 2007.07.09
[EJB] stateful,@remove,장바구니  (2) 2007.07.03
[EJB] 트랜젝션 소스  (2) 2007.07.02
계층형 리스트 쿼리  (0) 2007.07.02
[EJB] stateful/직렬화  (0) 2007.07.01
[EJB] transaction  (2) 2007.06.22
  1. 스타DB 2007.08.10 17:12 신고

    이게 jsp인가요?
    php공부하던 학생인데요.
    인터넷 돌아다니다가
    "같은노력으로 배운다면 돈되는언어를배워라"
    라는 감동적인 글을보고 jsp를 배워보려 합니다.
    최범균의 jsp2.0 프로그래밍 기초부터 중급까지
    라는 책도 구입해 놨고요.
    jsp,오라클 실무에 쓸만한만큼 독학을 한다면 몇년 걸릴까요?
    제 블로그 방명록에좀 부탁드릴게요.

    • rails 2007.08.11 15:33 신고

      몇년은 너무 많이 잡으신듯하고
      6개월정도 하신다면 왠만한 프로젝트들은 다 하실 수 있습니다.

계층형 리스트 쿼리
java
String sql = "select * from (select " +
 "nb_no," +//1
 "LPAD('re)',3*(LEVEL-1),'`')||nb_title," +//2
 "nb_name," +//3
 "nb_read," +//4
 "to_char(nb_date,'RR.MM.DD')," +//5
 "rownum rn " +//6
 "from (select * from noticeboard2 order by nb_no desc) " +
 "start with nb_parents=0 connect by prior nb_no=nb_parents ) " +
 "where rn between "+(1+  ((  (int)Math.ceil((double)totalCount / (double)10 )  - page) * 10) )+"
 " +
 "and "+(10+ ((  (int)Math.ceil((double)totalCount / (double)10 )  - page) * 10) )+" "+  
 "order by rn";

sql
select * from (select 번호,LPAD('re)',3*(LEVEL-1),'`')||제목,이름,조회수,to_char(날짜, 'RR.MM.DD'),rownum rn from (select * from 테이블명 order by 번호 desc)
start with 부모번호=0 connect by prior 번호=부모번호)
where rn between 1 and 10 order by rn
 
select * from (select nb_no,LPAD('re)',3*(LEVEL-1),'`')||nb_title,nb_name,nb_read,to_char(nb_date,'RR.MM.DD'),rownum rn from (select * from noticeboard2 order by nb_no desc) start with nb_parents=0 connect by prior nb_no=nb_parents ) where rn between 1 and 10 order by rn

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] stateful,@remove,장바구니  (2) 2007.07.03
[EJB] 트랜젝션 소스  (2) 2007.07.02
계층형 리스트 쿼리  (0) 2007.07.02
[EJB] stateful/직렬화  (0) 2007.07.01
[EJB] transaction  (2) 2007.06.22
[EJB] annotation  (0) 2007.06.20

RMI 클라이언트에서 서버객체를 생성후 매소드를 실행하여 결과만 가지고온다
WEB 클라이언트에서 서버로 요청하면 결과가 나온다
- stateless SB
s.m();
s.m2();
s.m3();
s는 같은 s객체가 아니다!
메소드를 호출할때마다 풀에서 다른 객체를 꺼내온다
 

- 직렬화
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Main{
    public Main() {
    }
    
    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException{
        Student st =  new Student("멍청이",44);
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("c:/aa.obj"));
        oos.writeObject(st);
        oos.close();           
        ObjectInputStream os = new ObjectInputStream(new FileInputStream("c:/aa.obj"));
        Student readSt = (Student)os.readObject();
        System.out.print("이름 : " + readSt.getName() +"\n나이 : " +readSt.getAge());       
    }
   
    public static class Student  implements Serializable{
        private String name;
        private int age;
        public Student(String name,int age){
            this.name=name;
            this.age=age;
        }

        public String getName() {
            return name;
        }    

        public int getAge() {
            return age;
        }       
    }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] 트랜젝션 소스  (2) 2007.07.02
계층형 리스트 쿼리  (0) 2007.07.02
[EJB] stateful/직렬화  (0) 2007.07.01
[EJB] transaction  (2) 2007.06.22
[EJB] annotation  (0) 2007.06.20
[EJB] RMI 도스용 태스트  (0) 2007.06.20
서버 사이드 컴포넌트 (클라이언트 접속가능)
자바 분산 객체 (app접근)
트랜잭셔널 (신뢰성)
-
stateless 풀에있는 적은객체로도 여러명상대가능
stateful 한명을따라다니는 빈

- @PostConstruct
public void doPostConstruct(){
 //빈이 생성된 이후에 수행해야할 작업을 여기서 작성한다
}
 
- @PreDestroy
public void doPreDestroy(){
 //인스턴스가 삭제되기 전에 컨테이너가 호출한다
 //postconstruct 콜백 메서드에서 얻은 자원이 있다면 여기에서 해제한다
}
 
서버가 클라이언트를 호출하는 메소드 콜백메소드

create table employee(
 id varchar2(20),
 name varchar2(20),
 phone varchar2(20)
);

insert into employee values('id1','김씨','010');
insert into employee values('id2','박씨','011');
insert into employee values('id3','홀씨','012');
insert into employee values('id4','붕씨','013');
insert into employee values('id5','감씨','014');

updatePhone() 안에 5개의 메소드가있다
update1~5();

update employee set phone='010-222-2222' where id='id1';

update employee set phone='011' where id='id1';
update employee set phone='012' where id='id2';
update employee set phone='013' where id='id3';
update employee set phone='014' where id='id4';
update employee set phone='015' where id='id5';

=======================================================================
트랜잭션
예를들어 1~5 까지중 도중 실패하면 롤백하는것(throw new RuntimeException();,인덱스 익셉션,널포인트 등)

DB를 생성 5개의 쿼리를 날린다

메소드 하나를 호출하는데 그 속엔 5개의 메소드가있다
updatePhone(){
up1();
....
}
up1()
db 쿼리를 실행

=========================================================================
/*
 * DBUpdateSessionBean.java
 *
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package db;

import java.sql.*;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.sql.DataSource;

/**
 *
 * @author Administrator
 */
@Stateless
public class DBUpdateSessionBean implements DBUpdateSessionLocal {

    @Resource(name = "oracleDS")
    private DataSource oracleDS;
    Connection conn = null;
    Statement stmt = null;
   
    /** Creates a new instance of DBUpdateSessionBean */
    public DBUpdateSessionBean() {
       
    }
 
    public String updatePhone(){
        try{     
            conn =oracleDS.getConnection();       
            update1();       
            update2();
            update3();       
            update4();
            update5();
            conn.close();  
        }catch(Exception e){
              System.out.println(e);
              throw new RuntimeException();
        }       
        return "성공";        
    }
   
   
       
    private void update1(){
        try{
        stmt = conn.createStatement();
        String sql = "update employee set phone='1' where id='id1'";
        stmt.executeQuery(sql);
        stmt.close();        
        System.out.println("update1 종료");
        } catch(Exception e){
            throw new RuntimeException();
        }
    }
   
    private void update2(){
        try{
            stmt = conn.createStatement();
        String sql = "1update employee set phone='010-222-8585' where id='id2'";
        stmt.executeQuery(sql);
        stmt.close();  
         System.out.println("update2 종료");
        } catch(Exception e){
            throw new RuntimeException();
        }
    }
    private void update3(){
       try{
            stmt = conn.createStatement();
        String sql = "update employee set phone='010-333-2334' where id='id3'";
        stmt.executeQuery(sql);
        stmt.close();         
        
         System.out.println("update3 종료");
       } catch(Exception e){
            throw new RuntimeException();
        }
    }
   
    private void update4(){
        try{
            stmt = conn.createStatement();
            String sql = "update employee set phone='010-222-4434' where id='id4'";
            stmt.executeQuery(sql);
            stmt.close();  
             System.out.println("update4 종료");
        }  catch(Exception e){
            throw new RuntimeException();
        }
    }
    
    private void update5(){
        try{
   
            stmt = conn.createStatement();
            String sql = "update employee set phone='010-222-2777' where id='id5'";
            stmt.executeQuery(sql);
            stmt.close();  
             System.out.println("update5 종료");
        }   catch(Exception e){
            throw new RuntimeException();
        }
    }   

    public String getData() {
        String str="";
         try{
   
            stmt = conn.createStatement();
            String sql = "select * from employee";
            ResultSet rs = stmt.executeQuery(sql);
            while(rs.next()){
                str += rs.getString(1)+"||||||||"+ rs.getString(2)+"||||||||"+ rs.getString(3)+"<br>";
            }
           
            stmt.close();  
             System.out.println("as");
        }   catch(Exception e){
            throw new RuntimeException();
        }       
        return str;
    }
}
==================================================================================

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
       
        String str ="";
        String str2 ="";
        try{
            str=dBUpdateSessionBean.updatePhone();
            str2=dBUpdateSessionBean.getData();
        }catch(Exception e){
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
         
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>틀렸음");
            out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
           
            out.close();
        }
       
        request.setAttribute("str",str);
        request.setAttribute("str2",str2);
       
        RequestDispatcher rd = request.getRequestDispatcher("View.jsp");
        rd.forward(request,response);
    }


'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

계층형 리스트 쿼리  (0) 2007.07.02
[EJB] stateful/직렬화  (0) 2007.07.01
[EJB] transaction  (2) 2007.06.22
[EJB] annotation  (0) 2007.06.20
[EJB] RMI 도스용 태스트  (0) 2007.06.20
[jsp] 파일 업로드 시스템  (0) 2007.06.20
  1. 타임코드 2007.06.24 15:08

    한적한 일요일 오후네요...

    비가 온 뒤라 시원~해서 좋습니다.
    잠깐의 여유를 가지시는 시간이 되시길 바라며...

    • rails 2007.06.25 07:36 신고

      또 월요일..비가 많이와서 무지 시원하군요.^^
      힘찬 한주 되세요~

annotation 일종의 주석
 
예로만든 ...
@interface MyAnno{
    String msg();
}
public class Main{
    @MyAnno(msg="gg")
    public static void main(String[] args) {        
    }   
}


import static java.lang.Math.*;
import java.lang.reflect.Method;
import java.lang.annotation.*;


@interface MyAnnotation{
String value();
}

@interface MyAnnotation2{
String msg();
}

@Retention(RetentionPolicy.RUNTIME)
@interface dan{
int value();
}

public class Test {
   
    public Test() {
    }
   
    @MyAnnotation("Hello")
    @MyAnnotation2(msg="Hello2")
   
    public static void main(String[] args) {
        double dd = sin(3.5);
        System.out.println(dd);
        Object obj = null;
        try{
            obj = Class.forName("Test").newInstance();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
       
        Method[] m = obj.getClass().getDeclaredMethods();
       
        for(Method n : m)
        {
            dan d = n.getAnnotation(dan.class);
            if(d==null)
            {
                System.out.println("@dan이 구현이 안됨" + n.getName());
            }
            else
            {
                System.out.println("@dan이 구현됨" + n.getName());
                int su = d.value();
                Test s = new Test();
                s.gugu(su);
               
            }
        }
    }
   
    @dan(5)
    public void gugu(int s)
    {
        int su = s;
        for(int i=1;i<=9;i++)
        {
            System.out.println(su + " x " + i + " = " + (su*i));
        }
    }
   
}

 

--------- 실행 결과 -------------

-0.35078322768961984
@dan이 구현됨gugu
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
@dan이 구현이 안됨main
계속하려면 아무 키나 누르십시오 . . .

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] stateful/직렬화  (0) 2007.07.01
[EJB] transaction  (2) 2007.06.22
[EJB] annotation  (0) 2007.06.20
[EJB] RMI 도스용 태스트  (0) 2007.06.20
[jsp] 파일 업로드 시스템  (0) 2007.06.20
[jsp] 게시판 페이징 기술2  (0) 2007.06.20
RMI
Remote Method Invocation
server side computing
분산객체
트랜잭션
EJB규약
 
인터페이스파일 클라이언트에 제공할 인터페이스(클라이언트가 호출가능 메소드 선언)
서버파일
클라이언트파일

서버상의 사원정보 검색 RMI 프로그램 작성

4출력 <- 클라이언트 1사원이름-> 서버 2-> emp.dat
                <----3검색된사원정보

실행순서
javac
rmic
레지등록
서버실행
클라이언트실행


emp.dat
이름  전화  email
민씨  011   asd1@asdf.net
김씨  012   asd2@asdf.net
박씨  013   asd3@asdf.net

==================== RMI 소스 ==============================
------------------ RMIServer.java --------------------------
import java.io.*;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.util.*;

public class RMIServer extends UnicastRemoteObject implements Rem{
    
    /** Creates a new instance of RMIServer */
    public RMIServer() throws RemoteException{}
   
    public String getSawon(String saName) throws RemoteException,FileNotFoundException, IOException{
        BufferedReader br = new BufferedReader(new FileReader("emp.dat"));
        String str="";
        while((str=br.readLine())!=null){
            StringTokenizer st = new StringTokenizer(str,",");
            String name = st.nextToken();
            if(name.equals(saName))return str;
        }
        return "없숨";
    }
   
    public static void main(String[] args){
        try{
            RMIServer server = new RMIServer();
           
            Naming.rebind("rmi:///Rem",server);
            System.out.println("RMI server running");
        }catch(Exception e){e.getStackTrace();}
    }
   
}

------------------ emp.dat ----------------

이름,전화,email
민씨,011,asd1@asdf.net
김씨,012,asd2@asdf.net
박씨,013,asd3@asdf.net
------------------ Rem.java ---------------

import java.io.FileNotFoundException;
import java.io.IOException;
import java.rmi.*;

public interface Rem extends Remote{
    public String getSawon(String saName) throws RemoteException,FileNotFoundException,IOException;   
}

-------------- Client.java -----------------

import java.rmi.*;
import java.net.*;
import java.io.*;

public class Client {
    public Client() {
    }
   
    public static void main(String[] args) {
        // TODO code application logic here
        try{
            Rem remObject =(Rem)Naming.lookup("rmi://58.121.75.103/Rem");
            System.out.println(remObject.getSawon(args[0]));
           
        }catch(Exception e){e.printStackTrace();}       
    }
   
}

------------- 실행법 ------------------

javac Rem.java

javac RMIServer.java

rmic RMIServer

start rmiregistry

java RMIServer

javac Client.java

java Client

 
================= 끝 ======================


------------------ EmpSearch.java ----------
import java.rmi.*;
public interface EmpSearch extends Remote {
    boolean findByName(String name) throws RemoteException;
    String getName() throws RemoteException;
    String getPhone() throws RemoteException;
    String getEmail() throws RemoteException;
}
------------------ EmpSearchImpl.java -------------------------
import java.io.*;
import java.rmi.*;
import java.net.*;
import java.util.*;

public class EmpSearchImpl implements EmpSearch, Serializable {
    String name, phone, email;
    public EmpSearchImpl() throws RemoteException  {
    }
    public boolean findByName(String name)  throws RemoteException {
        BufferedReader br= null;
        String line = null;
        boolean found = false;
        try{
            br=new BufferedReader(new FileReader("emp.dat"));
            while((line=br.readLine())!=null){
                if(line.indexOf(name)!=-1) {
                   found = true;
                   StringTokenizer token = new StringTokenizer(line);
                   this.name = token.nextToken();
                   this.phone = token.nextToken();
                   this.email = token.nextToken();
                }
            }
            return found;
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }
    }
    public String getName() throws RemoteException {
        return name;
    }
    public String getPhone() throws RemoteException {
        return phone;
    }
    public String getEmail() throws RemoteException {
        return email;
    }
    public static void main(String[] args){
        try {
            EmpSearchImpl robj = new EmpSearchImpl();
            Naming.rebind("RServer", robj);
            System.out.println("Server running...........");
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println("서버등록 실패");
        }
    }
}
---------------- RMIClient.java --------------------
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

public class RMIClient {
    public RMIClient() {
    }
    public static void main(String[] args){
        try {
            // Look up remote object
            EmpSearch robj = (EmpSearch) Naming.lookup("rmi://localhost/RServer");

            // Invoke method on remote object
            boolean result = robj.findByName("홍길동");
            if(result){
                System.out.println("이름:"+robj.getName());
                System.out.println("전화:"+robj.getPhone());
                System.out.println("메일:"+robj.getEmail());
            }
        } catch (MalformedURLException e) {
        } catch (java.rmi.UnknownHostException e) {
        } catch (NotBoundException e) {
        } catch (RemoteException e) {
        }
    }
}
==================================================

 

- EJB 빈의 종류

비지니스로직 ... 세션빈(상태유지stateful,stateless)

엔티티빈

메시지 드리븐 빈

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] transaction  (2) 2007.06.22
[EJB] annotation  (0) 2007.06.20
[EJB] RMI 도스용 태스트  (0) 2007.06.20
[jsp] 파일 업로드 시스템  (0) 2007.06.20
[jsp] 게시판 페이징 기술2  (0) 2007.06.20
[EJB] (Enterprise Java Beans)  (0) 2007.06.15
-- 전송전 폼부분
<form ~ enctype="multipart/form-data" ~>
필요

 -- 파일업로드 컨트롤러
boolean isFile = ServletFileUpload.isMultipartContent(request);
String fileName="";
if(isFile){
 ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
 List items = null;
 try{
  items=upload.parseRequest(request);
 }catch(Exception e){System.out.println(e);}
 Iterator itr= items.iterator();
 
 while(itr.hasNext()){
  try{
   FileItem item = (FileItem)itr.next();
   if(item.isFormField()){
    if(item!=null&&item.getFieldName().equals("title")){
     title=item.getString();
     title=new String(title.getBytes("8859_1"),"EUC-KR");
    }else if(item!=null&&item.getFieldName().equals("content")){
     content=item.getString();
     content=new String(content.getBytes("8859_1"),"EUC-KR");
    }    
   }else{
    String itemName = item.getName();
    fileName = FilenameUtils.getName(itemName);
    //String rootPath=getServletContext().getRealPath("/");
    //File saveFile = new File(rootPath+"upload/"+fileName);
    File saveFile = new File("c:/upload/"+fileName);
    item.write(saveFile);
   }
  }catch(Exception e){System.out.println(e);}
 }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] annotation  (0) 2007.06.20
[EJB] RMI 도스용 태스트  (0) 2007.06.20
[jsp] 파일 업로드 시스템  (0) 2007.06.20
[jsp] 게시판 페이징 기술2  (0) 2007.06.20
[EJB] (Enterprise Java Beans)  (0) 2007.06.15
java mail 첨부파일  (0) 2007.06.08
DB 쿼리
sql>
select * from(select nb_no,nb_title,nb_name,nb_read,to_char(nb_date,'RR.MM.DD'),rownum rn from noticeboard) where rn between 58 and 67 order by nb_no desc
 
쿼리 정리>
select * from
(select 필요한것정보들 ,to_char(nb_date,'RR.MM.DD'),rownum rn from noticeboard)
where rn between (totalCount-9-( (  (int)Math.ceil( (double)totalCount/(double)10) )-page)*10)
and (totalCount-( (  (int)Math.ceil( (double)totalCount/(double)10) )-page)*10) order by nb_no desc
============================================================
기본셋팅
int intPage=(int)Math.ceil((double)게시물갯수/(double)10);
int intpageOfpage=0;
 
페이지에 필요한 파라매터(전체 페이지수,페이지의 페이지(0이 기본으로 시작))
 
int totalPage(페이지의 갯수)= (int)Math.ceil( (double)(전체 페이지수) / (double)(페이지당 표시게시물) );
 
int intpageOfpage(페이지의 페이지)
%>
<%if(intpageOfpage!=0){//다음 페이지가 없을경우%>
<a href="sub7_1_Board.jsp?page=<%=totalPage-(intpageOfpage*5)+5%

&pageOfpage=<%=intpageOfpage-1%>">다음</a>&nbsp;&nbsp;
<%}%>
 
<%  
for(int i = totalPage-(intpageOfpage*5) ; i > totalPage-(intpageOfpage*5)-5 && i > 0 ; i--){
%>
<a href="sub7_1_Board.jsp?page=<%=i%>&pageOfpage=<%=intpageOfpage %>"><%=i%></a>&nbsp;&nbsp;
<%}%>
 
<%if((totalPage-(intpageOfpage*5)-5)>0){%>
<a href="sub7_1_Board.jsp?page=<%=totalPage-(intpageOfpage*5)-5%>& pageOfpage=<%=intpageOfpage+1%>">이전</a>
<%} %>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] RMI 도스용 태스트  (0) 2007.06.20
[jsp] 파일 업로드 시스템  (0) 2007.06.20
[jsp] 게시판 페이징 기술2  (0) 2007.06.20
[EJB] (Enterprise Java Beans)  (0) 2007.06.15
java mail 첨부파일  (0) 2007.06.08
java mail  (0) 2007.06.07
EJB, jsp
EJB(Enterprise Java Beans)의 장점
-서버사이드 컴포넌트
-분산 객체 표준
-트랜잭션 기원(분산환경에서의 트랜잭션)

보안기능.MVC 패턴
M entity, V jsp,servlet, C session

netbeans 다운로드
netbeans




'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 파일 업로드 시스템  (0) 2007.06.20
[jsp] 게시판 페이징 기술2  (0) 2007.06.20
[EJB] (Enterprise Java Beans)  (0) 2007.06.15
java mail 첨부파일  (0) 2007.06.08
java mail  (0) 2007.06.07
[jsp] 파일업로드  (3) 2007.06.06
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.io.*;
import java.util.*;
/*
* http://java.sun.com/products/javamail/downloads/index.html (JavaMail API download)
* http://java.sun.com/products/javabeans/jaf/downloads/index.html (JAF download)
* Windows SMTP 설치 후, 시작>프로그램>관리도구>인터넷 정보서비스(IIS)관리>기본SMTP가상서버
* >속성>액세스>릴레이>아래목록만>추가>127.0.0.1입력>확인>적용>확인
* SMTP 서버 시작
* 이 클래스를 컴파일 / 실행
* 메일 수신자 측에서 수신된 메일을 확인한다.
* 테스트 환경: Windows 2003 (SMTP서버 설치), JDK6.0
* 테스트 일자: 2007.06.07
*/
class JavaMail_Append {
 public static void main(String[] args)  {
  try{
   //set up the default parameters.
   Properties props = new Properties();
   props.put("mail.transport.protocol", "smtp");
   props.put("mail.smtp.host", "127.0.0.1");
   props.put("mail.smtp.port", "25");
   //create the session and create the new mail message
   Session mailSession = Session.getInstance(props);
   Message msg = new MimeMessage(mailSession);
   //set the FROM, TO, DATE and SUBJECT fields
   msg.setFrom(new InternetAddress("cwisky@yahoo.co.kr"));
   msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("cwisky@paran.com"));
   msg.setSentDate(new Date());
   msg.setSubject("Testing my send mail method");
   //create the body of the mail
   msg.setText("Hello! from my first java e-mail...Testing!!");

   // 파일을 첨부하는 예
   Multipart mp = new MimeMultipart();
   //mp.addBodyPart(mbp01);

   File file = new File("JavaMail_Append.java");

   MimeBodyPart mbp02 = new MimeBodyPart();

   FileDataSource fds = new FileDataSource(file);

   mbp02.setDataHandler(new DataHandler(fds));
   mbp02.setFileName(fds.getName());
   //String fileName = fds.getName(); //임시파일 삭제를 위해 파일이름을 설정

   mp.addBodyPart(mbp02);
   msg.setContent(mp);

   //ask the Transport class to send our mail message
   Transport.send(msg);
   System.out.println("E-mail successfully sent!!");
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 게시판 페이징 기술2  (0) 2007.06.20
[EJB] (Enterprise Java Beans)  (0) 2007.06.15
java mail 첨부파일  (0) 2007.06.08
java mail  (0) 2007.06.07
[jsp] 파일업로드  (3) 2007.06.06
[jsp] 뒤로가기 안되게..  (0) 2007.06.04
import javax.mail.*;
import javax.mail.internet.*;
import java.io.*;
import java.util.*;
/*
* http://java.sun.com/products/javamail/downloads/index.html (JavaMail API download)
* http://java.sun.com/products/javabeans/jaf/downloads/index.html (JAF download)
* Windows SMTP 설치 및 Relay를 127.0.0.1으로 등록/ SMTP 서버 실행
* 이 클래스를 컴파일 / 실행
* 메일 수신자 측에서 수신된 메일을 확인한다.
* 테스트 환경: Windows 2003 (SMTP서버 설치), JDK6.0
* 테스트 일자: 2007.06.07
*/
class JavaMail {
 public static void main(String[] args)  {
  try{
   //set up the default parameters.
   Properties props = new Properties();
   props.put("mail.transport.protocol", "smtp");
   props.put("mail.smtp.host", "127.0.0.1");
   props.put("mail.smtp.port", "25");
   //create the session and create the new mail message
   Session mailSession = Session.getInstance(props);
   Message msg = new MimeMessage(mailSession);
   //set the FROM, TO, DATE and SUBJECT fields
   msg.setFrom(new InternetAddress("KIN"));
   msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("주소"));
   msg.setSentDate(new Date());
   msg.setSubject("KIN");
   //create the body of the mail
   msg.setText("Hello!");
   //ask the Transport class to send our mail message
   Transport.send(msg);
   


   System.out.println("E-mail successfully sent!!");
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[EJB] (Enterprise Java Beans)  (0) 2007.06.15
java mail 첨부파일  (0) 2007.06.08
java mail  (0) 2007.06.07
[jsp] 파일업로드  (3) 2007.06.06
[jsp] 뒤로가기 안되게..  (0) 2007.06.04
[jsp] sax 테스트  (2) 2007.06.01
<html>
 <head><title>Upload page</title></head></p> <p><body>
 <form action="upload_file_multiple.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1">
   <center>
   <table border="2">
    <tr>
        <td align="center"><b>Multiple file Upload</td>
    </tr>
       <tr>
        <td><b>올린이: <input type="text" name="name"></td>
    </tr>
       <tr>
        <td><b>설명: <input type="text" name="desc"></td>
    </tr>
       <tr>
        <td>
         File 1: <input name="file" type="file" id="file">
     <td>
    </tr>
    <tr>
       <td>
       File 2:<input name="file" type="file" id="file">
    </td>
        <tr>
     <td>
        File 3:<input name="file" type="file" id="file">
     </td>
   </tr>
   <tr>
      <td align="center">
               <input type="submit" name="Submit" value="Submit files"/>
   </td>
   </tr>
    </table>
 <center>
 </form>
 </body>
 </html>

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

 <%-- 다음 페이지에 접속하여 라이브러리를 다운로드하고 *.jar 파일을
 Tomcat/common/lib/ 아래에 복사해 넣는다.
 http://jakarta.apache.org/site/downloads/downloads_commons-fileupload.cgi

바이너리1.2집
 http://jakarta.apache.org/site/downloads/downloads_commons-io.cgi

바이너리 1.3.1집
 Tomcat의 WEB-INF/ROOT/아래에 upload폴더를 생성한 후에 이 파일을 테스트한다.
 --%>
<%@ page contentType="text/html;charset=KSC5601"%>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.io.File" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.io.FilenameUtils"%>

<html><head> <title> Apache ServletFileUpload example </title></head>
<center><table>
 <tr><td><h1>파일 업로드 결과 </h1></td></tr>
 <tr><td>
<%
 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
 if (!isMultipart) {
 }else {
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List items = null;
    try {
   items = upload.parseRequest(request);
    } catch (FileUploadException e) {
     out.println("에러 1: "+e);
    }
    Iterator itr = items.iterator();
  while (itr.hasNext()) {
   FileItem item = (FileItem) itr.next();
   if (item.isFormField()) { // 파일이 아닌 폼필드에 입력한 내용을 가져옴.
    if(item!=null && item.getFieldName().equals("name")) {
     String name = item.getString();//form field 안에 입력한 데이터를 가져옴
     name = new String(name.getBytes("8859_1"), "KSC5601");
     out.println("전송자:"+name+"<br>");
    }else if(item!=null && item.getFieldName().equals("desc")) {
     String desc = item.getString();
     desc = new String(desc.getBytes("8859_1"), "KSC5601");
     out.println("파일에 대한 설명:"+desc+"<br>");
    }
   } else { // 폼 필드가 아니고 파일인 경우
    try {
       String itemName = item.getName();//로컬 시스템 상의 파일경로 및 파일 이름 포함
       String fileName = FilenameUtils.getName(itemName);// 경로없이 파일이름만 추출함
     // 전송된 파일을 서버에 저장하기 위한 절차
     String rootPath = getServletContext().getRealPath("/");
     File savedFile = new File(rootPath+"upload/"+fileName);
     item.write(savedFile);// 저정 경로에 파일을 저장함
      
     out.println ("<tr><td><b>파일저장 경로:</b></td></tr><tr><td><b>"+ savedFile+"</td></tr>");
    } catch (Exception e) {
       out.println("서버에 파일 저장중 에러: "+e);
      }
   }
  }
 }
%>
</table>
</center>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

java mail 첨부파일  (0) 2007.06.08
java mail  (0) 2007.06.07
[jsp] 파일업로드  (3) 2007.06.06
[jsp] 뒤로가기 안되게..  (0) 2007.06.04
[jsp] sax 테스트  (2) 2007.06.01
[jsp] 계층쿼리  (0) 2007.06.01
  1. 2007.06.06 18:30

    비밀댓글입니다

    • rails 2007.06.06 20:16 신고

      너무 감사드립니다. 많이 참고 해둘만하네요.
      이렇게 배려해주심에 눈물이 날수도.^^
      꼭 저도 방문자 1000이상을 달성해봐야겠네요.
      방문감사하구요. 자주 찾아 뵙겠습니당..

  2. 2007.06.06 18:31

    비밀댓글입니다

response.setHeader("Cache-control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

java mail  (0) 2007.06.07
[jsp] 파일업로드  (3) 2007.06.06
[jsp] 뒤로가기 안되게..  (0) 2007.06.04
[jsp] sax 테스트  (2) 2007.06.01
[jsp] 계층쿼리  (0) 2007.06.01
[jsp] 게시판 페이징 기술  (0) 2007.05.31
- SAX
이벤트드리븐방식,속도빠르고, 메모리적음
r
 
- DOM
국제표준,메모리높아,섬세조작가능,객체지향적
rw

 홀수번호문제출력
////////////////////////////////////////////////

 

package sax;

import java.io.File;
import java.io.Writer;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class TestSAX extends DefaultHandler {
 boolean ok = false;
 boolean problemOk = false;
 boolean choiceOk = false;
 public static void main(String argv[]) {
        // Use an instance of ourselves as the SAX event handler
        DefaultHandler handler = new TestSAX();
        // Use the default (non-validating) parser
        SAXParserFactory factory = SAXParserFactory.newInstance();
        try {
            // Parse the input
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse( new File("WebRoot/ubiquitous.xml"), handler);

        } catch (Throwable t) {
            t.printStackTrace();
        }
        System.exit(0);
    }

    static private Writer  out;

    //===========================================================
    // SAX DocumentHandler methods
    //===========================================================

    public void startDocument() throws SAXException {       
    }

    public void endDocument() throws SAXException {
    }

    public void startElement(String namespaceURI,
                             String lName, // local name
                             String qName, // qualified name
                             Attributes attrs)    throws SAXException {
     if(qName.equals("question")&&Integer.parseInt(attrs.getValue("num"))%2==1){     
      ok=true;
      System.out.print(attrs.getValue("num")+"번)");           
     }else if(ok&&qName.equals("problem")){
      problemOk=true;      
     }else if(ok&&qName.equals("choice")){
      choiceOk=true;
      System.out.print(attrs.getValue("num")+".");
     }
    }

    public void endElement(String namespaceURI,
                           String sName, // simple name
                           String qName  // qualified name
                          )    throws SAXException {
     if(ok&&qName.equals("question")){     
      ok=false;
       System.out.println("===============================");
     }if(problemOk){
      problemOk=false;
     }if(choiceOk){
      choiceOk=false;
     }
    }

    public void characters(char buf[], int offset, int len)throws SAXException {
     if(ok&&(problemOk||choiceOk)){
      System.out.println(new String(buf, offset, len));
     }
    }
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 파일업로드  (3) 2007.06.06
[jsp] 뒤로가기 안되게..  (0) 2007.06.04
[jsp] sax 테스트  (2) 2007.06.01
[jsp] 계층쿼리  (0) 2007.06.01
[jsp] 게시판 페이징 기술  (0) 2007.05.31
[jsp] core forEach,forToken  (0) 2007.05.25
  1. 여름날 2007.06.02 13:03

    안녕하세요. 여름날입니다.^^
    제 블로그에 오셔서 댓글 남겨주셔서 이렇게 맞댓글 남김니다.^^
    그럼 즐거운 주말 보내세요.^^

col ename format a20

     EMPNO ENAME                       MGR
---------- -------------------- ----------
      7839    KING
      7566       JONES                7839
      7788          SCOTT             7566
      7876             ADAMS          7788
      7902          FORD              7566
      7369             SMITH          7902

select empno,LPAD(' ',3*LEVEL)||ename ename,mgr from emp
start with ename='KING' connect by prior empno=mgr;

 

        RN      EMPNO ENAME                       MGR
---------- ---------- -------------------- ----------
         2       7566       JONES                7839
         3       7788          SCOTT             7566
         4       7876             ADAMS          7788
         5       7902          FORD              7566
         6       7369             SMITH          7902

select *
from (select rownum rn,empno,LPAD('|_',3*(LEVEL-1),' ')||ename ename,mgr from emp start with ename='KING' connect by prior empno=mgr)
where rn between 2 and 8;

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 뒤로가기 안되게..  (0) 2007.06.04
[jsp] sax 테스트  (2) 2007.06.01
[jsp] 계층쿼리  (0) 2007.06.01
[jsp] 게시판 페이징 기술  (0) 2007.05.31
[jsp] core forEach,forToken  (0) 2007.05.25
[JSP] JSTL  (2) 2007.05.22
게시판 페이징 테크닉
 

============== DB 기본 셋팅 ========================
<%--페이징 예제, 다음과 같은 테이블을 생성하고 20 줄 이상의 레코드를 입력한 후에 이 예제를 테스트한다.
create table member(name varchar2(10), phone varchar2(15), email varchar2(20), addr varchar2(30));
insert into member values('이승열', '2345-6754-567', 'lee@paran.com', '서울시 송파구 석천동');
insert into member values('박승정', '654-435-754', 'park@daum.com', '제주시 서귀포동');
insert into member values('김수근', '345-766-35', 'su@yahoo.com', '강원도 영월군');
insert into member values('이희영', '7654-5678-987', 'heey@emaps.com', '서울시 강남구');
insert into member values('김현진', '523-65-7654', 'hjkim@korea.com', '광주시 금남로');
insert into member values('하영재', '4543-4567-765', 'yjhaa@empas.com', '부산시 해운대구');
insert into member values('박응석', '754-5687-754', 'eusuk@naver.com', '서울시 남대문구');
insert into member values('문유심', '567-789-345', 'yousim@lycos.co.kr', '서울시 북가좌동');
insert into member values('한범윤', '2345-6754-567', 'han@bum.com', '인천시 송도구');
insert into member values('신동철', '2345-643-5687', 'sin@dong.com', '경기도 부천시');
insert into member values('김태형', '8976-6754-567', 'taehk@hyoung.com', '경기도 과천시');
insert into member values('권기정', '8765-6789-543', 'kwon@kyee.com', '경기도 광명시');
insert into member values('김종수', '754-5687-35', 'jongsk@paran.com', '서울시 은평구');
insert into member values('고규석', '43-456-3425', 'kyusk@hanmail.com', '충남 대천시');
insert into member values('한대훈', '654-76-876', 'daeh@korea.com', '전북 고창군');
insert into member values('김정곤', '2345-6754-567', 'jungk@jung.com', '전남 여수시');
insert into member values('오윤선', '7654-678-789', 'yunso@korea.com', '경남 김해시');
insert into member values('유경훈', '3425-2345-764', 'kyungy@yahoo.co.kr', '경북 포항시');
insert into member values('김석관', '865-543-865', 'suk@lycos.com', '충북 서산시');
insert into member values('강민성', '6534-2354-456', 'minsk@sun.com', '대구시 월산동');
--%>

----------------------- board.jsp -----------------------

<%@ page contentType="text/html;charset=KSC5601" import="java.util.*,db.Record"%>
<HTML><BODY><CENTER><BR><BR><hr width="65%">
<%
Vector<Record> v = (Vector<Record>)request.getAttribute("board");
int total = Integer.parseInt(request.getAttribute("total").toString());
int linePerPage = Integer.parseInt(request.getAttribute("linePerPage").toString());
%>
<table>
 <%for(int i = 0 ; i < v.size();i++){ %>
 <tr>
  <td><%=v.get(i).getName()%></td>
  <td><%=v.get(i).getPhone()%></td>
  <td><%=v.get(i).getEmail()%></td>
  <td><%=v.get(i).getAddr()%></td>
 </tr>
 <%}%>
</table>
<hr width="65%">
<%
int pages = (int)Math.ceil((double)total/(double)linePerPage);

for(int j= 0 ; j < pages ; j++){ %>
<a href="board2.do?page=<%=j+1%>&linePerPage=<%=linePerPage%>">[<%=j+1%>]</a>
<%}%>
</center></body></html>

----------------------- Board2Action.java-----------------------

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import db.DataBase;

/**
 * MyEclipse Struts
 * Creation date: 05-30-2007
 *
 * XDoclet definition:
 * @struts.action validate="true"
 */
public class Board2Action extends Action {
 /*
  * Generated Methods
  */

 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  * @throws Exception
  */
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  String strPage = request.getParameter("page");
  String linePerPage = request.getParameter("linePerPage");
 
  int intPage=1;
  int intPerPage=8;
  if(strPage!=null && !strPage.equals("")){
   intPage = Integer.parseInt(strPage);
   intPerPage = Integer.parseInt(linePerPage);
  }  
 
  request.setAttribute("linePerPage", intPerPage);
  DataBase db = new DataBase();
  request.setAttribute("board",db.getDB(intPage, intPerPage));
  request.setAttribute("total", db.getTotal());
 
  return mapping.findForward("board");
 }
}

----------------------- db.DataBase.java -----------------------

package db;

import java.sql.*;
import java.util.*;


public class DataBase {
 Connection con = null;
 Statement stmt = null;
 ResultSet rs = null;
 int totalRecord;
 int start;
 int end;
 
 public DataBase() throws Exception{
  Class.forName("oracle.jdbc.driver.OracleDriver");
  con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora92","scott","tiger");
 }
 
 public Vector<Record> getDB(int intPage,int intPerPage) throws SQLException{      
  stmt = con.createStatement();
  rs = stmt.executeQuery("select max(rownum) from member");
  rs.next();
  totalRecord = rs.getInt(1);
  start = totalRecord-((intPage-1)*intPerPage);
  end = start-intPerPage+1;
  if(end<=0) end=1;
 
  rs.close();
  String sql="select * from (select rownum rn, name, phone, email, addr from member order by rn desc) "+
   " where rn between ? and ?";
  PreparedStatement pstmt = con.prepareStatement(sql);
  pstmt.setInt(1, end);
  pstmt.setInt(2, start);
  rs = pstmt.executeQuery();
 
  Vector<Record> v = new Vector<Record>();
  while(rs.next()){
   v.add(new Record(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4)));
  }  
  return v;
 }
 
 public int getTotal(){
  return totalRecord;
 }
}


----------------------- db.Record.java -----------------------

package db;

public class Record {
 private String name;
 private String phone;
 private String email;
 private String addr;
 
 public Record(String name, String phone, String email, String addr) {
  this.name = name;
  this.phone = phone;
  this.email = email;
  this.addr = addr;
 }
 
 public String getAddr() {
  return addr;
 }
 public void setAddr(String addr) {
  this.addr = addr;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPhone() {
  return phone;
 }
 public void setPhone(String phone) {
  this.phone = phone;
 }
 
 
}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] sax 테스트  (2) 2007.06.01
[jsp] 계층쿼리  (0) 2007.06.01
[jsp] 게시판 페이징 기술  (0) 2007.05.31
[jsp] core forEach,forToken  (0) 2007.05.25
[JSP] JSTL  (2) 2007.05.22
[jsp] 장바구니 완성  (6) 2007.05.16
<c:forEach var="n" begin="1" end="9">
 <c:out value="${param.n} * ${n} = ${n*param.n}"/><br>
</c:forEach>

<c:forTokens var="m" items="asdf,asd,s,s,sdf" delims="," >
 <c:out value="${m}"/>
 <br>
</c:forTokens>

<br>
<%
Vector<Goods> v = new Vector<Goods>();
v.add(new Goods("개",500));
v.add(new Goods("고양이",600));
v.add(new Goods("이구아나",700));
session.setAttribute("vec",v);
%>
<c:forEach var="vv" items="${vec}">
 상품명:<c:out value="${vv.item}"/>,가격:<c:out value="${vv.price}"/><br>
</c:forEach>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 계층쿼리  (0) 2007.06.01
[jsp] 게시판 페이징 기술  (0) 2007.05.31
[jsp] core forEach,forToken  (0) 2007.05.25
[JSP] JSTL  (2) 2007.05.22
[jsp] 장바구니 완성  (6) 2007.05.16
[jsp] 장바구니,session  (2) 2007.05.15

JSTL  JSP Standard Tag Library

- jstl 셋팅
 lib 파일압축푼후 톰켓/커먼/lib에

- taglib 지시어

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>

- core라이브러리들
<c:catch>
out
remove
set
choose
when
otherwise
forEach
forTokens
if
import
param
redirect
url

 

-- out
<jsp:useBean id="sb" class="sample.SampleBean">
 <jsp:setProperty name="sb" property="*"/>
</jsp:useBean>

<c:out value="${sb.name}"/>

 

-- set
<c:set var="hello" value="helllllllllllo"/>
<c:out value="${hello}"/>
${hello}

 

-- if
<c:if test="${'sam'==sb.name}">
 <c:out value="Hello ${sb.name}"/>
</c:if>
<c:if test="${'tom'==sb.name}">
 <c:out value="Good day"/>
</c:if>

 

-- choose
<c:choose>
 <c:when test="${'sam'==sb.name}">
  <c:out value="Hello ${sb.name}"/>
 </c:when>
 <c:when test="${'tom'==sb.name}">
  <c:out value="Good day"/>
 </c:when>
</c:choose>

 

-- forEach
<%pageContext.setAttribute("name",new String[]{"가","나","다"}); %>
<c:forEach var="a" items="${name}">
 <c:out value="${a}"/><br>
</c:forEach>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 게시판 페이징 기술  (0) 2007.05.31
[jsp] core forEach,forToken  (0) 2007.05.25
[JSP] JSTL  (2) 2007.05.22
[jsp] 장바구니 완성  (6) 2007.05.16
[jsp] 장바구니,session  (2) 2007.05.15
[jsp] cookie  (0) 2007.05.14
  1. boundless 2007.05.22 20:20 신고

    오늘도 알 수 없는 글들을 한번 쭉 훌터보고 갑니다..-.-
    서당개 3년이면 풍월을 읆는다고..ㅋㅋ

    저도 rails님 블로그 3년 오면 조금 알려나 모르겠네요~^^

    하루 마무리 잘 하시기 바래요~

    • rails 2007.05.23 07:47 신고

      에고 그리 어려운게 아니라 boundless님은 하루정도 공부하시면 다 아실듯..^^

장바구니 완성

============= jangbaguni.jsp ====================
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*"%>
<!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>Insert title here</title>
<jsp:useBean id="db" class="shopping.Database"/>
<%Vector<Vector<Object>> vv = db.getDB();%>
</head>
<body>
<form action=controller.jsp method=post name=jang>
<input type=hidden name=jangs value="ok">
<table bordercolor=black border=1 cellspacing=1>
 <tr align=center>
  <td>체크</td>
  <td>사진</td>
  <td>품명</td>
  <td>가격</td>
  <td>수량</td>
 </tr>
 <%
 Vector<String> vnums = new Vector<String>();
 for(int i = 0 ; i < vv.size();i++){  %>
  <%Vector<Object> v = vv.get(i); %>  
  <input type=hidden name=gnum_<%=v.get(0)%> value=<%=v.get(0)%>>
 <tr align=center>  
  <td><input type=checkbox name=checkOn value=<%=v.get(0)%>></td>
  <td><img src="C:\eclipse\workspace\session\WebContent\notebook.jpg" width=100 height=100></td>
  <td><input type=hidden name=goods_<%=v.get(0)%> value=<%=v.get(1)%>><%=v.get(1)%></td>
  <td><input type=hidden name=price_<%=v.get(0)%> value=<%=v.get(2)%>><%=v.get(2)%></td>
  <td><input type=text size=5 name=amount_<%=v.get(0)%>>개</td>
 </tr>
 <%
 }
 %>
 <tr align=center>
  <td colspan=5><input type=reset value="리셋"><input type=submit value="장바구니담기"></td>
 </tr>
</table>
</form>
</body>
</html>
------------- controller.jsp -------------------
<%@page import="shopping.*"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" import="java.util.Vector"%>
<jsp:useBean id="db" class="shopping.Database"/>
<%
request.setCharacterEncoding("EUC-KR");
if(request.getParameter("jangs")!=null){//jangbaguni.jsp에서 옴
 if(request.getParameterValues("checkOn")!=null){
  String[] cbox = request.getParameterValues("checkOn");
 
  Vector<Vector<Object>> vv = db.getDB();
 
  Vector<String> vs = new Vector<String>();
  for(int i = 0 ; i < vv.size();i++){
   Vector<Object> v = vv.get(i);
   vs.add(v.get(0).toString());
  }  
   
  String goods;
  int gnum,amount,price;
  for(int i = 0 ; i < cbox.length ; i++){
   for(int j = 0 ; j < vs.size() ; j++){
    if(cbox[i].equals(vs.get(j))){
     try{
      amount = Integer.parseInt(request.getParameter("amount_"+vs.get(j)));
      gnum = Integer.parseInt(request.getParameter("gnum_"+vs.get(j)));
      goods = request.getParameter("goods_"+vs.get(j));
      price = Integer.parseInt(request.getParameter("price_"+vs.get(j)));
      session.setAttribute("goods"+gnum,new Goods(gnum,goods,price,amount));
     }catch(Exception e){}
    }   
   }
  }
  response.sendRedirect("result.jsp");
 }else response.sendRedirect("jangbaguni.jsp");
 
 
}else if(request.getParameter("delgoods")!=null){//del.jsp에서 옴
 int delGoodsNum = Integer.parseInt(request.getParameter("delgoods"));
 session.removeAttribute("goods"+delGoodsNum);
 response.sendRedirect("result.jsp");
}
%>

------------ result.jsp -------------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.Enumeration"%>
<!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>Insert title here</title>
</head>
<body>
<table bordercolor=black border=1 cellspacing=1>
<caption>담은결과</caption>
<%
int sum=0;
Enumeration e = session.getAttributeNames();
int totalAmount=0;
while(e.hasMoreElements()){
 String name = e.nextElement().toString();
 shopping.Goods goods = (shopping.Goods)session.getAttribute(name);
%>
 <tr align=center>
  <td>품명</td><td><%=goods.getGoods() %></td>
 </tr>
 <tr align=center>
  <td>가격 </td><td><%=goods.getPrice() %></td>
 </tr>
 <tr align=center>
  <td>수량</td><td><%=goods.getAmount() %></td>
 </tr>
 <tr align=center>
  <form name=del action="controller.jsp" method=post>
   <input type=hidden name=delgoods value="<%=goods.getGnum()%>">
   <td colspan=2><input type=submit value=삭제></td>
  </form>
 </tr>
 <%
 totalAmount++;
 sum+=goods.getPrice()*goods.getAmount();
 %>
<%}
if(totalAmount==0){%>
 <tr align=center>
  <td colspan=2>장바구니 품목이 없습니다!</td>
 </tr>
<%}%>
 <tr align=center>
  <td>총합계</td><td><%=sum%></td>
 </tr>
</table>

<a href=jangbaguni.jsp>쇼핑 ㄱㄱㄱ</a>
</body>
</html>
------------ Database.java -------------------
package shopping;

import java.util.Vector;

public class Database {
 private Object[][] goods=new Object[][]{{1,"구린컴",500000},{2,"걍컴",1000000},{3,"존컴",2000000}};
 public Vector<Vector<Object>> getDB(){
  Vector<Vector<Object>> v = new Vector<Vector<Object>>();
  for(int i = 0 ; i < goods.length;i++){
   Vector<Object> vo = new Vector<Object>();
   for(int j = 0; j < goods[i].length;j++ ){
    vo.add((Object)goods[i][j]);
   }
   v.add(vo);
  }
  return v;
 }
}
------------ del.jsp-------------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
 int delGoodsNum = Integer.parseInt(request.getParameter("delgoods"));
 session.removeAttribute("goods"+delGoodsNum);
 response.sendRedirect("result.jsp");
%>
------------ goods.java -------------------
package shopping;

public class Goods {
 private String goods;
 private int price;
 private int amount;
 private int gnum;
 
 public Goods(int gnum,String goods,int price,int amount){
  this.gnum=gnum;
  this.goods=goods;
  this.price=price;
  this.amount=amount;
 }
 public int getGnum() {
  return gnum;
 }
 
 public int getAmount() {
  return amount;
 }

 public String getGoods() {
  return goods;
 }

 public int getPrice() {
  return price;
 }

}

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] core forEach,forToken  (0) 2007.05.25
[JSP] JSTL  (2) 2007.05.22
[jsp] 장바구니 완성  (6) 2007.05.16
[jsp] 장바구니,session  (2) 2007.05.15
[jsp] cookie  (0) 2007.05.14
[jsp] submit  (0) 2007.05.14
  1. 외로운까마귀 2007.05.17 23:44 신고

    ㅠ.ㅠ

  2. dirtybit 2007.05.18 09:13 신고

    헛 -_-;
    제 블로그의 댓글을 보고 놀러왔는데, 오자마자 jsp소스가떠서 깜짝 놀랐습니다 6^^

    백쉰님 좋은 하루 되세요~

  3. w0rm9 2007.05.20 07:29

    무서워서 무한도전 글에 댓글 못달고 여기와서 답니다^^;
    포털의 힘 무섭네요. 그래도 덕분에 29.5달러나 벌었네요.
    의도하지 않은 낚시가 된 꼴이네요.ㅋ.ㅋ;

장바구니,session
================= jangbaguni.jsp =================
<%@ 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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form name=goods action=controller.jsp method=post>
<table bordercolor=black border=1 cellspacing=1>
 <input type=hidden name=gnum value="1">
 <tr align=center>
  <td colspan=2><img src="C:\eclipse\workspace\session\WebContent\notebook.jpg" width=100 height=100>사진</td>
 </tr>
 <tr align=center>
  <td>품명</td>
  <td><input type=hidden name=goods value="노트북">노트북</td>
 </tr>
 <tr align=center>
  <td>단가</td>
  <td><input type=hidden name=price value="1000000">1000000</td>
 </tr>
 <tr align=center>
  <td>수량</td>
  <td><input type=text size=5 name=amount>개</td>
 </tr>
 <tr align=center>
  <td colspan=2><input type=submit value="장바구니에 담기"></td>
 </tr>
 </form>
 <form name=goods action=controller.jsp method=post>
 <input type=hidden name=gnum value="2">
 <tr align=center>
  <td colspan=2><img src="C:\eclipse\workspace\session\WebContent\notebook.jpg" width=100 height=100>사진</td>
 </tr>
 <tr align=center>
  <td>품명</td>
  <td><input type=hidden name=goods value="좋은노트북">좋은노트북</td>
 </tr>
 <tr align=center>
  <td>단가</td>
  <td><input type=hidden name=price value="2000000">2000000</td>
 </tr>
 <tr align=center>
  <td>수량</td>
  <td><input type=text size=5 name=amount>개</td>
 </tr>
 <tr align=center>
  <td colspan=2><input type=submit value="장바구니에 담기"></td>
 </tr>
</table>
</form>
</body>
</html>
---------------------- controller.jsp -----------------
<%@page import="shopping.Goods"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
request.setCharacterEncoding("EUC-KR");
String goods= request.getParameter("goods");
int price = Integer.parseInt(request.getParameter("price"));
int amount;
try{
 amount = Integer.parseInt(request.getParameter("amount"));
}catch(Exception e){amount = 0;}
int gnum = Integer.parseInt(request.getParameter("gnum"));

session.setAttribute("goods"+gnum,new Goods(goods,price,amount));
response.sendRedirect("result.jsp");

%>

----------------------- Goods.java ---------
package shopping;

public class Goods {
 private String goods;
 private int price;
 private int amount;
 
 public Goods(String goods,int price,int amount){
  this.goods=goods;
  this.price=price;
  this.amount=amount;
 }
 
 public int getAmount() {
  return amount;
 }

 public String getGoods() {
  return goods;
 }

 public int getPrice() {
  return price;
 }

}
-------------------- result.jsp ---------------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.Enumeration"%>
<!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>Insert title here</title>
</head>
<body>
<table bordercolor=black border=1 cellspacing=1>
<caption>담은결과</caption>
<%
int sum=0;
Enumeration e = session.getAttributeNames();
while(e.hasMoreElements()){
 shopping.Goods goods = (shopping.Goods)session.getAttribute(e.nextElement().toString());
%>
 <tr align=center>
  <td>품명</td><td><%=goods.getGoods() %></td>
 </tr>
 <tr align=center>
  <td>가격 </td><td><%=goods.getPrice() %></td>
 </tr>
 <tr align=center>
  <td>수량</td><td><%=goods.getAmount() %></td>
 </tr>
 <%sum+=goods.getPrice()*goods.getAmount();%>
<%} %>
<tr align=center>
  <td>총합계</td><td><%=sum%></td>
 </tr>
</table>

<a href=jabaguni.jsp>쇼핑</a>
</body>
</html>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[JSP] JSTL  (2) 2007.05.22
[jsp] 장바구니 완성  (6) 2007.05.16
[jsp] 장바구니,session  (2) 2007.05.15
[jsp] cookie  (0) 2007.05.14
[jsp] submit  (0) 2007.05.14
[jsp] model1 connectionpool jdbc insert,delete,view  (0) 2007.05.10
  1. 2007.07.12 11:13

    비밀댓글입니다

    • rails 2007.07.12 15:18 신고

      안되는게 있군요. 우선 현재 테스트 해보실듯하여
      완성된 파일을 올려두겠습니다.
      받아서 한번 확인해보세요~^^

cookie
 
<%
 Cookie[] cookies = request.getCookies();
 for(int i = 0 ; i < cookies.length ; i++){
  out.println(cookies[i].getName());
  out.println(cookies[i].getValue());  
 }
%>

================== loginForm.jsp =======================
<%@ page contentType="text/html;charset=KSC5601"%>
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 </HEAD>
 <BODY>
 <form action="loginController.jsp" method="post">
  ID  <input type="text" name="id"><br>
  PWD <input type="password" name="pwd"><br>
  <input type="submit" value="로그인">
  </form>
 </BODY>
</HTML>
------------------- loginController.jsp ------------------
<%@ page contentType="text/html;charset=KSC5601"%>
<%
 String id = request.getParameter("id");
 String pwd = request.getParameter("pwd");

 if(id==null || id.equals("")) response.sendRedirect("loginForm.jsp");
 if(pwd==null || pwd.equals("")) response.sendRedirect("loginForm.jsp");

 Cookie c = new Cookie("id", id);
 response.addCookie(c);
 response.sendRedirect("menuList.jsp");
%>
----------------------- menuList.jsp ---------------
<%@ page contentType="text/html;charset=KSC5601"%>
<%
  Cookie[] c = request.getCookies();
  if(c==null||c.length==0) response.sendRedirect("warning.jsp");

  boolean loginOK = false;
  for(int i=0;i<c.length;i++) {
   if(c[i].getName().equals("id")) loginOK=true;
  }
  if(!loginOK) response.sendRedirect("warning.jsp");
%>
<html><body>
여기는 메뉴 페이지<br>
<br>
<a href="menu1.jsp">메뉴 1로 바로가기</a><br>
<a href="menu2.jsp">메뉴 2로 바로가기</a><br>
</body></html>
---------------------- menu1.jsp --------------------
<%@ page contentType="text/html;charset=KSC5601"%>
<%
  Cookie[] c = request.getCookies();
  boolean loginOK = false;
  if(c==null||c.length==0) {
   response.sendRedirect("warning.jsp");
  }else{
   for(int i=0;i<c.length;i++) {
    if(c[i].getName().equals("id")) loginOK=true;
   }
   if(!loginOK) response.sendRedirect("warning.jsp");
  }
%>
<html><body>
Menu 1<br>
<br>
<a href="menuList.jsp">주 메뉴로 바로가기</a><br>
<a href="menu2.jsp">메뉴 2로 바로가기</a><br>
</body></html>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 장바구니 완성  (6) 2007.05.16
[jsp] 장바구니,session  (2) 2007.05.15
[jsp] cookie  (0) 2007.05.14
[jsp] submit  (0) 2007.05.14
[jsp] model1 connectionpool jdbc insert,delete,view  (0) 2007.05.10
[jsp] model1,connection pool셋팅  (0) 2007.05.10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> 윈도우하나 띄우고 그 윈도우에 응답받기 </TITLE>
<script>
 function update(n) {
  window.open("", "updateWnd");
  document.form1.key.value=n;
  document.form1.submit();
 }
</script>
 </HEAD>

 <BODY>
  <a href="javascript:update(1);">리스트 1</a><br>
  <a href="javascript:update(2);">리스트 2</a><br>
  <a href="javascript:update(3);">리스트 3</a><br>

   <form name="form1" method="post" action="update.jsp" target="updateWnd">
    <input type="hidden" name="key" value="">
   </form>

 </BODY>
</HTML>

/////////////////// 호출되는 update.jsp의 내용 //////////////////////////////////
<%@ page contentType="text/html;charset=KSC5601"%>
<%--
 이 페이지에서는 파라미터로 넘어온 프라이머리 키를 받아서 데이터베이스에 질의한 후에
 그 결과를 브라우저에 출력한다. 이용자가 수정하기 쉽도록 폼의 텍스트 박스에 넣어
 주고 수정 버튼도 하나 생성해 줄  필요가 이다.
--%>
<%
String n = request.getParameter("key");
%>
<%=n%>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] 장바구니,session  (2) 2007.05.15
[jsp] cookie  (0) 2007.05.14
[jsp] submit  (0) 2007.05.14
[jsp] model1 connectionpool jdbc insert,delete,view  (0) 2007.05.10
[jsp] model1,connection pool셋팅  (0) 2007.05.10
[jsp] model2 jdbc  (6) 2007.05.07
- 다른 윈도우 접근
<body onLoad="window.name='mainwnd'">
 
<form name=ins action=save.jsp method=post target=mainwnd>

- model1 connectionpool jdbc insert,delete,view

==================== main.java ==========================
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*,model.*"%>
<!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>Insert title here</title>
<script language=javascript>

function ins(){
 window.open("insert.jsp","del","width=200 height=150");
 
}

function del(num){
 document.main1.key.value=num;
 document.main1.submit();
}

</script>
</head>
<body onload="window.name='mainwnd'">
<form name=main1 method=post action=del.jsp>
<input type="hidden" name="key" value="">
</form>
<%
response.setContentType("text/html;charset=KSC5601");
request.setCharacterEncoding("KSC5601");

Vector<Record> vlist = (Vector<Record>)request.getAttribute("vlist");
%>
<table bordercolor=black cellSpacing='1' border='1'>
 <tr height=30 align=center>
  <td width=100>번호</td>
  <td width=100>이름</td>
  <td width=100>직책</td>
  <td width=100>삭제</td>
 </tr>
 
<%for(int i = 0 ; i < vlist.size() ; i++){
 Record r = vlist.get(i);%>
 <%="<tr height=30 align=center><td width=100>" + r.getEmpno()+ "</td>"%>
 <%="<td width=100>" + r.getEname()+ "</td>"%>
 <%="<td width=100>" + r.getJob()+ "</td>"%>
 <%="<td><input type=button name='del"+i+"' value='삭제' onclick=del("+ r.getEmpno() +")></td></tr>"%>
<%}%>
<tr>
 <td colspan=4 align=center><input type=button name=ins value=추가 onclick=ins()></td>
</tr>
</table>
</body>
</html>

------------------ Database.java ---------------
package model;

import java.sql.*;
import java.util.*;
import javax.sql.DataSource;
import javax.naming.*;


public class Database {
 Statement stmt;
 Connection conn;
 String str="";
 
 public Database(){
try{
 Context initContext = new InitialContext();
 Context envContext  = (Context)initContext.lookup("java:/comp/env");
 DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
 conn = ds.getConnection();
 stmt = conn.createStatement();
 }catch(Exception e){}
}
 
 public Vector<Record> getDB(){
 Vector<Record> v1 = new Vector<Record>();  
 try{
  ResultSet rs = stmt.executeQuery("select * from emp");
  while(rs.next()){      
   v1.add(new Record(rs.getInt(1),rs.getString(2),rs.getString(3)));
  }
  rs.close();
  stmt.close();
  conn.close();
 }catch(Exception e){}
 return v1;
 }
 
 public void setDB(int bunho,String name,String job){
 try{
  stmt.executeQuery("insert into emp(empno,ename,job) values("+bunho+",'"+name+"','"+job+"')");
 }catch(Exception e){}
 }
 
 public void delDB(int bunho){
 try{
  stmt.executeQuery("delete emp where empno="+bunho);
 }catch(Exception e){}
 }

}

--------------------- save.jsp ----------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
request.setCharacterEncoding("KSC5601");

String irum = request.getParameter("irum");
int bunho = Integer.parseInt(request.getParameter("bunho"));
String job = request.getParameter("job");
System.err.println(irum+""+bunho+""+job);
db.setDB(bunho,irum,job);

request.setAttribute("vlist",db.getDB());
%>
<jsp:forward page="view.jsp"/>
---------------------- del.jsp -----------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
request.setCharacterEncoding("KSC5601");
int bunho = Integer.parseInt(request.getParameter("key"));
db.delDB(bunho);
request.setAttribute("vlist",db.getDB());
%>
<jsp:forward page="view.jsp"/>

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] cookie  (0) 2007.05.14
[jsp] submit  (0) 2007.05.14
[jsp] model1 connectionpool jdbc insert,delete,view  (0) 2007.05.10
[jsp] model1,connection pool셋팅  (0) 2007.05.10
[jsp] model2 jdbc  (6) 2007.05.07
[jsp] model2  (0) 2007.05.04
model1,connection pool셋팅
 
model2 -> model1 으로

========= controller.jsp ===============
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*,model.*"%>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
response.setCharacterEncoding("KSC5601");
Vector<Record> vlist = db.getDB();
request.setAttribute("vlist",vlist);
try{
 RequestDispatcher d =request.getRequestDispatcher("view.jsp");  
 d.forward(request,response);  
}catch(Exception e){}

%>
========= controller.jsp=====================
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
request.setAttribute("vlist",db.getDB());
%>
<jsp:forward page="view.jsp"/>
================================================
 
- connection pool 셋팅

============== datasource.jsp =================

<%@ page contentType="text/html;charset=KSC5601"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>

<%-- Tomcat 5.5에서 DataSource를 사용하여 Connection Pooling을 구현하는 예제
테스트 환경: Tomcat 5.5, JDK 1.6, Oracle 10g(9i), Windows 2003
Tomcat/config/server.xml내의 <Host> </Host> 태그 내부에 다음과 같은 내용을 삽입한 후에 이 예제를 실행한다.
테스트 일자: 5. 8. 2007

<Context path="" docBase="ROOT" debug="1" reloadable="true">
  <Resource name="jdbc/myoracle" auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:mtdi" username="scott"
    password="tiger" maxActive="20" maxIdle="10" maxWait="-1" />
</Context>
--%>

<%
 Context initContext = new InitialContext();
 Context envContext  = (Context)initContext.lookup("java:/comp/env");
 DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
 Connection conn = ds.getConnection();
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("select * from emp");
 while(rs.next()){
  out.print(rs.getString(1)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(2)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(3)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(4)+"<br>");
 }
 rs.close();
 stmt.close();
 conn.close();
%>
===============================================
JNDI 자바 네이밍 디랙토리 인터페이스
JNDI를 이용하여 데이터 소스 객채 구하기
커넥션풀에 접근
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C:\oracle\ora92\jdbc\lib\ojdbc14.jar

C:\Tomcat\common\lib\ 에넣기

'정리없는자료 > JAVA(jsp)' 카테고리의 다른 글

[jsp] submit  (0) 2007.05.14
[jsp] model1 connectionpool jdbc insert,delete,view  (0) 2007.05.10
[jsp] model1,connection pool셋팅  (0) 2007.05.10
[jsp] model2 jdbc  (6) 2007.05.07
[jsp] model2  (0) 2007.05.04
[jsp] 공놀이  (2) 2007.05.03

+ Recent posts