반응형
액션 태그
jsp:forward
=> 넘어온 리퀘스트 데이터를 다음 페이지까지 전달 할 수 있다.
간단한 로그인 페이지
jsp:param
=> 데이터를 전달
jsp:include
<%@ include %> 와 <jsp:include> 차이
<%@ include 는 두 페이지를 합쳐서 사용
=> 변수를 가져다가 쓸 수 있음
<jsp:include 는 각 페이지를 따로 번역하고 합쳐서 사용
=> 따로 번역하기 때문에 변수를 가져다 쓰면 오류가 남
문제
DAO / DTO
DAO / Data Access Object
=> Database의 data에 접근을 위한 객체
DTO / Data Transfer Object
=> 순수한 데이터 객체이며 속성과 그 속성에 접근하기 위한 getter, setter 메소드만 가진 클래스
jsp:uesBean
=> 객체 생성
액션 태그로 만든 객체에는 JSP를 사용할 수 있지만, 그 반대는 안된다.
=> JSP로 만든 객체에는 액션태그를 사용할 수 없다
MVC 패턴
https://hyoje420.tistory.com/36
MVC 1 패턴
MemberDAO.java
package members;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class MemberDAO {
private String url = "jdbc:oracle:thin:@localhost:1521:xe";
private String user="java",pwd="1234";
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
public MemberDAO() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public ArrayList<MemberDTO> memberView(){
String sql="select * from members_jsp";
ArrayList<MemberDTO> memberList = new ArrayList<MemberDTO>();
try {
con=DriverManager.getConnection(url, user, pwd);
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
MemberDTO dto=new MemberDTO();
dto.setId(rs.getString("id"));
dto.setPwd(rs.getString("pwd"));
dto.setName(rs.getString("name"));
dto.setAddr(rs.getString("addr"));
dto.setTel(rs.getString("tel"));
memberList.add(dto);
}
} catch (SQLException e) {
e.printStackTrace();
}
return memberList;
}
}
memberViews.jsp
<%@page import="members.MemberDTO"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>memberViews.jsp<br>
<jsp:useBean id="dao" class="members.MemberDAO"/>
<%
ArrayList<MemberDTO> memberList = null;
memberList = dao.memberView();
for(MemberDTO dto:memberList) { %>
id : <%=dto.getId() %><br>
pwd : <%=dto.getPwd() %><br>
name : <%=dto.getName() %><br>
addr : <%=dto.getAddr() %><br>
tel : <%=dto.getTel() %><hr>
<% } %>
</body>
</html>
memberViews.jsp 결과
<%@page import="members.MemberDTO"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>memberViews.jsp<br>
<jsp:useBean id="dao" class="members.MemberDAO"/>
<%
ArrayList<MemberDTO> memberList = null;
memberList = dao.memberView();
for(MemberDTO dto:memberList) { %>
id : <%=dto.getId() %><br>
pwd : <%=dto.getPwd() %><br>
name : <%=dto.getName() %><br>
addr : <%=dto.getAddr() %><br>
tel : <%=dto.getTel() %><hr>
<% } %>
</body>
</html>
반응형
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200528.64일차] JSP 10 - 파일 다운로드, 업로드 (0) | 2020.05.28 |
---|---|
[200527.63일차] JSP 9 - 게시판 (5) | 2020.05.27 |
[200526.62일차] JSP 8 (0) | 2020.05.26 |
[200521.59일차] JSP 5 - 예제 연습 (로그인/회원가입/정보수정) (0) | 2020.05.21 |
[200520.58일차] JSP 4 - DB 연동 (0) | 2020.05.20 |
[200519.57일차] JSP 3 - cookie, session (0) | 2020.05.19 |
[200518.56일차] JSP 2 (0) | 2020.05.18 |