반응형
게시판 content 출력
detail.jsp
<%@page import="com.knowhoon.dao.BoardDAO"%>
<%@page import="com.knowhoon.dto.BoardDTO"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table{
border: 1px gray solid;
border-bottom: 3px gray solid;
border-right: 3px gray solid;
border-collapse: collapse;
/* 테이블 공백 제거 */
}
#title{
background-color: gray;
}
</style>
<meta charset="EUC-KR">
<title>detail</title>
</head>
<body>
<h1>detail</h1>
<%
// 파라미터로 들어오는 값을 변수에 저장하기
String bno = request.getParameter("bno");
//int?
int strInt = Integer.parseInt(bno);
//detail은 bno에 해당하는 레코드
//하나를 화면에 출력해야 한다.
//데이터베이스에게 질의
//jsp -> java -> db -> java - > jsp
//DAO를 활용해서 보내기
//DAO에 detail(int) 이라는 메소드 만들어주기
//객체 생성해서 값 받아오기
BoardDAO dao = new BoardDAO();
BoardDTO dto = dao.detail(strInt);
%>
전송된 bno =
<%=strInt%><br>
<br> 1. getP~ = ?물음표 뒤에 오는 이름=값을 잡는다. detail.jsp?no=12 이름을 no, 값
12 여러개값이 동시에 올 때 dtail.jsp?no=12&num=100
<hr>
<table style="width: 600px;">
<tr id="title">
<td colspan="2" style="border-bottom: 1px solid gray; height: 35px;">
제목 : <%=dto.getBtitle() %></td>
</tr>
<tr>
<td><%=dto.getName() %>(<%=dto.getId() %>)</td>
<td><%=dto.getBdate() %></td>
</tr>
<tr>
<td><%=dto.getBcount() %></td>
<td><%=dto.getBdate() %></td>
</tr>
<tr>
<td colspan="2" style="height: 100px; border-top: 1px solid gray;">
<%=dto.getBcontent() %></td>
</tr>
</table>
<button><a href="./board.jsp">리스트로</a></button>
<button onclick="location.href='./board.jsp'">리스트로</button>
<input type="button" value="리스트로">
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>login</title>
<style type="text/css">
#loginbox {
margin: 0 auto;
min-height: 300px;
width: 260px;
background-color: #c0c0c0;
text-align: center;
padding: 10px;
}
#loginbox input {
height: 20px;
width:150px;
margin-bottom: 5px;
font-size: 10pt;
color: red;
font-weight: bold;
font-fammily: 고딕체;
text-align: center;
}
#loginbox button{
width: 120px;
height: 30px;
margin-bottom: 5px;
}
#loginbox input[type="password"]{
font-size:x-small;
color: black;
}
</style>
</head>
<body>
<h1>login</h1>
<div id="loginbox">
<img alt="" src="./login2.png">
<form action="./loginAction.jsp" method="post">
<input type="text" name="id" maxlength="15" placeholder="아이디를 입력하세요">
<input type="password" name="pw" maxlength="20" placeholder="비밀번호를 입력하세요"><br>
<button type="submit">LOGIN</button>
<button type="reset">RESET</button>
</form>
</div>
</body>
</html>
LoginDTO.java
package com.knowhoon.dto;
//회원가입할때 email/id/pw/name만 받는다.
//no, id, pw, name, email
public class LoginDTO {
private int no;
private String id, pw, name, email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
}
LoginDAO.java
package com.knowhoon.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.knowhoon.dto.LoginDTO;
import com.knowhoon.web.DBConnection;
public class LoginDAO {
public LoginDTO loginAction(LoginDTO dto) {
LoginDTO login = new LoginDTO();
// DBConnection dbc = new DBConnection();
// Connection conn = dbc.dbConn();
Connection conn = new DBConnection().dbConn();
ResultSet rs = null;
PreparedStatement pstmt = null;
String query = "SELECT * FROM login WHERE id=? AND pw=?";
try {
pstmt = conn.prepareStatement(query);
pstmt.setString(1, dto.getId()); //물음표 위치에 어떤 값
pstmt.setString(2, dto.getPw()); //적어주기 (위치, 값)
rs = pstmt.executeQuery();
if(rs.next()) {
login.setNo(rs.getInt("no"));
login.setName(rs.getString("name"));
login.setId(rs.getString("id"));
login.setPw(rs.getString("pw"));
login.setEmail(rs.getString("email"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if(rs != null) {rs.close(); }
if(pstmt != null) {pstmt.close(); }
if(conn != null) {conn.close(); }
} catch (SQLException e) {
e.printStackTrace();
}
}
return login;
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>login</title>
<style type="text/css">
#loginbox {
margin: 0 auto;
min-height: 300px;
width: 260px;
background-color: #c0c0c0;
text-align: center;
padding: 10px;
}
#loginbox input {
height: 20px;
width:150px;
margin-bottom: 5px;
font-size: 10pt;
color: red;
font-weight: bold;
font-fammily: 고딕체;
text-align: center;
}
#loginbox button{
width: 120px;
height: 30px;
margin-bottom: 5px;
}
#loginbox input[type="password"]{
font-size:x-small;
color: black;
}
</style>
</head>
<body>
<h1>login</h1>
<div id="loginbox">
<img alt="" src="./login2.png">
<form action="./loginAction.jsp" method="post">
<input type="text" name="id" maxlength="15" placeholder="아이디를 입력하세요">
<input type="password" name="pw" maxlength="20" placeholder="비밀번호를 입력하세요"><br>
<button type="submit">LOGIN</button>
<button type="reset">RESET</button>
</form>
</div>
</body>
</html>
loginAction.jsp
<%@page import="com.knowhoon.dto.LoginDTO"%>
<%@page import="com.knowhoon.dao.LoginDAO"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Login Action</title>
</head>
<body>
<h1>loginAction</h1>
<%
String id = request.getParameter("id");
String pw = request.getParameter("pw");
%>
입력한 id는 <%=id %>입니다.<br>
입력한 pw는 <%=pw %>입니다.<br>
해야 할 일
id/pw값을 자바로 보내기
java는 db에 물어보기 loginDAO / loginDTO
db는 결과값을 java에 리턴
java는 받은 데이터를 판별하여 jsp에 찍는다.
<hr>
<%
LoginDAO dao = new LoginDAO();
LoginDTO dto = new LoginDTO();
dto.setId(id);
dto.setPw(pw);
dto = dao.loginAction(dto);
%>
<h1>로그인 후 </h1>
<%
if(dto.getName() == null || dto.getName().equals(null)){
//if(dto.getNO() == 0 && dto.getName() == null{
%>
로그인 해주세요
<%
}else{
%>
<%=dto.getName() %>님 환영합니다.
<%
}
%>
<br><br><br>
번호 : <%=dto.getNo() %><br>
이름 : <%=dto.getName() %><br>
ID : <%=dto.getId() %><br>
PW : <%=dto.getPw() %><br>
Email : <%=dto.getEmail() %>
<hr>
</body>
</html>
반응형
'프로그래밍 > Java_JSP 게시판 만들기' 카테고리의 다른 글
Java_JSP 게시판 만들기 가입하기(ajax방식) (0) | 2021.07.13 |
---|---|
Java_JSP 게시판 로그 남기기 (0) | 2021.07.13 |
자바_JSP 게시판 만들기(1) DAO,DTO 분리 (0) | 2021.06.24 |