JBuilder2005 실제 JSP 로그인 페이지(2)
저자:Eve Cole
업데이트 시간:2009-07-02 17:10:51
파일->새로 만들기...->웹->JSP 아이콘을 두 번 클릭하면 다음 그림과 같이 JSP 마법사 생성 대화 상자가 나타납니다.
그림 3 마법사를 통해 login.jsp 생성 |
·웹 모듈: 프로젝트 아래에 여러 개의 웹 모듈이 있는 경우 여기에서 JSP를 추가할 웹 모듈을 지정할 수 있습니다. 우리 프로젝트에는 webModule이 하나만 있으므로 마법사는 기본적으로 이를 webModule로 설정합니다.
·이름: JSP 파일 이름을 입력합니다. .jsp 접미사를 입력하거나 접미사 없이 직접 로그인을 입력할 수 있습니다.
샘플 빈 생성 옵션을 선택한 후 JBuilder는 샘플 빈을 생성하고 JSP에 빈을 도입합니다. 초보자의 경우 이 옵션을 사용하여 JSP가 Bean을 참조하는 방법을 확인할 수 있으며 오류 페이지 생성 옵션은 JSP에 대한 일치하는 오류 처리 JSP 파일을 자동으로 생성합니다. 여기에서는 이를 확인하지 않습니다.
완료를 직접 클릭하여 login.jsp를 작성하십시오. 다음 그림과 같이 컨텐츠 창의 컴파일러에 login.jsp 파일이 나타납니다.
그림 4 마법사가 생성한 JSP 파일 |
JSP 컴파일 창의 왼쪽과 오른쪽에 전달할 수 있는 창이 있습니다. 그리고 버튼으로 제어되는 수직 막대는 JSP 태그와 HTML 태그를 배치하기 위한 패널입니다. 위 그림과 같이 JSP 파일에 드래그 앤 드롭할 수 있습니다. HTML 태그는 login.jsp 파일에 배치됩니다.
오른쪽의 세로 열은 다음 그림과 같이 JSP 파일에서 현재 커서가 위치한 레이블의 속성 컴파일러입니다.
그림 5 JSP 태그 속성 편집기 설정 |
속성 편집기는 동적입니다. 커서를 다른 레이블로 이동하면 속성 편집기에 이 레이블의 설정 가능한 모든 속성이 표시됩니다. 위 그림과 같이 HTML form 태그의 속성 편집기에 해당하며 action 속성을 switch.jsp로 설정하고 POST를 사용하여 요청 데이터를 보내도록 지정합니다.
login.jsp에는 사용자 이름 드롭다운 상자, 비밀번호 입력 상자 및 로그인 제출 버튼이 제공됩니다. 코드는 다음과 같습니다.
코드 목록 4 login.jsp
1. <%@page contentType="text/html; charset=GBK" %> 2. <html> 3. <머리> 4. <제목>로그인<//제목> 5. </머리> 6. <바디 bgcolor="#ffffff"> 7. <양식 이름="양식 1" method="post" action="switch.jsp"> 8. 사용자 이름: <select name="userId"> 9. <옵션 값="" 선택됨>--로그인 사용자--</option> 10. <옵션값="100000">장쯔야</옵션> 11. <옵션 값="100001">바오슈야</option> 12. <옵션값="100002">수직치형</옵션> 13. </선택> 14. 비밀번호: <input name="password" type="password"> 15. <입력 유형="제출" 이름="제출" 값="로그인"> 16. </form> 17. </body> 18. </html> |
양식 태그는 웹 페이지의 양식을 나타냅니다. 양식에는 여러 구성 요소가 포함될 수 있습니다. 웹 양식이 제출된 후 이러한 구성 요소의 데이터는 처리를 위해 HTTP 프로토콜을 통해 작업 속성에 지정된 JSP 파일로 전송됩니다. 양식 데이터는 일반적으로 POST를 통해 전송됩니다. POST 전송 방법은 데이터 양에 제한이 없으며 더 기밀입니다.
login.jsp의 효과 페이지는 다음과 같습니다.
그림 6 login.jsp 항목 페이지 |
실제 경험:
JSP 파일 코드에는 정적 부분과 동적 부분이 포함됩니다. 즉, 한 부분은 HTML 코드이고 다른 부분은 JSP 태그 및 Scriptlet 코드입니다. JSP는 일반적으로 동적 로직이 포함된 웹 페이지입니다. JBuilder는 JSP 태그 및 Scriptlet과 같은 동적 코드 부분을 매우 잘 지원합니다. CodeInsight 및 TagInsight와 같은 도구를 사용하면 코딩을 빠르고 정확하게 완료할 수 있으며 JSP를 컴파일하고 디버그할 수도 있습니다. JSP 정적 HTML 코드 작성 및 시각적 디자인 측면에서는 JBuilder가 부족한 것 같습니다. 정적 코드 및 시각적 디자인 측면에서 Dreamweaver가 JBuilder보다 나은 것은 분명합니다. |
사물의 복잡성은 분업을 촉진하고, 분업을 잘 분업하면 전문성 개발이 촉진됩니다. JSP를 작성할 때 JBuilder를 사용하면 더 이상 할 일이 없는 것은 아닙니다. Han Xinshanbing과 Xiao Heshanmou는 Dreamweaver와 JBuilder를 결합하고 Dreamweaver를 사용하여 JSP의 시각적 부분을 개발하고 JBuilder를 사용하여 JSP의 동적 코드 부분을 개발할 수 있다면 둘은 서로 보완하고 보완할 것이며 JSP는 개발 작업이 더욱 간소화될 것입니다.
사용자 목록을 동적으로 변경
현재 생성된 login.jsp에는 데이터베이스 백그라운드에서 T_USER 테이블에 다른 사용자를 추가할 때 사용자 이름 드롭다운 상자가 정적 코드이므로 새로 생성된 사용자가 페이지에 나타나지 않는 결함이 있다고 가정합니다. 사용자를 추가해야 합니다. 이름 목록이 동적 코드로 변경되고 데이터베이스 테이블 T_USER의 레코드를 사용하여 드롭다운 상자의 데이터를 동적으로 생성합니다.
UserList.ava 클래스를 통해 이 작업을 완료하고 프로젝트에 UserList.java를 생성합니다.
코드 목록 5 UserList.java
1. 패키지 서점; 2. java.sql.* 가져오기; 3. 4. 공개 클래스 UserList 5. { 6. //HTML 드롭다운 상자의 사용자 목록 코드를 가져옵니다. 7. 공개 정적 문자열 getUserListHTML() { 8. 연결 연결 = null; 9. StringBuffer sBuf = 새로운 StringBuffer(); 10. {를 시도해보세요 11. conn = DBConnection.getConnection(); 12. 준비된Statement pStat = conn.prepareStatement( 13. "T_USER에서 USER_ID,USER_NAME을 선택하십시오"); 14. ResultSet rs = pStat.executeQuery(); 15. 동안(rs.next()) { 16. sBuf.append("<옵션 값='" + rs.getString("USER_ID") + "'>" + 17. rs.getString("USER_NAME") + "</옵션>n"); 18. } 19. sBuf.toString()을 반환합니다. 20. } catch (SQLException ex) { 21. ex.printStackTrace(); 22. ""를 반환합니다. 23. } 드디어 { 24. {를 시도해보세요 25. if (conn != null) { 26. 연결.닫기(); 27. 콘 = 널; 28. } 29. } catch (SQLException ex1) { 30. } 31. } 32. } 33. } |
UserList.java는 16~17행에 표시된 것처럼 백엔드 데이터베이스의 T_USER 테이블에서 사용자 레코드를 가져오고 HTML 선택 구성 요소에 대한 옵션 코드를 생성하는 정적 getUserListHTML() 메서드만 제공합니다.
이 클래스를 생성한 후 이 클래스를 참조하여 login.jsp의 코드를 조정합니다. 먼저 페이지 지침 태그의 가져오기 속성을 통해 UserList 클래스를 참조한 다음 선택 옵션의 내용을 반환된 값으로 조정합니다. 아래 그림과 같이 getUserListHTML() 메서드를 보여줍니다.
그림 7 CodeInsight를 통해 코드 작성 |
표현식 태그를 통해 원래의 정적 HTML 코드를 대체합니다. 일반 Java 클래스를 작성하는 것처럼 CodeInsight를 사용하여 JSP에 코드를 입력할 수도 있다는 점은 언급할 가치가 있습니다. 조정된 login.jsp의 코드는 다음과 같습니다(굵게 표시).
코드 목록 6: 수정된 login.jsp 코드
1. <%@page contentType="text/html; charset=GBK" import="bookstore.UserList" %> 2. <html> 3. <머리> 4. <제목>로그인<//제목> 5. </머리> 6. <바디 bgcolor="#ffffff"> 7. <Form name="Form 1" method="post" action="switch.jsp">사용자 이름: 8. <이름="userId" 선택> 9. <옵션 값="" 선택됨>--로그인 사용자--</option> 10. <%=UserList.getUserListHTML()%> 11. </선택> 12. 비밀번호: <input name="password" type="password"> 13. <입력 유형="제출" 이름="제출" 값="로그인"> 14. </form> 15. </body> 16. </html> |
login.jsp를 저장한 후 Content 창에서 login.jsp 파일 레이블을 마우스 오른쪽 버튼으로 클릭하고 Web Run using Defaults를 선택합니다. JBuilder는 Tomcat 5.0 애플리케이션 서버를 시작하고 포트 8080에서 실행하며 login.jsp 파일을 컴파일 및 실행합니다. 아래 그림과 같이 표시:
그림 8 JBuilder에서 login.jsp 실행 |
JBuilder는 자동으로 Web View 페이지로 전환하여 페이지의 실행 효과를 표시합니다. 그러나 JBuilder의 브라우저는 웹 페이지에 대한 지원이 매우 약하며 JavaScript 스크립트를 지원하지 않습니다. 따라서 login.jsp를 실행한 후에는 IE를 통해 웹 페이지의 효과를 보는 것이 가장 좋습니다. IE를 열고 JBuilder의 login.jsp 액세스 주소를 IE의 주소 표시줄에 복사하면 됩니다. 아래 그림 :
그림 9 IE를 사용하여 JBuilder에서 실행 중인 login.jsp에 액세스 |
이때 사용자 이름의 드롭다운 상자에 있는 사용자는 이미 동적 사용자 목록에 있습니다. T_USER 테이블에 사용자가 추가되거나 삭제되면 드롭다운 상자의 사용자도 이에 따라 변경됩니다.
JSP를 실행하기 전에 이 JSP 파일을 별도로 컴파일하는 것이 가장 좋습니다. 콘텐츠 창에서 JSP 파일 레이블을 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 make "xxx.jsp"를 선택하여 JSP 파일 컴파일을 완료하고 검색합니다. 시간에. JSP 파일과 Java 파일을 편집할 때 가장 큰 차이점은 Java 프로그램 파일의 모든 오류가 편집기 및 구조 창에 나열되지만 JSP 파일의 일부 오류를 발견하려면 컴파일해야 한다는 것입니다.
힌트:
JSP 파일을 컴파일하려면 먼저 이를 서블릿 파일로 변환한 다음 중간 서블릿 파일을 컴파일해야 하므로 오류가 발생하면 JSP 파일로 리디렉션되므로 JSP 파일을 컴파일하는 데 시간이 더 많이 걸리고 소요되는 경우가 많습니다. Java 파일을 컴파일하는 것보다 몇 배 더 오래 걸립니다. 기본적으로 프로젝트를 컴파일하면 전체 프로젝트의 JSP가 모두 컴파일되기 때문에 시간이 많이 걸린다. 따라서 컴파일 프로젝트와 함께 JSP 파일 컴파일 설정을 취소하는 것이 가장 좋습니다. 프로젝트->프로젝트 속성...->빌드-> 빌드 설정 페이지에서 빌드 시간에 JSP 오류 확인 옵션을 취소합니다. 꼭 필요한 경우 이 옵션을 선택하고, 컴파일 후 즉시 이 옵션을 취소하세요. 이 설정을 사용하면 개발에 귀중한 시간을 많이 벌 수 있습니다. |