이 기사에서는 JSTL을 기반으로 하는 유연하고 흥미로운 기술을 소개합니다. JSTL은 Java Server Pages Standard Tag Library의 약자입니다. JSP가 매우 대중화되었지만 JSTL은 여전히 SQL 데이터베이스 기반 애플리케이션에서 매우 인기가 있습니다. 간단하고 빠른 프론트엔드와 백엔드 개발은 아직 널리 사용되지 않습니다. JSTL을 이해하면 그 장점을 이해하고 프로그래머로서 일상 업무에서 여러 측면에서 JSTL이 사용되었다는 사실을 알게 될 것입니다. 여기서는 여러분이 이미 HTML에 익숙하고 기본적인 SQL 문과 JSP의 기본 사항을 이해할 수 있다고 가정합니다. 다음 콘텐츠에는 이러한 지식이 포함되어 있기 때문입니다.
JSTL은 반복, 조건, XML 문서 구문 분석, 국제화 및 SQL을 사용하여 데이터베이스와 상호 작용하는 기능을 지원하는 표준화된 태그 라이브러리 모음입니다. 처음에 JSTL 사양은 JCP(Java Community 프로세스 프로그램)가 조직한 JSR #52에 의해 개발 및 개선되었습니다. "JCP는 Java 기술 개발의 중요한 작업을 담당합니다." - 공식 웹 사이트 설명. 개방형 조직으로서 JCP는 공식 회원과 비공식 회원을 모두 흡수하며 Java 기술 사양의 형성 및 개발에 중요한 주도적 역할을 담당해 왔습니다. JSTL은 주로 태그 라이브러리의 네 가지 기본 부분인 코어, XML, 국제화 및 SQL 지원을 포함합니다. 본 글의 주요 목적은 SQL 부분의 적용을 통해 JSTL을 빠르게 이해하는 것이기 때문에, 본 글에서는 Core 및 SQL 태그 라이브러리의 일부 기본 기능만 소개합니다.
이 기술은 PHP, ColdFusion과 경쟁할 만큼 간단하고 강력합니다. Java의 응용 분야는 대규모 및 확장 가능한 웹 응용 프로그램뿐만 아니라 단순한 웹 프로그램도 포함할 수 있습니다. 문제. 이를 통해 사이트를 구축할 때 XML 통합 및 데이터베이스 연결에 대한 일반적인 고려 사항을 피할 수 있습니다. 방금 언급했듯이 JSTL의 핵심은 단순성과 사용 편의성입니다. 또한, JSTL은 JSP를 기반으로 구축되었기 때문에 우리가 기억해야 할 모든 Java 기술을 사용할 수 있습니다.
시작하기 전에 JSTL을 실행하는 방법을 알아야 합니다. JSP 기술을 기반으로 하기 때문에 이를 실행하려면 JSP를 컴파일할 수 있는 컨테이너가 필요합니다. 여기서는 무료 JSP 컨테이너인 TOMCAT( http://jakarta. apache.org/tomcat/index.html ). 이 제품을 설치하는 방법은 이 기사의 범위를 벗어납니다. 이 소프트웨어 제품이 현재 매우 인기가 있다는 것은 의심의 여지가 없으며 설치 방법에 대한 많은 문서가 있습니다. 여기서는 JSTL을 실행하는 데 필요한 파일만 설치하고 http://jakarta.apache.org/taglibs/doc/standard-doc/intro 에서 성공적으로 구성했다고 가정합니다.
.html을실제로
설치할 필요는 없으며 애플리케이션의 WEB-INF/lib 디렉토리에 .JAR 파일을 포함시키기만 하면 됩니다.
a 표준 SQL을 지원하는 데이터베이스에서 프로그램을 실행하려면 컴퓨터에 데이터베이스가 설치되어 있어야 합니다. 데이터베이스에는 다양한 유형이 있는데 여기서는 MySql을 선택했습니다. 그를 선택한 이유는 우선 간단하고 빠른 애플리케이션 분야를 구축하는 데 있어 JSTL의 역할을 보여줘야 함과 동시에 이 분야에서 항상 지배적이었던 PHP+MySql과 비교할 수 있기 때문이다. 두 번째 점은 MySql은 무료로 다운로드할 수 있으며 JAVA용 JDBC 드라이버를 포함한다는 것입니다. 즉, 다음 예제를 사용하려면 MYSQL 서버( http://www.mysql.com/products/) 를 다운로드해야 합니다. mysql/index.html ; MySql 커넥터 /J JDBC 드라이버 http://www.mysql.com/products/connector-j/index.html 및 MySql 제어 센터 http://www.mysql.com/products/connector- j/index.html ), 이 제품을 사용하면 MySQL 데이터베이스 파일을 매우 쉽게 운영하고 관리할 수 있습니다. 모든 다운로드가 완료되면 mysql과 mysql Control Center를 설치해야 합니다. 또한 mysql용 JDBC 드라이버는 웹 애플리케이션의 /Web-INF/lib 디렉터리에 있어야 합니다.
프로그램 코드를 생성하기 전에 데이터베이스 테이블을 생성하고 채워야 합니다. 이 주제에 대한 광범위한 기사가 있으며 이를 수행하는 방법은 이 기사의 범위를 벗어납니다. 여기서는 위에서 언급한 시각적 관리 도구인 MySQL Control Center를 추천합니다. 이를 사용하여 프로그램 실행을 위한 테스트 사용자, 데이터베이스를 생성하고 테스트 테이블을 생성하고 여러 레코드를 채울 수 있습니다. 로그인 이름, 비밀번호 데이터베이스 이름 등의 구성 환경 매개변수는 기억해 두었다가 나중에 코드에 적용해야 합니다.
이제 첫 번째 JSTL 애플리케이션을 생성할 준비가 되었습니다.
전체 예제 프로그램 코드에는 Hello.jsp 및 Continue.jsp라는 두 개의 파일이 포함되어 있습니다
. , 로그인 이름, 로그인 비밀번호, 데이터베이스 테이블 이름. Continue.jsp: Hello.jsp의 데이터 정보를 받아 데이터베이스에 접속하고, 데이터베이스의 테이블에 대해 Select 요청을 수행한다.
아래는 이 시스템의 모든 코드 파일인데, 하나씩 설명하겠다. 이 코드는 매우 간단합니다. 코드 구조는 제가 설명하지 않아도 이해하실 수 있을 것입니다.
1: <!-- Hello.jsp -->
2: <html>
3: <머리>
4: <제목>안녕하세요<//제목>
5: </머리>
6: <본체 bgcolor="#ffffff">
7: <h1>필요한 정보를 모두 입력하고 확인을 클릭하세요.</h1>
8: <form method="post" action="Continue.jsp">
9: <br>데이터베이스 로그인:
<입력 유형="텍스트" 이름="로그인" 크기="15">
10: <br>데이터베이스 비밀번호:
<입력 유형="비밀번호" 이름="비밀번호" 크기="15">
11: <br>데이터베이스 이름:
<입력 유형="텍스트" 이름="데이터베이스" 크기="15">
12: <br>데이터베이스 테이블:
<입력 유형="텍스트" 이름="테이블" 크기="15">
13: <br><br><input type="submit" name="submit" value=" OK ">
14: </form>
15: </body>
16: <//html>
(텍스트 왼쪽의 숫자는 일부 마크업 정보를 제공하기 위한 것일 뿐이므로 코드 파일에 입력할 필요는 없습니다.)
위는 모든 소스 코드입니다
.Hello.jsp는 놀랍게도 순수한 HTML 코드이므로 주석이 필요하지 않다고 생각합니다. 이 기사에 이러한 코드 조각을 포함시킨 이유는 필요한 HTML 사이트에 JSTL을 통합하는 방법을 보여주기 위함입니다. 추가 기능을 빠르게 확장하려면 얼마나 간단할까요? Continue.jsp의 전체 코드를 살펴보고 나면 JSTL에 대해 어느 정도 이해할 수 있을 것입니다.
1: <!-- Continue.jsp -->
2: <%@ taglib prefix="c" uri=" http://java.sun.com/jstl/core " %>
3: <@ taglib prefix="sql" uri=" http://java.sun.com/jstl/sql " %>
4: <c:set var="h" value="localhost"/>
5: <c:set var="l" value="${param.login}"/>
6: <c:set var="p" value="${param.password}"/>
7: <c:set var="d" value="${param.database}"/>
8: <c:set var="t" value="${param.table}"/>
9: <html>
10: <머리>
11: <제목>계속</제목>
12: </head>
13: <본체 bgcolor="#ffffff">
14: <sql:setDataSource 드라이버="com.mysql.jdbc.Driver"
url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
15: <sql:query var="result">
16: SELECT * FROM <c:out value="${t}"/>
17: <//sql:쿼리>
18: <c:forEach var="row" items="${result.rowsByIndex}">
19: <c:out value="${row[0]}"/> <br>
20: </c:forEach>
21: </body>
22: <//html>
(텍스트 왼쪽의 숫자는 일부 마크업 정보를 제공하기 위한 것일 뿐이므로 코드 파일에 입력할 필요가 없습니다.)
이것이 우리 코드의 전부입니다. 그거 좋은데? 이제 위 코드의 기능을 설명하겠습니다.
1행은 HTML 주석 설명입니다.
2-3행 이 JSP 태그는 외부 태그 라이브러리를 참조하는 데 사용됩니다. 더 정확하게 말하면 JSTL 라이브러리의 Core 및 SQL 태그 라이브러리 부분을 참조합니다. 이러한 접두사 이름을 통해 도입된 태그 라이브러리의 함수 메서드에 액세스할 수 있도록 접두사 이름을 설정합니다.
Line 4---8 Hello.jsp가 실제로 실행되는 것처럼 continue.jsp를 요청합니다. Continue.jsp가 요청을 받은 후 Hello.jsp에서 여러 변수를 가져와서 구문 분석해야 합니다. .YOUR_VAR}. 네 번째 줄 <c:set 태그에서 ${h} 변수를 "localhost"로 설정합니다. 다섯 번째 줄 변수 ${l}는 Hello.jsp의 로그인 텍스트 필드에 입력한 정보를 가져옵니다(6번째 및 7번째). 8줄의 변수는 각각 사용자가 Hello.jsp에 입력한 비밀번호, 데이터베이스 이름, 데이터 테이블 이름을 가져옵니다.
9-13행은 HTML 페이지 헤더를 생성하는 데 자주 사용하는 몇 가지 간단한 HTML 태그입니다. 이제 중요한 기능이 나옵니다.
14행에서는 앞서 얻은 mysql 드라이버(com.mysql.jdbc.Driver)를 사용하여 데이터베이스 연결을 설정하려고 합니다. URL에 데이터베이스 이름, 호스트 이름, 로그인과 같은 데이터베이스 연결에 필요한 매개변수를 지정합니다. 이름과 로그인 비밀번호. 따라서 다른 JDBC 드라이버를 사용하여 해당 데이터베이스에 연결할 수 있습니다. 다른 SQL 데이터베이스에 연결해야 하는 경우 이 URL을 변경하면 됩니다.
15-17행 여기서는 Select 쿼리를 실행합니다. 16행에 특히 주의하십시오. 여기서는 INSERT와 같은 다른 SQL 명령을 사용하여 다른 JSTL 함수 <c:out을 사용할 수도 있습니다. , 삭제 등 반환 값 없이 이러한 쿼리 요청을 실행하려면 <sql:update JSTL 함수를 사용해야 합니다. <SQL:query>처럼 직접 실행할 수 있지만 실행할 때 명령문 실행에서 반환된 결과를 저장하기 위해 결과 변수를 지정할 필요가 없습니다.
18-20행 이제 위의 SELECT 쿼리 문을 실행했으므로 반환 결과를 표시해야 합니다. <c:forEach는 JSTL에서 반복 기능을 가진 함수입니다. 실행 시 ${result.rowsByIndex}를 통해 변수 ${row}에 반환된 각 데이터 행 정보를 반환한 다음 19번째 줄에서 <c: out value="${row[0]}"/>는 반환된 각 데이터 행의 첫 번째 데이터 열에 있는 값을 표시합니다. 데이터 테이블에 필드가 포함되어 있으면 ${row} 변수의 숫자를 변경하여 요청 테이블의 모든 필드 값에 액세스할 수 있습니다.
21-22행은 HTML 바닥글입니다.
JSTL 애플리케이션을 직접 작성하는 과정에서 이 기능이 얼마나 강력한지 발견하지 못했을 수도 있지만 JSTL 기능이 얼마나 빠른지 상상해 보세요. SQL 기반의 뉴스 칼럼을 통합하는 것인데, 기존 웹 사이트를 통합하는 것이 얼마나 쉬운가요?
아주 좋습니다. 우리 코드는 전문 프로그래머가 아닌 사람이라도 읽고 이해하고 최소한 페이지 레이아웃을 수정할 수 있습니다.
처음에 언급했듯이 JSTL 코드가 제대로 실행되기 위해서는 Mysql Connector/J와 JSTL에 JAR 파일을 설치해야 합니다. 우리는 JSP 컨테이너인 Tomcat을 사용하기 때문에 Tomcat의 파일 디렉토리인 Webapps 아래에 자신만의 폴더를 생성하고, 생성한 파일 디렉토리에 Hello.jsp 및 Continue.jsp 파일을 배치해야 합니다. 또한 WEB-라는 폴더를 생성해야 합니다. INF를 선택하고 Web.xml 구성 파일을 그 안에 넣습니다. web.xml 파일은 다음과 같습니다:
<?xml version="1.0" 인코딩="UTF-8"?>
<!DOCTYPE 웹앱
PUBLIC "-//Sun Microsystems, Inc.//DTD 웹 애플리케이션 2.3//EN"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app />
다음으로 WEB-INF 아래에 lib라는 하위 디렉터리를 만들고 여기에 다음 파일을 넣어야 합니다:
jstl.jar
saxpath.jar
표준.jar
mysql-connector-java-3.0.9-stable-bin.jar (참고, 이 이름은 Mysql Connector/J 버전에 따라 변경될 수 있습니다.)
이 모든 정보를 정확하게 이해하려면 JSTL 또는 Tomcat 매뉴얼에서 확인할 수 있습니다. 작동 방식과 이유는 이 설명서를 읽어야 합니다. 하지만 JSTL의 기본 동작을 빠르게 익힐 수 있도록 관련 지식을 소개했습니다.
다른 Jsp 컨테이너를 사용하는 경우 관련 매뉴얼을 읽어야 합니다.
그래서 한 가지 더 설명드리고 싶습니다. 이 글은 완전한 매뉴얼이 아닌 JSTL 기술에 대한 기본적인 소개일 뿐입니다. JSTL에는 간단하고 빠른 방법으로 Jsp 개발을 완료하는 데 도움이 되는 다양한 기능이 포함되어 있습니다. JSTL 기능과 이 기능이 JavaBeans와 함께 작동하는 방법에 대한 자세한 문서를 읽어보시기 바랍니다. 여러분이 기다려온 개발 플랫폼입니다. 이 기사를 읽으면 SQL 데이터베이스를 기반으로 몇 가지 간단한 프런트엔드 및 백엔드 애플리케이션을 만들 수 있습니다.