황욱 왕강룡 < P > (광저우 해양지질조사국 광저우 5176)
제 1 저자 소개: 황욱, 여자, 1974 년생, 광저우 해양지질조사국 정보소 인터넷실, 엔지니어. < P > 요약 이 문서에서는 당사에서 개발한 B/S 모드 기반 웹 사이트 동적 정보 게시 시스템에 대해 설명하고 시스템의 기본 모듈과 기능을 설명합니다. 이 시스템은 JavaBean 구성 요소 기술 통합기 코드를 활용하고, JDBC 를 사용하여 웹 데이터베이스 액세스를 수행하며, 시스템 구현에 중요한 코드를 제공합니다. < P > 키워드 JSP B/S 모드 동적 정보 공개 시스템 JavaBean
광저우 해양지질조사국의 국제인터넷역은 23 년에 설립되어 대외적으로 단위 이미지를 확립하고 우리 국의 최신 과학 연구 성과, 선진 기술 설비 및 수단을 전시하는 중요한 창구로 자리매김했다. 현재 우리 국의 인터넷 사이트 그래픽 정보 게시는 전통적인 수작업 웹 페이지의 정적 정보 게시 모델을 채택하고 있습니다. 이러한 모델은 비효율적이며 동적 정보의 적시성은 반영되지 않아 네트워크 정보 컨텐츠 감사 및 관리에 많은 불편을 겪고 있습니다. 이것은 웹 사이트의 역할을 발휘하는 데 도움이되지 않습니다. 동적 그래픽 정보 게시 시스템의 개발 목적은 웹 사이트 동적 그래픽 정보 게시의 자동화 및 생산성을 높이고 번거로운 웹 제작 과정을 없애고 웹 페이지 제작을 모르는 사람들도 웹 사이트 동적 정보 콘텐츠 업데이트를 수행할 수 있도록 하기 위한 것입니다. 정보 검토 및 관리를 용이하게 합니다. < P > 성숙한 동적 웹 개발 기술인 JSP 는 SunMicrosystems 가 주창한 동적 웹 기술 표준입니다. JSP 기술은 다음과 같은 특징을 가지고 있습니다. ① 적응 플랫폼의 광범위성, ② 더 나은 보안, ③ 구성 요소 개발의 편리함 [1]. 이러한 요소를 고려하여 웹 사이트 동적 정보 게시 시스템 개발 과정에서 JSP 기술을 채택했습니다.
1 시스템 구조 모델
이 시스템은 B/S(BroWser/Web Server) 모델을 기반으로 개발되었습니다. 특히 그림 1 과 같은 3 계층 아키텍처 [2] 를 사용합니다. 1 프레젠테이션 계층 포함 ② 논리 계층; ③ 데이터 계층. < P > 여기서 표현 계층은 인터넷 동적 정보 게시 시스템의 사용자 인터페이스 부분으로, 사용자와 응용 프로그램 논리 처리 결과를 구현하는 상호 작용 인터페이스이자 사용자와 인터넷 간의 상호 작용 정보를 제공하는 창으로 브라우저로 구성됩니다. 논리 계층은 정보 게시 시스템과 관련된 모든 트랜잭션 논리를 완료합니다. 웹 서버는 클라이언트의 요청에 따라 해당 프로세스를 시작하여 관련 트랜잭션을 완료하고 처리 결과를 HTML 코드로 클라이언트 브라우저에 보냅니다. 정보 게시 시스템은 주로 클라이언트 브라우저, 단위 웹 사이트, 정보 게시 시스템 및 데이터베이스의 네 부분으로 구성됩니다 (그림 2). 이 시스템은 Tomcat 5..28 을 웹 서버에 JSP 엔진으로 내장하여 실행 효율성과 보안 [3] 을 높이기 위해 JavaBean 을 통해 데이터베이스에 연결합니다. 데이터 계층은 주로 데이터 관리, 데이터베이스 데이터 읽기 및 쓰기, 대량의 데이터 업데이트 및 검색, 데이터 저장 등을 제공하는 데이터베이스 서버로 구성됩니다. 이 시스템에서 사용하는 데이터베이스 서버는 SQLServer2 입니다.
그림 1 3 계층 아키텍처
Fig.1 Three tiers
그림 2 정보 공개 시스템의 네 부분
fig.2 the four parts of the system of information public 다음은 주요 모듈에 대한 기능 분석입니다.
2.1 시스템 로그인 < P > 시스템 로그인 모듈에서 로그인 시스템 사용자 ID 의 합법성을 확인하고 사용자 ID 에 따라 다른 페이지로 동적으로 이동하여 ID 에 따라 다른 사용자에게 서로 다른 운영 권한을 부여합니다.
2.2 뉴스 정보 관리 모듈 < P > 는 주로 사용자가 뉴스 정보를 게시, 편집, 조회 및 검토하는 데 사용됩니다. 다음과 같은 기본 작업이 포함됩니다.
1) 1 차 메뉴는 포그라운드에 표시된 주 메뉴를 관리합니다.
2) 보조 메뉴에는 사용자가 백그라운드에서 게시한 뉴스 정보가 표시되며 권한에 따라 게시된 정보를 보고 편집하고 삭제할 수 있는 기능이 제공됩니다.
3) 뉴스 정보 입력, 편집 및 미리 보기, 사진 업로드 등의 기능을 구현하는 뉴스를 게시합니다.
4) 뉴스 감사 권한을 가진 사용자가 뉴스 정보를 검토, 편집할 수 있도록 합니다.
그림 3 정보 공개 시스템의 모듈
fig.3 the module of the information publishing's system
2.3 사용자 관리 모듈
은 관리자가 사용자 정보, 뉴스 정보를 수행할 수 있도록 주로 제공됩니다
1) 사용자 추가 관리자가 새 사용자를 추가하고 사용자의 권한을 설정할 수 있습니다.
2) 사용자 보기/삭제는 관리자가 기존 사용자를 관리하는 데 사용됩니다.
3) 사용자 암호 변경은 사용자가 초기 암호를 수정할 수 있는 기능을 제공합니다.
4) 뉴스 통계 시스템은 해당 요구 사항에 따라 뉴스 정보 공개 통계표를 만들 수 있습니다.
3 상세 설계
3.1 시스템 플랫폼 구축
J2 SDK 는 Java2 의 소프트웨어 개발 도구이며 Java 애플리케이션의 기초입니다. JSP 는 Java 기술을 기반으로 하므로 JSP 환경을 구성하기 전에 J2 SDK 를 설치해야 합니다. 이 시스템은 Tomcat 을 JSP 엔진으로 사용합니다. 소프트웨어 설치가 완료된 후 환경 변수를 구성해야 합니다.
3.2 JDBC 기술을 이용한 데이터베이스 연결
데이터베이스 연결은 동적 웹 사이트에서 가장 중요한 부분이며, Java 에서 데이터베이스에 연결하는 기술은 JDBC(Java Database Connectivity) 로, SQL 을 실행하는 Java API 로 데이터베이스 애플리케이션 개발자, 데이터베이스 포그라운드 도구 개발자를 위한 표준 애플리케이션 설계 인터페이스를 제공하여 개발자가 순수 Java API 언어로 전체 데이터베이스 애플리케이션을 작성할 수 있도록 합니다 [4]. Dell 은 JavaBean 을 사용하여 데이터베이스 연결 및 SQL 문 실행과 같은 일반 데이터베이스 작업을 캡슐화함으로써 데이터베이스에 대한 직접 조작으로 인한 프로젝트가 거대하고, 코드가 너무 길어서 유지 관리가 쉽지 않음을 방지했습니다. 또한 시간과 자원을 절약하고 기존 연결 모드로 인한 데이터베이스 재시작을 방지하기 위해 데이터베이스 연결 풀 기술을 채택했습니다. 주 코드는 다음과 같습니다.
connectionconn = null;
statement stmt = null;
resu 1 tset RS = null;
try
{
c1ass.forname ("com.microsoft.jdbc.sqlserver.sqlserverdriver") //SQL 드라이버 로드
conn = drivermanager.getconnection ("JDBC: Microsoft: SQL server://localhost:" DatabaseName=gmgs ",user =" root ",password =" "); //연결 작성
stmt = conn.createstatement (resultset.type scroll sensitive, resultset.concurread _ OS
string SQL = "select * from art where id = \ 77"+id+"on";
resu 1 tset RS = SQL bean.execute query (SQL); //SQL 문 실행
}
conn.close (); //접속 풀에 접속 반환 [5]
3.3 JavaBean 을 사용하여 데이터베이스 액세스
JavaBean 은 특성 및 메서드를 캡슐화하여 기능을 갖거나 비즈니스를 처리하는 객체가 되는 Java 클래스입니다. JavaBean 은 관리를 위해 Package (패킷) 로 구성됩니다. 실제로 JavaBean 그룹을 특정 디렉토리에 함께 배치하고 각 클래스의 정의 앞에 Package 모씨를 추가하는 것입니다. 경편을 클래스로 번역한 서류를 JSP 서버의 특정 디렉토리 [6] 아래에 두다.
JSP 에서 JavaBean 을 사용하려면 다음 단계가 필요합니다.
1) JavaBean 구성 요소를 정의하고 JavaBean 그룹을 디렉토리에 함께 배치합니다. 각 클래스의 정의 앞에 Package 를 추가하여. Java 파일을 생성합니다.
2) 정의된 클래스를 JDK 의 Javac 명령을 사용하여. class 파일을 생성하는 JavaBean 클래스 파일을 컴파일합니다.
3) JSP 파일에서 JavaBean 를 호출합니다. 다음과 같은 방법을 사용합니다.
참조할 자바빈을 설정하고 자바빈의 인스턴스를 생성합니다. < <jsp:useBean> > 태그로 완성합니다. JavaBean 을 인스턴스화하면 해당 속성에 액세스할 수 있습니다. < <jsp:getproperty> > 태그를 사용하여 속성 값을 가져오고 < JSP: set property > 태그를 사용하여 JavaBean 속성 값 [7] 을 변경합니다.
예: 사용자 등록 기능을 완료하려면 먼저 op user.java 라는 JavaBean 구성 요소를 정의합니다. 이 구성 요소는 add () 메서드를 사용하여 양식의 사용자가 채운 정보를 데이터베이스 테이블 user 에 추가하고, 추가가 성공하면 true 를 반환하고, 그렇지 않으면 false 를 반환하여 사용자 등록을 구현합니다 코드는 다음과 같습니다.
< JSP: usebean id = "user" scope = "page" class = "gmgsinfo.run.opuser"/> 현재 JSP 페이지에서 JavaBean 을 찾는 식별자는 user
if(user.add(request))// add () 메서드를 직접 사용하고 request 객체를 매개 변수
3.4 데이터베이스 설명으로 사용합니다
관리자 테이블 필드에는 관리자 계정, 암호, 관리자 이름, 소유 부서, 전화, 권한이 포함됩니다.
감사 양식 필드에는 감사 여부가 포함됩니다.
열 테이블 필드에는 열 이름이 포함됩니다.
뉴스 양식 필드에는 뉴스 제목, 소속 열, 부제목, 감사 여부, 언론인, 보도 자료, 추가 시간, 수정 시간, 소속 부서, 뉴스 내용, 사진 포함 여부, 검토자 등이 포함됩니다.
부서 테이블 필드에는 부서 이름이 포함됩니다.
3.5 프로그램 설명
3.5.1 사용자 관리
정보 공개 시스템을 관리하는 사용자는 시스템 관리자, 감사자, 일반 관리자라는 세 가지 주요 범주로 구성됩니다. 사용자를 추가하는 프로세스는 먼저 사용자 이름을 입력한 다음 데이터베이스를 호출하여 해당 사용자 이름이 사용되지 않았는지 확인하고, 그 다음 사용자 정보 양식을 작성하고, 사용자의 초기 암호와 권한을 설정하고, 마지막으로 데이터베이스에 사용자 정보를 쓰는 것입니다. 사용자 로그인 프로세스는 사용자가 로그인 양식을 제출한 후 데이터베이스를 호출하여 해당 사용자의 계정과 비밀번호가 정확한지 확인하는 프로세스입니다. 사용자 이름이 Session 객체에 올바르게 기록되고 올바르지 않은 경우 로그인 인터페이스로 돌아가 다시 로그인합니다. 로그인한 사용자가 시스템 관리자인 경우 관리자 사용자 인터페이스로 들어갑니다. 일반 사용자인 경우 일반 사용자 인터페이스에 로그인합니다. 사용자가 로그인한 후 초기 비밀번호를 변경할 수 있으며 수정된 정보가 데이터베이스에 다시 기록됩니다. 뉴스 통계표는 발표된 뉴스를 품질 기록의 요구 사항에 따라 표로 표시함으로써 사용자가 프린터를 통해 직접 인쇄할 수 있도록 하는 것이다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 뉴스명언)
3.5.2 뉴스 정보 관리
1 차 메뉴 양식은 웹 사이트 홈 페이지에 표시되는 주 메뉴를 관리하는 것입니다. 사용자는 홈 페이지에 표시해야 하는 주 메뉴를 추가할 수 있습니다. 보조 메뉴 양식은 사용자가 시스템 내에서 발표한 뉴스를 모두 보여줍니다. 뉴스 제목, 발표 시간, 소속 상위 메뉴, 언론 발표자, 심사 여부 등이 포함됩니다. 사용자는 뉴스 제목을 클릭하여 뉴스를 미리 보고 자신이 발표한 뉴스를 수정하거나 삭제할 수 있다. 사용자가 수정 또는 삭제 옵션을 클릭하면 시스템은 Session 객체에 저장된 사용자 이름을 기준으로 데이터베이스의 해당 사용자 정보를 호출하여 사용자에게 권한이 있는지 여부를 결정합니다. 권한이 있으면 사용자가 뉴스를 수정하거나 삭제할 수 있습니다. 그렇지 않으면 사용자에게 권한이 없다는 메시지가 표시됩니다. 보도 자료 양식에서 사용자는 해당 텍스트 상자에 정보를 입력하기만 하면 웹 페이지가 자동으로 생성되어 데이터베이스에 저장됩니다. 여기서 문장 컨텐츠 표시줄은 사용자가 입력한 뉴스 정보를 편집할 수 있는 간단한 웹 편집기입니다. 사용자는 그림 업로드 옵션을 통해 웹 페이지의 그림을 데이터베이스에 업로드할 수 있습니다. 뉴스 입력이 완료되면 사용자는 게시된 뉴스를 웹 페이지로 미리 볼 수 있습니다. 감사 뉴스 양식에서 감사 권한을 가진 사용자는 게시된 뉴스를 검토하고, 뉴스 내용을 편집하고, 데이터베이스에 다시 저장할 수 있습니다. 뉴스가 이미 심사를 통과하면 사이트의 홈페이지에 표시됩니다.
3.6 시스템 프로세스 분석 < P > 사용자가 시스템에 로그인하여 시스템 인증을 통과하면 사용자 프로파일 및 사용자 권한 정보가 서버측에 자동으로 저장됩니다. 이때 사용자에게 적절한 권한이 있으면 사용자 및 권한 관리, 열 관리, 정보 게시, 정보 감사 등의 작업을 수행할 수 있습니다.
일반 사용자의 경우 시스템에 로그인한 후 선택할 수 있습니다. 사용자가 모듈을 선택하여 조작하면 서버측에 저장된 해당 사용자 권한이 조회되고, 인증이 검증된 후 해당 정보 또는 기능 페이지가 사용자에게 표시되며, 사용자는 자신의 권한에 따라 찾은 컨텐츠를 추가, 편집 및 삭제할 수 있습니다. 사용자가 정보를 게시해야 하는 경우 뉴스 모듈 게시를 클릭하여 해당 제목 표시줄에 정보를 입력하고 게시할 내용을 문장 컨텐츠 막대에 입력하면 해당 템플릿이 호출되어 웹 페이지를 형성합니다. 사용자는 확인을 클릭하여 방금 만든 웹 페이지를 미리 볼 수 있습니다. 권한 검증이 실패하면 사용자에게 적절한 권한이 없음을 나타내는 경고 메시지가 나타납니다. 사용자에게 작업을 수행할 수 없다는 경고 메시지가 나타납니다. 경고 메시지를 확인한 후에는 해당 사용자에게 권한이 있는 다른 작업을 계속하는 데 영향을 주지 않습니다.
사용자가 관리자로 시스템에 들어가면 시스템 기본 관리자는 시스템 유지 관리 및 관리에 대한 최대 권한을 가집니다. 즉, 관리자가 사용자 관리, 사용자 역할 관리, 사용자 권한 관리 및 게시를 수행할 수 있습니다