'Programming/jsp'에 해당되는 글 44건

  1. 2014.04.04 oracle sql / sequence
  2. 2014.04.02 jsp / tomcat connection pool
  3. 2014.04.01 jsp jdbc 기본 코드
  4. 2014.04.01 jdbc URL 구조
  5. 2014.03.31 jsp action tag / <jsp:useBean
  6. 2014.03.31 jsp cookie
  7. 2014.03.28 jsp 액션 태그 - <jsp:
  8. 2014.03.27 jsp error 페이지 사이즈 제한(IE)
  9. 2014.03.27 jsp buffer
  10. 2014.03.27 jsp - page / request / session / applicaton
Programming/jsp2014. 4. 4. 19:26
오라클에서는 시퀀스를 이용해서 자동증가하는 항목을 만드는데 반해
mysql은 더욱 간편하게 DDL 에서 auto_increment 를 통해 자동증가 항목을 만들수 있다.
음.. 오라클이 거의 표준이니.. ansi sql에서는 어떻게 하려나? 오라클 식을 따르려나?

mysql auto_increment
oracle sequence

[링크 : http://www.w3schools.com/sql/sql_autoincrement.asp]
[링크 : http://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle

'Programming > jsp' 카테고리의 다른 글

win7 에서 jsp 구동시 IPv6로 뜨는 문제  (0) 2014.04.08
eclipse에서 tomcat 서버 추가가 되지 않을 경우  (0) 2014.04.06
jsp / tomcat connection pool  (0) 2014.04.02
jsp jdbc 기본 코드  (0) 2014.04.01
jdbc URL 구조  (0) 2014.04.01
Posted by 구차니
Programming/jsp2014. 4. 2. 16:48
JSP의 connection pool은 대규모 접속을 원활하게 하기 위해
미리 만들어 놓은 소켓을 이용하여 재사용하는 식으로
소켓 생성/파괴의 오버로드를 줄이기 위한 라이브러리이다.

apache의 common 프로젝트로 관리되고 있다.

[링크 : http://commons.apache.org/proper/commons-pool/download_pool.cgi] commons-pool.jar
[링크 : http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi] commons-dbcp.jar

[링크 : http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html]
[링크 : https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

'Programming > jsp' 카테고리의 다른 글

eclipse에서 tomcat 서버 추가가 되지 않을 경우  (0) 2014.04.06
oracle sql / sequence  (0) 2014.04.04
jsp jdbc 기본 코드  (0) 2014.04.01
jdbc URL 구조  (0) 2014.04.01
jsp action tag / <jsp:useBean  (0) 2014.03.31
Posted by 구차니
Programming/jsp2014. 4. 1. 22:15
걍 외우는게 속편할(?) 녀석 ㅠㅠ

<%@ page import = "java.sql.DriverManager" %>
<%@ page import = "java.sql.SQLException" %>
<%@ page import = "java.sql.Connection" %> // interface
<%@ page import = "java.sql.Statement" %> // interface
<%@ page import = "java.sql.ResultSet" %> // interface

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPass);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);

rs.next();
rs.getString("FIELD_NAME"); 


'Programming > jsp' 카테고리의 다른 글

oracle sql / sequence  (0) 2014.04.04
jsp / tomcat connection pool  (0) 2014.04.02
jdbc URL 구조  (0) 2014.04.01
jsp action tag / <jsp:useBean  (0) 2014.03.31
jsp cookie  (0) 2014.03.31
Posted by 구차니
Programming/jsp2014. 4. 1. 18:32
"jdbc:oracle:thin:@myhost:1521:orcl"

jdbc를 통해 (java)
oracle db에 (database server type)
thin driver를 통해
myhost 라는 서버에
1521 번 포트로
orcl 데이터베이스에 접속(database name)



Understanding the Forms of getConnection()

Specifying a Databse URL, User Name, and Password

The following signature takes the URL, user name, and password as separate parameters:

getConnection(String URL, String user, String password);

Where the URL is of the form:
  jdbc:oracle:<drivertype>:@<database>

The following example connects user scott with password tiger to a database with SID orcl through port 1521 of host myhost, using the Thin driver.

Connection conn = DriverManager.getConnection
  ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger");

------------
Oralce provides four types of JDBC driver.

Thin Driver, a 100% Java driver for client-side use without an Oracle installation, particularly with applets. The Thin driver type is thin. To connect user scott with password tiger to a database with SID (system identifier) orcl through port 1521 of host myhost, using the Thin driver, you would write :
  Connection conn = DriverManager.getConnection
  ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger");
  
OCI Driver for client-side use with an Oracle client installation. The OCI driver type is oci. To connect user scott with password tiger to a database with SID (system identifier) orcl through port 1521 of host myhost, using the OCI driver, you would write :
  Connection conn = DriverManager.getConnection
  ("jdbc:oracle:oci:@myhost:1521:orcl", "scott", "tiger");
  
Server-Side Thin Driver, which is functionally the same as the client-side Thin driver, but is for code that runs inside an Oracle server and needs to access a remote server, including middle-tier scenarios. The Server-Side Thin driver type is thin and there is no difference in your code between using the Thin driver from a client application or from inside a server.
 
Server-Side Internal Driver for code that runs inside the target server, that is, inside the Oracle server that it must access. The Server-Side Internal driver type is kprb and it actually runs within a default session. You are already "connected". Therefore the connection should never be closed.
To access the default connection, write:
  DriverManager.getConnection("jdbc:oracle:kprb:");
  or:
  DriverManager.getConnection("jdbc:default:connection:");

[링크 : http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html

'Programming > jsp' 카테고리의 다른 글

jsp / tomcat connection pool  (0) 2014.04.02
jsp jdbc 기본 코드  (0) 2014.04.01
jsp action tag / <jsp:useBean  (0) 2014.03.31
jsp cookie  (0) 2014.03.31
jsp 액션 태그 - <jsp:  (0) 2014.03.28
Posted by 구차니
Programming/jsp2014. 3. 31. 20:49
자바빈에 대한 전반적인건 아니고.. 
jsp 액션 태그로서의
jsp:useBean은 사용법이 간단한 편이다.

DTO(Data Transfer Object) 라고도 표현하며
form의 변수명과 bean에 접속할 클래스의 변수명이 동일할 경우 

을 통해 변수 수 만큼 불러오고 지정하는 수고를 덜 수 있는 장점이 있다.
<jsp:getProperty name="beanName" property="*"/> 

물론 class 파일에서는 변수명과 동일한
public void setVarname(vartype varname)
public vartype getVarname() 
두개의 쌍으로 이루어진 수 많은 함수들을 생성해야 하는 단점이 존재한다. 



'Programming > jsp' 카테고리의 다른 글

jsp jdbc 기본 코드  (0) 2014.04.01
jdbc URL 구조  (0) 2014.04.01
jsp cookie  (0) 2014.03.31
jsp 액션 태그 - <jsp:  (0) 2014.03.28
jsp error 페이지 사이즈 제한(IE)  (0) 2014.03.27
Posted by 구차니
Programming/jsp2014. 3. 31. 20:48
쿠키는 로그인 정보나 장바구니 등에 사용되는
데이터를 클라이언트에 저장하는 기술이다.

[링크 : http://en.wikipedia.org/wiki/HTTP_cookie]

기본적으로 쿠키는 보안에 취약한 단점이 있어 주의해서 사용해야 하며
이를 보완하기 위해 도메인과 경로를 이용하여 접근을 막는 방법이 존재한다.
하지만 클라이언트 쿠키 저장소에 직접 접근을 막을수는 없으니 이래저래 보안이 취약하긴 매한가지.
void setDomain(String domain)
Specifies the domain within which this cookie should be presented.

void setPath(String uri)
Specifies a path for the cookie to which the client should return the cookie. 

jsp에서는 Cookie 클래스를 통해 쿠키를 생성하며
클라이언트에 저장된 쿠키를 서버에서 접근이 가능해지는 구조이다.

쿠키는 한글입력 불가하나 일일이 인코딩해서 사용하면 가능하다.
URLEncoder.encode("한글","euc-kr")
URLDecoder.decode(cookie.getValue(), "euc-kr") 
 
 
쿠키는 보안을 위해 유효시간을 지니며
setMaxAge를 통해 파기 할때 까지의 시간을 초 단위로 지정할 수 있다.
0으로 설정시에는 0초후 파기되므로, 쿠키를 파기하는데 주로 사용된다.
setMaxAge
public void setMaxAge(int expiry)
Sets the maximum age in seconds for this Cookie.
A positive value indicates that the cookie will expire after that many seconds have passed. Note that the value is the maximum age when the cookie will expire, not the cookie's current age.

A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.

Parameters:
expiry - an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie is not stored; if zero, deletes the cookie


+ 2014.04.02 추가
setPath() 메소드는 절대경로로 먹는 느낌
webContent가 존재하는 최상위 경로로 부터 전체 경로를 적어야 한다.
그게.. "쿠키의 경로는 쿠키를 설정하는 서브릿을 포함해야 한다"의 의미이려나?
게다가 이클립스의 경우 프로젝트 명으로 폴더를 하나더 들어가기에
/프로젝트명/폴더 식으로 점점 더 길어진다. -_-a
request.getContextPath() 를 추가해주는게 좋을지도..

setPath

public void setPath(java.lang.String uri)
Specifies a path for the cookie to which the client should return the cookie.

The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's subdirectories. A cookie's path must include the servlet that set the cookie, for example, /catalog, which makes the cookie visible to all directories on the server under /catalog.

Consult RFC 2109 (available on the Internet) for more information on setting path names for cookies.

Parameters:
uri - a String specifying a path
See Also:
getPath() 

'Programming > jsp' 카테고리의 다른 글

jdbc URL 구조  (0) 2014.04.01
jsp action tag / <jsp:useBean  (0) 2014.03.31
jsp 액션 태그 - <jsp:  (0) 2014.03.28
jsp error 페이지 사이즈 제한(IE)  (0) 2014.03.27
jsp buffer  (0) 2014.03.27
Posted by 구차니
Programming/jsp2014. 3. 28. 21:46
<% 와는 다른 형태를 지닌 액션 태그란 녀석..
정식명칭인지 모르겠지만 은근히 검색이 잘 안나온다 ㅠㅠ

아마도.. 정식명칭은 JSP tag중 actions 인거 같기도 하고..
[링크 : http://docs.oracle.com/cd/E13222_01/wls/docs81/jsp/reference.html]

아무튼 request나 pagecontext와의 스코프는 테스트가 필요..
 
<jsp:include
include는 소스가 아닌 결과를 삽입
일반적으로 flush=false로 작업함 

<%@ include
include directive는 소스를 불러옴(차이점 주의!) 


<jsp:forward>
접속한 파일에서 다른 파일로 forward해서 다른 파일에서 응답을 처리함

Redirect - 느림, request 객체 재사용 불가
forward - 빠름, request 객체 재사용 가능URL이 변경되지 않음
[링크 : http://hdm6337.tistory.com/entry/Redirect-와-Dispatcher-Forward-의-차이] 

<jsp:include>
<jsp:param>
</jsp:include>
포함되는 문서에 파라미터 전달하기 

웹서버 레벨에서 header와 footer를 추가하는 기능 
<jsp-config>
   <jsp-property-group>
     <display-name>WebLogicServer</display-name>
     <url-pattern>*.jsp</url-pattern>
     <el-ignored>false</el-ignored>
     <scripting-invalid>false</scripting-invalid>
     <is-xml>false</is-xml>
     <include-prelude>/template/prelude.jspf</include-prelude>
     <include-coda>/template/coda.jspf</include-coda>
   </jsp-property-group>
 </jsp-config>
 
preludes (also called headers) and codas (also called footers)
[링크 : http://docs.oracle.com/cd/E11035_01/wls100/webapp/configurejsp.html] 




'Programming > jsp' 카테고리의 다른 글

jsp action tag / <jsp:useBean  (0) 2014.03.31
jsp cookie  (0) 2014.03.31
jsp error 페이지 사이즈 제한(IE)  (0) 2014.03.27
jsp buffer  (0) 2014.03.27
jsp - page / request / session / applicaton  (0) 2014.03.27
Posted by 구차니
Programming/jsp2014. 3. 27. 21:01
jsp를 통해 에러 메시지를 변경할 수 있는데
HTTP/500 에러의 경우 RFC 문서에 512byte 이상이 되도록 규정이 되어 있고
512 바이트 이하일 경우 IE에 내장된 에러 메시지로 출력하게 된다고 한다.


 Several frequently-seen status codes have "friendly" error messages that Internet Explorer 5.x displays and that effectively mask the actual text message that the server sends. However, these "friendly" error messages are only displayed if the response that is sent to the client is less than or equal to a specified threshold. For example, to see the exact text of an HTTP 500 response, the content length must be greater than 512 bytes.

[링크 : http://support.microsoft.com/kb/294807

해결책으로는
1. ie 설정변경
  • In Internet Explorer 5.x and 6.x, on the Tools menu, click Internet Options.
  • On the Advanced tab, under the Browsing section, click to clear the Show friendly HTTP error messages check box, and then click OK. 
  • 2. 강제로 513 바이트 이상이 되도록 더미 데이터를 붙이는 방법이 있다.

    1번에서 Show friendly HTTP error message는 한글로 "HTTP 오류 메시지 표시"로 번역된 듯?


    'Programming > jsp' 카테고리의 다른 글

    jsp cookie  (0) 2014.03.31
    jsp 액션 태그 - <jsp:  (0) 2014.03.28
    jsp buffer  (0) 2014.03.27
    jsp - page / request / session / applicaton  (0) 2014.03.27
    JSP에서 euc-kr로 할 경우 저장이 안되는 한글이 있다?  (0) 2014.03.26
    Posted by 구차니
    Programming/jsp2014. 3. 27. 19:43
    jsp 파일에서 page를 통해 buffer를 설정이 가능하다.
    기본값은 8K 에 autoFlush(=true) 하도록 되어 있다.
    <%@ page contentType="text/html; charset=euc-kr"%>
    <%@ page buffer="16kb" autoFlush="false"%> 

    jsp 파일에서 설정된 내용은 java/class로 변환되는데 
    public void _jspService(HttpServletRequest request, HttpServletResponse response)
            throws java.io.IOException, ServletException {

        PageContext pageContext = null;
        HttpSession session = null;
        ServletContext application = null;
        ServletConfig config = null;
        JspWriter out = null;
        Object page = this;
        JspWriter _jspx_out = null;
        PageContext _jspx_page_context = null;


        try {
          response.setContentType("text/html; charset=EUC-KR");
          pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out; 

    javax.servlet.jsp.JspFactory.getPageContext() 메소드를 통해 설정하게 된다.
    java.lang.Object
      extended by javax.servlet.jsp.JspFactory
     
    public abstract PageContext getPageContext(Servlet servlet,
                                               ServletRequest request,
                                               ServletResponse response,
                                               String errorPageURL,
                                               boolean needsSession,
                                               int buffer,
                                               boolean autoflush)
     
    [링크 : http://docs.oracle.com/javaee/5/api/javax/servlet/jsp/JspFactory.html#getPageContext(...)

    Posted by 구차니
    Programming/jsp2014. 3. 27. 19:32
    jsp의 scope가 있는데
    page는 하나의 페이지에 대해서 유효
    request는 HTTP request 에 대해서 유효
    session은 HTTP session에 대해서 유효
    applicatoin은 WAS에 대해서 유효한 값 범위를 지닌다.

    조금 다르게 설명을 하면
    page는 단일 jsp 파일 하나에 대한
    request는 jsp 파일 하나에서 링크로 이어지는 파일까지
    session은 웹 브라우저에서 서버로 접속한 세션이 유효한 동안(주로 로그인 인증에 사용)
    application은 웹 서버에서 서비스 하는 하나의 전체 홈페이지에 대해서 유효하다.


    There are four possible scopes:
    • scope="page" (default scope): The object is accessible only from within the JSP page where it was created. A page-scope object is stored in the implicitpageContext object. The page scope ends when the page stops executing.

      Note that when the user refreshes the page while executing a JSP page, new instances will be created of all page-scope objects.

    • scope="request": The object is accessible from any JSP page servicing the same HTTP request that is serviced by the JSP page that created the object. A request-scope object is stored in the implicit request object. The request scope ends at the conclusion of the HTTP request.

    • scope="session": The object is accessible from any JSP page that is sharing the same HTTP session as the JSP page that created the object. A session-scope object is stored in the implicit session object. The session scope ends when the HTTP session times out or is invalidated.

    • scope="application": The object is accessible from any JSP page that is used in the same Web application as the JSP page that created the object, within any single Java virtual machine. The concept is similar to that of a Java static variable. An application-scope object is stored in the implicitapplication servlet context object. The application scope ends when the application itself terminates, or when the JSP container or servlet container shuts down.

    [링크 : http://docs.oracle.com/cd/B14099_19/web.1012/b14014/genlovw.htm

    Scope is nothing but lifetime object 

    1.page - only in the particular jsp
    2.request- only in the jsp to which you forward your request object
    3.session- it is available until the session is invalidate(you can access it from any jsp)
    4.application-it is available until the web application or server shutdown(you can access it from any jsp).available through whole application
     
    [링크 : http://www.coderanch.com/.../certification/Page-Scope-request-Scope-session

    [링크 : http://docs.oracle.com/javaee/1.4/api/javax/servlet/jsp/PageContext.html]
    [링크 : http://www.java-samples.com/showtutorial.php?tutorialid=1009]

    'Programming > jsp' 카테고리의 다른 글

    jsp error 페이지 사이즈 제한(IE)  (0) 2014.03.27
    jsp buffer  (0) 2014.03.27
    JSP에서 euc-kr로 할 경우 저장이 안되는 한글이 있다?  (0) 2014.03.26
    JSP 기본 문법  (0) 2014.03.26
    웹 서버 및 서비스 개요(java/jsp)  (0) 2014.03.26
    Posted by 구차니