jsp 페이지에서는 선언하지 않고도 사용할 수 있는 변수가 있다 그런변수를 jsp페이지의 내장변수(implicit variable)라고한다.

jsp페이지에서 내장변수를 사용할수있는 이유는 웹 컨테이너가 jsp 페이지를 서블릿 클래스로 변환할 때 자동으로 선언해주기 때문이다.


request

 doGet,doPost 메서드의 첫번째 파라미터와 동일한 역할

response

 doGet,doPost 메서드의 두번째 파라미터와 동일한 역할

out

 웹 브라우저로 html 코드를 출력하는 기능

application

 jsp 페이지가 속하는 웹 어플리케이션에 관련된 기능

config

 jsp 페이지의 구성 정보를 가져오는 기능

pageContext

 jsp 페이지 범위 내에서 사용할수 있는 데이터 저장 기능 등

session

 세션에 관한 기능

page

 jsp 페이지로부터 생성된 서블릿

exception

 익셉션 객체




'JSP&Servlet' 카테고리의 다른 글

EL 익스프레션 언어  (0) 2017.02.26
jsp 에서 세션 사용하기  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26
Statement PrepareStatement  (0) 2017.02.26

스크립틀릿(scriptlet) 은 글자 그대로 해석하면 작은 스크립트 라는 뜻이다. <% 로 시작해서 %> 로 끝나고

그사이에 자바 명령문들이 들어갈수 있다. 이명령문들은 웹브라우저로 전송되는것이 아니라 웹 서버쪽에서 실행된다.


1
2
3
4
5
<%
    int total = 0;
    for(int cnt = 1;cnt<=100;cnt++)
        total +=cnt;
%>
cs


 

익스프레션(expression) 은 글자그대로 해석하면 식 이라는 뜻이다. 익스프레션은 <%=로 시작해서 %>로 끝나고

그 사이에 자바 식을 쓸수있다. 이식은 상수나 변수 이름 하나로 구성될수도있고 연산자를 포함한 식이 될수도 있으며

리턴값이 있는 메서드 호출식이 될수도 있다. 이식은 웹서버 쪽에서 실행되고 그 결과만 웹브라우저로 전송된다.


1
<%= total %> <%= total +100%> <%=Math.sqrt(num)%>
cs



선언부(declaration) 는 <%! 로 시작해서 %>로 끝나고 그사이에 변수 선언이나 메서드 선언을 쓸수 있다.

이 변수와 메서드는 jsp 페이지로부터 변환된 서블릿 클래스의 멤버가 되기 때문에 

final public private protected static 키워드를 붙이는 것도 가능하다.


1
2
3
4
5
6
7
8
<%!
    final static int MAX = 10000//변수선언 
 
    private int add (int num1,int mun2){ //메서드 
        int sum = num1+num2;
        return sum;
    }
%>
cs



지시자(directive) 는 jsp의 다른 문법들과는 다른목적으로 사용되는 문법이다. 이것은 웹브라우저로부터의 요청을 처리하기 위해서가 아니라

웹 컨테이너가 jsp페이지를 서블릿클래스로 변환할때 필요한 여러가지 정보들을 기술하기 위해 사용하는 문법이다.


page지시자 include 지시자 taglib 지시자

이지시자들은 <%@ 로시작해서 %>로 끝나야한다. 지시자 다음에는 애트리뷰트(엘리먼트속성)가 올수 있다.


1
2
<%@ page contentType = "text/html; charset = euc-kr" %> //한글이 포함된 jsp페이지
<%@ page import  ="java.utill.*" %>
cs



 속성 설명
 buffer jsp 페이지의 출력 크기를 킬로바이트(KB) 단위로 지정하는 속성이며 기본값은 8KB
 autoFlush jsp 페이지의 내용들이 브라우저에 출력이 되기 전에 버퍼에 다 찰 경우에 저장되어 있는 내용들을 어떻게 처리 할지를 설정
 contentType jsp 페이지의 내용의 출력형태(MIME)
 errorPage jsp 페이지에 예외가 발생할 경우 예외를 처리하는 페이지
 isErrorPage 현재 JSP 페이지가 에러 처리를 담당하는 페이지인지 아닌지의 여부를 지정
 extends jsp 페이지의 class파일이 만들어 질때 상속 받을 클래스
 import 다른 패키지에 있는 클래스 import
 info 페이지를 설명
 isThreadSafe 하나의 JSP 페이지가 동시에 여러 브라우저의 요청을 처리할 수 있는지 여부를 지정
 language jsp 페이지의 스크립트 요소에서 사용할 언어
 session session의 사용 여부
 pageEncoding jsp 페이지에서 사용하는 문자(character)의 인코딩







'JSP&Servlet' 카테고리의 다른 글

jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26
Statement PrepareStatement  (0) 2017.02.26
jsp 한글인코딩  (0) 2017.02.26

<jsp:useBean id="   " class="  " scope="   "/> 



자바빈 객체를 생성

id는 생성할 객체참조변수 명을 지정한다.

class 는 패키지를 포함해서 참조할 클래스 명을 지정해야한다.

scope는 객체의 유효범위를 지정 생략시 page



<jsp:setProperty name="..." property="..." value="..." />



생성된 자바빈 객체에 프로퍼티를 세팅한다.(set메서드와 자동연동)

name은 프로퍼티를 세팅할 자바빈 객체의 참조변수명

property 는 세팅할 멤버변수(필드,전역변수,프로퍼티)명

value는 변수에 저장될 값을 기술한다.

property속성을 * 을 하게되면 모든 멤버변수가 세팅된다.

폼에서 넘어오는 값의 name과 개수가 세팅될 객체의 멤버변수 명과 개수가 일치해야함.



<jsp:getproperty name="..." property="..." /> 



자바빈 객체에 저장된 프로퍼티 값을 가져온다.

name 은 가져올 프로퍼티값의 참조변수명

property는 가져올 프로퍼티 명

'JSP&Servlet' 카테고리의 다른 글

jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
Statement PrepareStatement  (0) 2017.02.26
jsp 한글인코딩  (0) 2017.02.26

Statement


Statement인터페이스는 Connection 객체에 의해 프로그램이 리턴되는 객체에 의해 구현되는

일종의 메소드의 집합을 정의한다.


Statement 객체는 Statement인터페이스를 구현한 객체를 항상 인수가 없는

Connection 클래스의 creatStatement()메소드를 호출함으로 얻어진다


Statement객체를 생성하면 Statement 객체의 executeQuery()메소드를 호출하여

SQL의 질의를 실행시킬수 있다. 메소드 인수는 SQL질의의 문장을 담은 String객체를전달한다

Statement객체는 단순한 질의문을 사용할 경우에 좋다.


PrepareStatement


PrepareStatement객체는 Connection 객체의 PrepareStatement()메소드를 사용하여 생성한다.


SQL문장이 미리 컴파일되고 실행시간동안 인수값을 위한 공간을 확보할수있다는 점에서

Statement 객체와는 차이가있다.


동일한 질의문을 특정 값만 바꾸어서 여러번 실행해야 할때 많은 데이터를 다루기 때문에

질의문을 정리해야 할 필요가 있을때, 인수가많아서 질의문을 정리해야 될 필요가 있을때 사용하면 유용하다.


Statement 객체의 SQL은 실행될때 매번 서버에서 분석되어야 하는 반면 PrepareStatement 객체는

한번 분석되면 재사용이 용이하다.


각각의 인수에 대해 위치홀더(placeholder)를 사용하여 SQL문장을 정의할수있게 해준다

위치홀더는 ? 물음표로 표현된다.


PrepareStatement객체의 장점


동일한 질의문 특정 값만 바꾸어서 여러번 실행해야 할때 많은 데이터를 다루기 때문에

질의문을 리해야 할 필요가있을때,인수가 많아서 질의문을 정리해야될 필요가 있을때 좋다.


미리 컴파일되기 때문에 쿼리의 수행속도가 Statement 객체에 비해 빠르다.


Statement 객체는 쿼리 실행시 ' 작은따옴표가 들어있으면 작은따옴표를 '' 두개로 표시해야한다

그러나 PrepareStatement 객체는 작은따옴표의 문제를 쿼리 실행시 자동으로 처리한다.

'JSP&Servlet' 카테고리의 다른 글

jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26
jsp 한글인코딩  (0) 2017.02.26

get방식에서 한글이 깨지는경우 


tomcat

Severs 디렉토리에서 server.xml

65번줄

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

URIEncoding="euc-kr"를 추가


//post방식 한글처리

request.setCharacterEncoding("euc-kr");





db에 데이터 입력시에 한글이 깨지는경우


db커넥션 주소 뒤에

?useUnicode=true&characterEncoding=euckr

-xml에서는 &특수문자가 허용되지않으므로 &amp; 로 &을 치환해 입력해야한다.




'JSP&Servlet' 카테고리의 다른 글

jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26
Statement PrepareStatement  (0) 2017.02.26

+ Recent posts