Search

'분류 전체보기'에 해당되는 글 34건

  1. 2015.04.01 OZReport 밴드별 설정
  2. 2009.06.02 톰캣의 살짝 버그.. page contentType ㅋ
  3. 2009.06.02 input type
  4. 2009.05.29 getParameter 대소문자 구별함
  5. 2009.05.21 JDBC-ODBC 예제 소스
  6. 2009.05.21 JDBC-ODBC 설정

OZReport 밴드별 설정

레포트툴/OZReport 2015. 4. 1. 19:57 Posted by 유스~*
더미(헤더) - 타이틀밴드 위로 설정개수만큼 추가
타이틀밴드 - 상단에 한번 출력
더미(풋터) - 타이틀 밴드 아래로 설정개수만큼 추가
페이지넘기기 - 타이틀 밴드 이후 밴드는 다음 PAGE 생성

페이지 헤더 밴드 - 문서 머리글처럼 매페이지 상단에 반복 출력 ( 타이틀밴드보다 위에 그려짐 )
페이저 풋터 밴드 - 문서 바닥글처럼 매페이지 하단에 반복 출력
테일 밴드 - 매페이지 하단에 반복 출력 ( 페이지 풋터밴드를 제외한 다른 밴드 아래 이어져 그려짐 )

데이터 밴드 - 다른 데이터 밴드를 마스터 밴드로 설정, 마스터 - 디테일 관계 형성 가능
데이터 헤더 밴드 - 데이터 밴드 직전에 한번 출력
데이터 풋터 밴드 - 데이터 밴드 직후에 한번 출력

상위 그룹 헤더/풋터 - 그룹핑된 보고서

더미 헤더 밴드 - 데이터 밴드 직전에 출력 ( 데이터밴드 - 더미헤더 - 데이터밴드 ) 사이에 위치함
더미 풋터 밴드 - 데이터 밴드 직후에 출력 ( 데이터밴드 - 더미풋터 - 데이터풋터 ) 사이에 위치함

데이터 서브 밴드 - 데이터 밴드 하단에 그려짐. (데이터 밴드가 n건 반복시 서브앤드도 n건 반복)

써머리 밴드 - 보고서 맨 마지막에 한번 출력
더미밴드 - 임의의 위치에 밴드를 추가


[Test.jsp]
<%@ page contentType = "text/html;charset=iso-8859-1" pageEncoding = "euc-kr" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>


<%@ include file = "footer.jsp" %>
<%@ include file = "bottom.jsp" %>


 </BODY>
</HTML>

[footer.jsp]
<%@ page contentType = "text/html;charset(공백)=iso-8859-1" pageEncoding = "euc-kr" %>
<hr>
<h3> footer.jsp 파일 </h3>

다른버그가 아니고 page 지시자에서 빨간부분 charset 의 위치 또는 빈칸 charset=iso-8859-1, charset =iso-8859-1 이런식으로 할경우 톰캣은 http500 에러를 만든다 금지된 복수값(즉 다른값) 으로 인식을 해버린다. old값을 Test.jsp로 알고 new 값을 include하는 footer.jsp로 아는것이다.

또한 pageEncoding의 경우 " "사이에 공백이 있을경우에도 Unsupported encoding 지원하지 않는다고 나온다 -_-
예) "euc-kr " 이런식임.

또한 include 하는 방식이라서 인지.. contentType을 일치를 시켜줘야 하는것 같다.
footer.jsp 의 charset 을 utf-8 로 수정 할경우에도
old값에 iso-8859-1, new 값에 utf-8 을 출력하면서 금지된 복수값(즉 다른값) 이 발생했다고 한다. ㅋㅋ;
일치 시켜줘야한다.. 
그리고 contentType 을 지정하지않을경우에는 아직 알지는 못하지만
디폴트로 맞춰주는것 같다.
footer를 page 지시자를 날리니 Test.jsp를 따라가는것 같고
거꾸로 Test.jsp의 page지시자를 날려도 footer의 page설정값으로 따라갔다.
확인하고 싶다면 톰캣의 서블릿파일로 만들어진것을 확인해보면 알수있다.
  public void _jspService 메소드의 빨간색 부분이 수정되는 것으로 테스트해보면 알수있다.
      response.setContentType("text/html;charset = euc-kr");

input type

컴퓨터/Servlet&JSP 2009. 6. 2. 11:31 Posted by 유스~*


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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
  <input type="text" name="no" value="123">
  <input type="hidden" name="no" value="123">
   <input type="text" name="no" value="123">
 </BODY>
</HTML>

input type을 hidden 으로 할경우 웹페이지상에서는 보이지 않으나
소스보기로 보면 있는것을 알수있다.
보안상 취약함...

getParameter 대소문자 구별함

컴퓨터/Servlet&JSP 2009. 5. 29. 14:38 Posted by 유스~*

[session_test.jsp]
<%@ page contentType = "text/html;charset=euc-kr" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
 <form method="post" action="session_result.jsp">
 아이디&nbsp;<input type="text" name="id"><br>
 패스워드&nbsp;<input type="password" name="pwd"><br>
 <input type="submit" value="확인">&nbsp;
 <input type="reset" value="취소">
 </form>
 </BODY>
</HTML>

[session_result.jsp]
<%@ page contentType = "text/html;charset=euc-kr" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
 <%
  String id = request.getParameter("id");
  String pwd = request.getParameter("pwD");

  if(id.equals("aaa") && pwd.equals("123")) {
 session.setAttribute("id",id);
 %>
 <script language = "javascript">
  alert("로그인되었음");
  location.href="login.jsp";
 </script>
<%
  }
 else {
 %>
 <script language = "javascript">
  alert("아이디 또는 패스워드 오류");
  location.href="session_test.jsp";
 </script>
<%
 }
 %>
 

 </BODY>
</HTML>

대소문자 불일치시에 에러가 난다.
NullPointException 즉 pwD로는 pwd를 못찾는다는 말임.

JDBC-ODBC 예제 소스

컴퓨터/Java 2009. 5. 21. 17:05 Posted by 유스~*

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class JdbcOdbcTest {
 
 public static void main(String[] args) {
  String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  Connection conn = null;
  Statement statement = null;
  
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection("jdbc:ODbc:jodbc","master","master");
   System.out.println("connect success");
   statement = conn.createStatement();
   ResultSet resultSet = statement.executeQuery("select * from hr_regions");
   
   while(resultSet.next()) {
    System.out.println(resultSet.getInt("region_id"));
    System.out.println(resultSet.getString("region_name"));
   }
  } catch(Exception e) {
   System.out.println("connect fail");
  } finally {
   try {
    if(conn != null) {
     conn.close();
    }
    
    if(statement != null) {
     statement.close();
    }
   } catch(Exception e) {
    
   }
  }
 }
}

JDBC-ODBC 설정

컴퓨터/Java 2009. 5. 21. 16:30 Posted by 유스~*

1. 앞에와 같이 ODBC로 데이터베이스 설정

2. Access 설정시 주의 : 계정이 없으므로 ODBC로 설정할때 계정을 만들어주어야 한다.

시작 -> 제어판 -> 관리도구 -> 데이터 원본(ODBC) 추가를 선택

아래 그림과 같이 설정 하면 된다.



데이터원본에 이름을 넣고 선택(S)을 누른다.


ODBC로 데이터베이스 설정한 곳의 데이터베이스를 선택한다.


선택이 끝난후 고급 버튼을 누른다.


로그인 이름과 암호를 설정한다.

3. 드라이버설정
class forName(드라이버이름);
드라이버이름 - "sun.jdbc.odbc.JdbcOdbcDriver"

4. Connection 객체로 데이터베이스 연결
Connection 객체 - DriverManger.getConnection("데이터베이스종류:@IP:포트:데이터베이스이름","계정","비번);

5. Statement 작성
Statement 객체 = Connection객체.createStatement();

6. ResultSet 객체에 연결
객체.get데이터타입(필드인덱스) "필드명" DB는 인덱스 시작 1부터 임. 자바처럼 0이 아님(주의)

Select 구문 - ResultSet 객체 = statement객체.executeQuery(SQL구문);
나머지 구문 - statement객체.executeUpdate(SQL구문);

7. 해제
Connection객체.close();
Statement객체.close();