JSP 튜 토리 얼 은 자바 빈 을 사용 하여 업무 논 리 를 완성 하 는 방법 입 니 다.
1.목표:
① 자바 빈 이 무엇 인지 파악 하기;
② JavaBean 을 어떻게 만 드 는 지 파악 하기;
③ JSP 에서 자바 빈 을 방문 하 는 방법 파악 하기;
④ JSP 에서 대상 의 4 가지 역할 범 위 를 이해한다.
2.주요 내용:
지난 강 의 를 통 해 loginprocess.jsp 의 검증 과정 을 패키지 하여 자바 빈 을 만 든 다음 JSP 페이지 에서 이 자바 빈 을 호출 하여 자바 빈 의 작성 과 접근 을 소개 합 니 다.
자바 빈 대상 의 4 가지 역할 범 위 를 간단 한 사례 를 통 해 소개 합 니 다.
1,무엇이 자바 빈
자바 빈 은 자바 언어 로 작 성 된 구성 요소 입 니 다.구성 요 소 는 하나의 큰 시스템 을 구성 하 는 일부분 으로 일반적으로 서로 다른 독립 적 으로 운행 한다.구성 요 소 는 특정한 기능 을 완성 할 수 있 으 며,이러한 기능 은 주로 공유 된다.
자바 빈 은 특수 한 자바 류 이다.특수:보통 매개 변수 가 없 는 구조 방법 을 제공 해 야 합 니 다.외부 에 서 는 그의 구체 적 인 실현 을 알 필요 가 없다.보통 속성 은 사유 이 고 공유 적 으로 속성 을 조작 하 는 방법 을 제공 해 야 한다.업무 방법 이 좀 있 을 거 야.
2.예:사용자 정보 검증
package javabean;
public class User
{
private String username;
private String userpass;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getUserpass()
{
return userpass;
}
public void setUserpass(String userpass)
{
this.userpass = userpass;
}
public boolean check()
{
if(username==null || userpass==null)
return false;
if(username.equals("zhangsan") && userpass.equals("lisi"))
{
return true;
}else{
return false;
}
}
}
3.JSP 에서 자바 빈 을 어떻게 호출 합 니까?우선,자바 에서 의 호출 상황:
import javabean;
…
User user = new User(); // ,
user.setUsername("zaaaa"); //
user.setUserpass("sssss"); //
boolean b = user.check(); //
1)창설 대상
역할:자바 빈 의 대상 을 예화 하거나 자바 빈 의 대상 을 찾 습 니 다.id 속성 은 생 성 된 대상 의 이름 을 표시 합 니 다.class 는 자바 빈 의 전체 클래스 입 니 다.scope 속성 은 생 성 된 변수의 역할 범 위 를 지적 합 니 다.
scope 의 역할 범 위 는 4 개 입 니 다:page request session application
page 는 현재 페이지 를 표시 합 니 다.실제 JSP 파일 에 대응 하 는 자바 류 의 대상 입 니 다.
request 는 우리 가 보 낸 요청 부터 시스템 이 우리 에 게 응답 하 는 것 까지 요청 을 표시 합 니 다.이것 은 바로 요청 입 니 다.한 번 의 요청 이 하나의 JSP 페이지 에 만 적용 된다 면 page 와 request 의 효 과 는 같 습 니 다.
예 를 들 어 로그 인 기능 은 첫 번 째 페이지 를 표시 할 때 page 와 request 의 역할 범 위 는 같 습 니 다.제출 후 로그 인 에 성공 하면 두 개의 파일 loginprocess.jsp 와 success.jsp 는 파일 마다 하나의 page 에 대응 하지만 두 파일 은 하나의 request 에 속 합 니 다.
session웹 애플 리 케 이 션 의 모든 클 라 이언 트 에 게 하나의 대상 에 대응 합 니 다.이 대상 은 session 입 니 다.자바 빈 대상 의 역할 범 위 를 session 으로 설정 하면 자바 빈 대상 을 session 대상 에 저장 하고 클 라 이언 트 의 전체 방문 과정 에서 이 대상 을 방문 할 수 있 습 니 다.
응용 프로그램자바 빈 대상 의 역할 범 위 를 application 으로 설정 하면 이 응용 프로그램의 모든 사용자 가 모든 인터페이스 에서 이 대상 을 방문 할 수 있 습 니 다.
예:
테스트(4 개 역할 범위 에 대하 여):
page.jsp 파일 을 작성 하 는 것 은 다음 과 같 습 니 다.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="pageAttribute" value="pppp" scope="page"/>
<c:set var="requestAttribute" value="rrrrr" scope="request"/>
<c:set var="sessionAttribute" value="ssss" scope="session"/>
<c:set var="applicationAttribute" value="aaaa" scope="application"/>
<jsp:include page="success.jsp"/>
page.jsp 에서 출력 정보:
${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}
그 중에서${pageScope.pageAttribute}은 page 범위 내의 pageAttribute 속성 에 접근 하고${requestScope.requestAttribute}은 request 범위 내의 requestScope 속성 에 접근 하여 순서대로 유추 합 니 다.
request.jsp 파일 을 작성 하 는 것 은 다음 과 같 습 니 다.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
request.jsp 에서 출력 정보:
${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}
<br>
<a href="session.jsp"> session</a>
session.jsp 파일 을 작성 하 는 것 은 다음 과 같 습 니 다.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
session.jsp 에서 출력 정보:
${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}
application.jsp 파일 을 작성 하 는 것 은 다음 과 같 습 니 다.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
application.jsp 에서 출력 정보:
${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}
실행 과정:page.jsp 를 실행 하면 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
request.jsp 에서 출력 정보:rrrr ssss aaaa
page.jsp 에서 출력 정보:pppp rrrrr ssss aaaa
분석:page.jsp 와 request.jsp 는 같은 요청 에 속 하기 때문에 request 대상,session 대상 과 application 대상 을 공유 하지만 page 에 저 장 된 정 보 를 표시 할 수 없습니다.
"세 션 방문"을 누 르 면 session.jsp 를 진행 합 니 다.
session.jsp 에서 출력 정보:ssss aaaa
분석:이전 과 같은 요청 에 속 하지 않 기 때문에 request 와 page 정 보 를 방문 할 수 없고 session 과 application 만 방문 할 수 있 습 니 다.
브 라 우 저 를 다시 열 고 application.jsp 에 접근 합 니 다.
application.jsp 에서 출력 정보:aaaa
분석:서로 다른 클 라 이언 트 에 속 하기 때문에 애플 리 케 이 션 대상 만 공유 할 수 있 고 애플 리 케 이 션 의 정보 만 볼 수 있 습 니 다.
2)속성 할당
name 은 자바 빈 대상 의 이름 을 가리 키 고 property 는 속성의 이름 을 가리 키 며 value 가 부여 할 값 을 가리킨다.
예:
value 속성 이 지정 되 지 않 으 면 요청 대상 에서 username 이라는 폼 요 소 를 찾 습 니 다.다음 코드 에 해당 합 니 다:
String username = request.getParameter("username");
user.setUsername(username);
value 속성 을 생략 하고 property 속성 을"*"로 설정 하면 다음 과 같 습 니 다.
String username = request.getParameter("username");
user.setUsername(username);
String userpass = request.getParameter("usernpass");
user.setUsernpass (userpass);
폼 요소 의 이름 이 자바 빈 속성 이름과 일치 하지 않 을 경우,param 속성 을 통 해 어떤 폼 요 소 를 사용 할 지 지정 할 수 있 습 니 다.3)자바 코드 호출 방법 삽입
<%
boolean b = user.check();
%>
4)자바 빈 속성 가 져 오기
4.실례:login 수정process.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- -->
<jsp:useBean id="user" class="javabean.User" scope="request"/>
<!-- -->
<jsp:setProperty name="user" property="*"/>
<!-- -->
<%
boolean b = user.check();
request.setAttribute("b",new Boolean(b));
// request , ,
%>
<!-- -->
<c:if test="${b}">
<jsp:include page="success.jsp"/>
</c:if>
<c:if test="${!b}">
<jsp:include page="failure.jsp"/>
</c:if>
<br> :
<jsp:getProperty name="user" property="username"/>
<jsp:getProperty name="user" property="userpass"/>
실행:컴 파일 하기 전에 작 성 된 자바 파일 User.java.그리고 컴 파일 된 파일 을 프로젝트 의 WEB-INF 디 렉 터 리 의 classes 하위 디 렉 터 리 에 넣 습 니 다.운행 후 효 과 는 같다.
그러나 위의 코드 를 분석 한 결과 자바 코드 가 들 어 있 는 것 을 발 견 했 습 니 다.이것 은 JSP 가 자바 빈 에 대한 접근 을 잘 제공 하지 않 았 기 때 문 입 니 다.탭 을 사용 하여 업무 방법 을 호출 하려 면 사용자 정의 탭 을 만들어 야 합 니 다.귀 찮 습 니 다.다음은 절충 하 는 방법 을 소개 한다.
5.실례:login 재 구성process.jsp
User.java 에 다음 과 같은 방법 을 추가 합 니 다.
public boolean getResult()
{
return check();
}
JSP 는 접근 업무 방법의 탭 을 제공 하지 않 았 지만 속성 에 접근 하 는 방식 을 제공 하기 때문에 이 방법 은 result 속성 을 제공 하여 check 업무 방법 을 간접 적 으로 호출 합 니 다.수정 loginprocess.jsp 파일 은 다음 과 같 습 니 다.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<jsp:useBean id="user" class="javabean.User" scope="request"/>
<jsp:setProperty name="user" property="*"/>
<c:if test="${user.result}">
<jsp:include page="success.jsp"/>
</c:if>
<c:if test="${!user.result}">
<jsp:include page="failure.jsp"/>
</c:if>
본 논문 에서 말 한 것 이 여러분 의 JSP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검색 사이트를 만들었으므로 정리해 보았습니다 1■목차 · 처음에 · 사이트 구성 · DB 구성 ・테이블 내용 ・급제점 ■ 처음에 Jsp·서블릿을 학습해, 뭔가 만들려고 생각했기 때문에 스포츠 짐의 검색 사이트를 만들어 보았다. 현재의 스포츠 체육관 검색 사이트는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.