[방법]


● JSP의 디렉티브 속성의 isErrorPage, errorPage 속성을 이용하여 Error페이지 설정을 해주는 방법


- 결과가 나오는 jsp파일에 errorPage 속성으로 에러 페이지 출력하는 jsp를 명시


1
2
3
4
<%@ page language = "java" contentType="text/html; charset=utf-8"
         pageEncoding = "utf-8" 
         errorPage = "에러처리jsp"
%>



- 에러 페이지 jsp는 isErrorPage 속성을 true로 해주고 예외처리 코드를 작성


1
2
3
4
<%@ page language = "java" contentType="text/html; charset=utf-8"
         pageEncoding = "utf-8" 
         isErrorPage = "true"
%>



● Web.xml에 xml로 각각의 에러 코드에 대한 예외 처리 페이지를 지정하는 방법


1
2
3
4
5
6
7
8
9
<error-page>
    <error-code>에러코드1</error-code>
    <location>에러 페이지 jsp파일</location>
</error-page>
 
<error-page>
    <error-code>에러코드2</error-code>
    <location>에러 페이지 jsp파일</location>
</error-page>




한개의 JSP페이지에서 페이지 디렉티브 errorPage 속성과 web.xml이 같이 지정되어 있으면 페이지 디렉티브의 errorPage가 우선적으로 나타남

'프로그래밍 > JSP' 카테고리의 다른 글

표현 언어  (0) 2020.02.25
JSP 액션태그  (0) 2020.02.25
JSP 내장 객체(and 스코프)  (0) 2020.02.24
JSP 주석  (0) 2020.02.23
JSP 스크립트 요소  (0) 2020.02.23

[ 내장 객체(내장 변수) ]


- JSP가 서블릿으로 변환될 때 컨테이너가 자동으로 생성시키는 멤버 변수

- 서블릿으로 구현 시 자주 사용했던 객체를 개발자가 일일이 만드는 것이 아니라 서블릿으로 변환 시 컨테이너가

  자동으로 생성하여 사용하게끔 제공하는 것.


< 내장 객체 >

내장 객체 

서블릿 타입 

설명 

request 

javax.servlet.http.HttpServletRequest 

클라이언트의 요청 정보를 저장 

response 

javax.servlet.http.HttpServletResponse 

응답 정보를 저장 

out 

javax.servlet.jsp.JspWriter 

JSP 페이지에서 결과를 출력 

session 

javax.servlet.http.HttpSession 

세션 정보를 저장 

application 

javax.servlet.ServletContext 

컨텍스트 정보를 저장 

pageContext 

javax.servlet.jsp.PageContext 

JSP 페이지에 대한 정보를 저장 

page 

java.lang.Object 

JSP 페이지의 서블릿 인스턴스를 저장 

config 

javax.servlet.ServletConfig 

JSP 페이지에 대한 설정 정보 저장 

exception 

java.lang.Exception 

예외 발생 시 예외 처리 


< 내장 객체 스코프 >

내장 객체 

서블릿 

스코프 

page 

this 

한 번의 요청에 대해 하나의 JSP 페이지를 공유 

request 

HttpServletRequest 

한 번의 요청에 대해 같은 요청을 공유하는 JSP 페이지를 공유 

session 

HttpSession 

같은 브라우저에서 공유 

application 

ServletContext 

같은 애플리케이션에서 공유 


※ 내장객체 스코프의 우선순위는 page > request > session > application


'프로그래밍 > JSP' 카테고리의 다른 글

JSP 액션태그  (0) 2020.02.25
JSP 에러 처리 페이지  (0) 2020.02.24
JSP 주석  (0) 2020.02.23
JSP 스크립트 요소  (0) 2020.02.23
JSP 디렉티브  (0) 2020.02.23


[ HTML 주석 ]


1
<!-- html 주석문 -->



[ JAVA 주석 ]


1
<%  /* java주석문 */   %>



[ JSP 주석 ]


1
<%-- JSP 주석문  --%>















































[출처] 이병승, 자바 웹을 다루는 기술, 길벗, 2019년 1월 7일 421~422Page 인용

'프로그래밍 > JSP' 카테고리의 다른 글

JSP 에러 처리 페이지  (0) 2020.02.24
JSP 내장 객체(and 스코프)  (0) 2020.02.24
JSP 스크립트 요소  (0) 2020.02.23
JSP 디렉티브  (0) 2020.02.23
서블릿의 포워드 방법  (0) 2020.02.18


[ 스크립트 요소(Scripting Element) ]


- JSP 페이지에서 여러 동적인 처리를 제공하는 기능

- 브라우저로 전송되지 않고 브라우저로 전송되기 전에 컨테이너에서 서블릿 자바코드로 변환

- 선언문, 스크립트릿, 표현식


[ 선언문 ]


- JSP에서 변수나 메서드를 선언할 때 사용


1
<%! 멤버 변수 or 멤버 메서드 %>



[ 스크립트릿 ]


- 자바 코드를 이용해 화면의 동적인 기능을 구현

- 현재의 JSP에는 사용되지 않음


1
<% 자바 코드 %>



[ 표현식 ]


- JSP 페이지의 정한 위치에 값을 출력하는 기능

- 자바 변수나 자바식에는 ;(세미콜론)을 붙이지 않음


1
<%= 값 or 자바 변수 or 자바 식 %>




























[출처] 이병승, 자바 웹을 다루는 기술, 길벗, 2019년 1월 7일 412~421Page 인용






'프로그래밍 > JSP' 카테고리의 다른 글

JSP 내장 객체(and 스코프)  (0) 2020.02.24
JSP 주석  (0) 2020.02.23
JSP 디렉티브  (0) 2020.02.23
서블릿의 포워드 방법  (0) 2020.02.18
MVC패턴  (0) 2019.04.11


[ 디렉티브 종류 ]


1. 페이지 디렉티브 태그( Page Directive Tag)

- JSP 페이지의 전반적인 정보를 설정할 때 사용


1
<%@ page 속성1="값" 속성2="값" 속성3="값".... %>



2. 인클루드 디렉티브 태그 ( Include Directive Tag)

- 공통으로 사용하는 JSP 페이지를 다른 JSP페이지에 추가할 때 사용


1
<%@ include file="공통기능.jsp" %>



3. 태그라이브 디렉티브 태그 ( Taglib Directive Tag)

- 개발자나 프레임워크에서 제공하는 태그를 사용할 때 사용



[ 페이지 디렉티브 ]


속성 

기본값 

설명 

info 

없음 

페이지를 설명해 주는 문자열 지정 

language 

"java" 

JSP 페이지에서 사용할 언어 지정 

contentType 

"text/html" 

JSP 페이지 출력 형식 지정 

import 

없음 

JSP 페이지에서 다른 패키지의 클래스를 import할 때 지정 

session 

"true" 

JSP 페이지에서 HttpSession 객체의 사용 여부를 지정 

buffer  

"8kb" 

JSP 페이지에서 출력 시 사용할 버퍼 크기를 지정 

autoFlush 

"true" 

JSP 페이지의 내용이 출력되기 전 버퍼가 다 채워질 경우 동작을 지정 

errorPage 

"false" 

JSP 페이지 처리 도중 예외가 발생할 경우 예외 처리 담당 JSP 페이지를 지정 

isErrorPage 

"false" 

현재 JSP가 예외 처리 담당 JSP 페이지인지를 지정 

pageEncoding 

"ISO-8859-1" 

JSP 페이지에서 사용하는 문자열 인코딩을 지정 

idELIgnored 

"true" 

JSP 2.0 버전에서 추가된 기능으로 EL 사용 유무를 지정 


[ 인클루드 디렉티브 ]


<특징> 

- 재사용성이 높다.

- JSP 페이지의 유지관리가 쉽다.

























[출처] 이병승, 자바 웹을 다루는 기술, 길벗, 2019년 1월 7일 398~409 Page 인용

'프로그래밍 > JSP' 카테고리의 다른 글

JSP 주석  (0) 2020.02.23
JSP 스크립트 요소  (0) 2020.02.23
서블릿의 포워드 방법  (0) 2020.02.18
MVC패턴  (0) 2019.04.11
FrontController 패턴 & Command 패턴  (0) 2019.04.11

Oracle에서는 decode문이 존재한다.  여러가지 값을 조건에 맞게 대입하여 연산하는데 쓰이는데,

MariaDB에는 decode문이 없는 대신 case문으로 연산이 가능하다.


[Oracle]


:: decode(값,조건,결과값,조건,결과값 ---) 

:: select decode(count(*),1,'true','false') as result from test where id = 'test' pw='123';


[MariaDB]


:: case 값 when 조건 then 결과값 ----

:: select case when count(*) =1 then 'true' else 'false' end result from test where id = 'test' pw='123';


'프로그래밍 > MariaDB' 카테고리의 다른 글

Mariadb 메모  (0) 2020.03.06
함수 작성하기  (0) 2020.03.06
MariaDB JDBC 연결  (0) 2020.02.17
MariaDB 계정생성,권한 및 기본 명령  (0) 2020.01.27


● Redirect 방법


- HttpServletResponse 객체의 senRedirect()메서드를 이용.

- 웹 브라우저에 재요청하는 방식


1
sendRedirect("포워드할 서블릿 or JSP");


 


● Refresh 방법


- HttpServletResponse 객체의 addHeader() 메서드 이용

- 웹 브라우저에 재요청하는 방식


1
1 response.addHeader("Refresh","경과시간(초);url=요청할 서블릿 or JSP"



● location 방법


- 자바스크립트 location객체의 href 속성을 이용

- 자바스크립트에서 재요청하는 방식


1
location.href='요청할 서블릿 or JSP';



● dispatch 방법


- 일반적으로 포워딩 기능을 지칭

- 서블릿이 직접 요청하는 방법

- RequestDispatcher 클래스의 forward()메서드를 이용


1
2
RequestDispatcher dis = request.getRequestDispatcher("포워딩할 서블릿 or JSP");
dis.forward(request,response);




redirect, refresh, location 방법은 서블릿이 웹 브라우저를 거쳐 다른 서블릿이나 JSP에게 요청하는 방법이고, dispatch 방법은 서블릿에서 클라이언트를 거치지 않고 바로 다른 서블릿에게 요청하는 방법.




[출처] 이병승, 자바 웹을 다루는 기술, 길벗, 2019년 1월 7일 263 Page 인용


'프로그래밍 > JSP' 카테고리의 다른 글

JSP 스크립트 요소  (0) 2020.02.23
JSP 디렉티브  (0) 2020.02.23
MVC패턴  (0) 2019.04.11
FrontController 패턴 & Command 패턴  (0) 2019.04.11
EL(Expression Language)  (0) 2019.03.17

private static final String driver = "org.mariadb.jdbc.Driver";

private static final String url = "jdbc:mariadb://localhost:3306/test";

private static final String user = "abcdef";

private static final String pwd = "1234567!";

  private Statement stmt;

private Connection con;


private void connDB()

{

try {


Class.forName(driver);

con = DriverManager.getConnection(url,user,pwd);

stmt = con.createStatement();


}catch(exception e){

e.printStackTrace();


}

'프로그래밍 > MariaDB' 카테고리의 다른 글

Mariadb 메모  (0) 2020.03.06
함수 작성하기  (0) 2020.03.06
MariaDB Case문  (0) 2020.02.22
MariaDB 계정생성,권한 및 기본 명령  (0) 2020.01.27

@ 계정 생성


- Create User '아이디'&'%'Identified by'비밀번호';


@ 계정 삭제


- Drop User [사용자]@[서버];

- Drop User test@localhost;


@ 권한 주기


- Grant All Privileges On 데이터베이스.*To'아이디'@'%';


@ 사용자 확인


- Select Host, User, Password From User;


@ 데이터베이스 확인


- Show Databases;


@ 데이터베이스 생성


- Create Database 데이터베이스명;'


@ Mysql Database 사용


- USE mysql;


@ 새로고침


- Flush Privileges;


'프로그래밍 > MariaDB' 카테고리의 다른 글

Mariadb 메모  (0) 2020.03.06
함수 작성하기  (0) 2020.03.06
MariaDB Case문  (0) 2020.02.22
MariaDB JDBC 연결  (0) 2020.02.17

java.lang.SecurityException: Prohibited package name이라는 에러가 뜨는이유는 java패키지명을 java로 시작하기 때문이다.



+ Recent posts