JSP

 

 

 

SQL 변경  

info Log  타입을  varchar2(3000 ) 으로 변경

drop table RentCar ;

create table RentCar (
	
	no number primary key,
	name varchar2(20),
	category number,
	price number,
	usepeople number,
	company varchar(50),
    img varchar2(50),
	info varchar2(3000)


);

select * from RentCar;

insert into rentcar values (1, '아반테', 1,  2000, 4, '기아', '1.jpg' , '아반테 자동차 입니다.');
insert into rentcar values (2, 'BMW', 3,  6000, 4, 'BMW', '2.jpg' , 'BMW 자동차 입니다.');
insert into rentcar values (3, '카니발', 1,  4000, 7, '기아', '3.jpg' , '카니발 자동차 입니다.');
insert into rentcar values (4, '카렌스', 2,  2500, 4, '기아', '4.jpg' , '카렌스 자동차 입니다.');
insert into rentcar values (5, '코란도', 1,  3000, 4, '현대', '5.jpg' , '코란도 자동차 입니다.');
insert into rentcar values (6, '에쿠스', 3,  6000, 4, 'BMW', '6.jpg' , '에쿠스 자동차 입니다.');
insert into rentcar values (7, '제네시스', 1,  3000, 4, '기아', '7.jpg' , '제네시스 자동차 입니다.');
insert into rentcar values (8, '그랜져', 1,  2400, 4, '현대', '8.jpg' , '그랜져 자동차 입니다.');
insert into rentcar values (9, 'k3', 1,  2700, 4, '현대', '9.jpg' , 'k3 자동차 입니다.');
insert into rentcar values (10, 'k5', 2,  5000, 4, '기아', '10.jpg' , 'k5 자동차 입니다.');
insert into rentcar values (11, 'k9', 1,  6000, 4, '현대', '11.jpg' , 'k9 자동차 입니다.');
insert into rentcar values (12, '라세티', 2,  2000, 5, '기아', '12.jpg' , '라세티 자동차 입니다.');
insert into rentcar values (13, 'lf소나타', 1,  2000, 4, '현대', '13.jpg' , 'lf소나타 자동차 입니다.');
insert into rentcar values (14, '말리부', 3,  2000, 4, 'BMW', '14.jpg' , '말리부 자동차 입니다.');
insert into rentcar values (15, '모닝', 1,  23000, 4, '현대', '15.jpg' , '모닝 자동차 입니다.');
insert into rentcar values (16, '올라도', 3,  5000, 4, 'BMW', '16.jpg' , '올라도 자동차 입니다.');
insert into rentcar values (17, '레이', 2,  4000, 4, '현대', '17.jpg' , '레이 자동차 입니다.');
insert into rentcar values (18, 'SM5', 1,  2700, 4, 'BMW', '18.jpg' , 'SM5 자동차 입니다.');
select * from rentcar;


commit;

 

 

class RentcarDAO

	//회원의 예약정보를 리턴하는 메소드
	public Vector<CarViewBean> getAllReserve(String id){
		Vector<CarViewBean> v=new Vector<CarViewBean>();
		CarViewBean bean=null;
		getCon();
		try{
			//쿼리문
			String sql="select * from  RENTCAR natural join CARRESERVE "
					+ " where  sysdate < to_date(rday, 'YYYY-MM-DD') and id= ?";
			
			pstmt =con.prepareStatement(sql);
			//?
			pstmt.setString(1, id);
			//결과리턴
			rs=pstmt.executeQuery();
			while(rs.next()){
				bean=new CarViewBean();
				bean.setName(rs.getString("name"));
				bean.setDday(rs.getInt("dday"));
				bean.setImg(rs.getString("img"));
				bean.setPrice(rs.getInt("price"));
				bean.setQty(rs.getInt("qty"));
				bean.setRday(rs.getString("rday"));
				bean.setUsenavi(rs.getInt("usenavi"));
				bean.setUserin(rs.getInt("userin"));
				bean.setUseseat(rs.getInt("useseat"));
				bean.setUsewifi(rs.getInt("usewifi"));
				v.add(bean);
	
			}
			
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			closed();
		}
		return v;
	}
	

 

 

 

CarReserveResult.jsp

<%@page import="db.CarListBean"%>
<%@page import="db.RentcarDAO"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="rbean" class="db.CarReserveBean">
	<jsp:setProperty name="rbean" property="*" />
</jsp:useBean> 

   
<div class="container marketing" id="marketing2">
   <!-- Three columns of text below the carousel -->
      <div class="row">
<%
	
	String id =(String)session.getAttribute("id");
	if(id==null){
%> 
	<script>
		alert("로그인후 예약이 가능 합니다.");
		location.href="RentCarMain.jsp?center=MemberLogin.jsp";
	</script>
	
<%
	}
	
	if(rbean.getRday()==null){
%>		
		<script>
		alert("대여일을 선택하세요");
		history.go(-1);
		</script>
	
<%	
	}else{
		
		//날짜 비교
		Date d1 =new Date();
		Date d2=new Date();
		//날짜를 2017-09-27 포멧 해주는 클래스 선언
		SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
		
		d1 =sdf.parse(rbean.getRday());
		d2 =sdf.parse(sdf.format(d2));
		
		//날짜 비교 메소드를 사용
     	int compare = d1.compareTo(d2);
		//예약하려는 날짜보다 현재날짜가 크다면  -1;
		//예약하려는 날짜와 현재날짜가 같다면 0
		//예약하려는 날짜가 더 크다면 1을 리턴
		
		if(compare < 0){//오늘보다 이전 날짜 선택시
			%>
			
	<script>
		alert("현재 시스템 날짜보다 이전 날짜는 선택할수 없습니다.");
		history.go(-1);
	</script>
			
<%		
		}
		
		
		//결과적으로 아무런 문제가 없다면 데이터 저장후 결과 페이지 보여주기
		//아이디 값이 빈클래스에 없기에
		rbean.setId(id);
		
		//데이터 베이스에 빈클래스 저장
		RentcarDAO rdao =new RentcarDAO();
		rdao.setReserveCar(rbean);	
		//차량 정보 얻어오기
		CarListBean cbean = rdao.getOneCar(rbean.getNo());
	
		//차량 총 금액
		int totalcar=cbean.getPrice()*rbean.getQty()*rbean.getDday();
	
		//옵션금액
		int usein=0;
		if(rbean.getUserin()==1)usein=10000;
		int usewifi =0;
		if(rbean.getUsewifi()==1)usewifi=10000;
		int useseate=0;
		if(rbean.getUseseat()==1)useseate=10000;
		
	 	int totaloption =(rbean.getQty()*rbean.getDday())*(usein+usewifi+useseate);

%>		

	  <div class="col-sm-12"> 	
			<h2></h2>
			<div class="table-responsive">
			<table class="table">
				<caption></caption>
				<thead><tr><td colspan="2" class="text-center"><h2>차량 예약 완료 화면</h2></td></tr></thead>
				<tbody>
				 <tr>
				 	<td colspan="2" class="text-right">
				 	 <img src="img/<%= cbean.getImg() %>" class="img-responsive img-rounded" id="resultImg">
				 	</td>
				 </tr>			 
				
				 <tr>
				  <th>차량 총예약금액</th>
				  <td><%= totalcar %>원</td>
				 </tr>
				 
				<tr>
				  <th>차량 총옵션 금액</th>
				  <td><%= totaloption %>원</td>
				</tr>
				 
				<tr>
				 <th>차량 총금액</th>
				 <td><%= totaloption+totalcar %>원  </td>	
				 </tr>
			 </tbody>
			</table>
			</div>
	  </div>


<%
	}
%>
	  
 </div>
 
</div>
 
  <hr class="divider">
 
 
 
 
    

 

 

 

 

 

 

동영상 강좌와 다르게  모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.

여기서는  jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.

 

또한, 일부 자바 코드는 제 입맛에 맞게 변경 하였습니다.

혹시, 이 강의를 들으면서 제 글을 읽고 소스코드를 참조하는 수강생이 있다면 동영상의 코드와 다르다고 생각지 마세요. 대부분 동여상 내용과 같으니 학습에 도움이 될거라 생각 합니다.

소스 :  https://github.com/braverokmc79/jsp_sin

 

 

유튜브 동영상 출처 :

소프트캠퍼스

강사 : 신형섭(잭임연구원)

저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.

 

 

 

about author

PHRASE

Level 60  라이트

어떤 사람은 젊고도 늙었고, 어떤 사람은 늙어도 젊다. -탈무드

댓글 ( 4)

댓글 남기기

작성

JSP 목록    more