728x90
반응형
write.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- 스크립트 문장을 쓸 수 있도록 라이브러리 불러오기-->
<%@ page import="java.io.PrintWriter" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width" initial-scale="1">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/custom.css">
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.js"></script>
<title>만화속으로 글쓰기</title>
</head>
<body>
<%
// 메인 페이지로 이동했을 때 세션에 값이 담겨있는지 체크
// 로그인이 된 사람들은 그 로그인 정보를 담을 수 있도록 만들어준다.
// 로그인 한 사람이라면 peopleID라는 변수에 해당 아이디가 담기고 그렇지 않으면 null값
String peopleID = null;
// 만약 현재 세션이 존재하면 그 아이디 값을 그대로 받아서 관리하도록
// getAttribute() 는 Servlet간 공유하는 객체 반환 유형이 Object다.
// 이전에 다른 jsp또는 Servlet페이지에 설정된 매개 변수를 가져오는데 씀.
if (session.getAttribute("peopleID") != null) {
// String 형태로 형변환하고, 세션에 있는 값을 가져와서 userID 변수에 해당 아이디가 담긴다. 아니면 null값이 담긴다.
peopleID = (String) session.getAttribute("peopleID");
}
%>
<nav class="navbar navbar-default">
<div class="navbor-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbor-collapse-1"
aria-expanded="false">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="main.jsp">만화속으로</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="main.jsp">메인</a></li>
<li><a href="list.jsp">게시판</a></li>
</ul>
<% // 로그인이 되어 있지 않은경우만 나올 수 있게
// 로그인이 되어있지 않은 사람만! 회원가입이나 로그인이 나올 수 있도록 한다.
if(peopleID == null) {
%>
<ul class="nav navbar-nav navbor-right">
<li class="dropdown">
<a href="#" class="dorpdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">접속하기<span class="caret"></span></a>
<!-- 드랍다운 안에 내용 -->
<ul class="dropdown-menu">
<li class="active"><a href="login.jsp">로그인</a></li>
<li><a href="join.jsp">회원가입</a></li>
</ul>
</li>
</ul>
<% // 로그인이 되어있는 사람들만 보는것!
} else{
%>
<ul class="nav navbar-nav navbor-right">
<li class="dropdown">
<a href="#" class="dorpdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">회원관리<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="logoutAction.jsp">로그아웃</a></li>
</ul>
</li>
</ul>
<%
}
%>
</div>
</nav>
<div class="container">
<div class="row">
<form method="post" action="writeAction.jsp">
<table class="table table-striped" style="text-align:center; border:1px solid #dddddd">
<thead>
<tr>
<th colspan="2" style="background-color:#eeeeee; text-align:center;">글쓰기</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="text" class="form-control" placeholder="만화 제목" name="animeTitle" maxlength="50">
</td>
</tr>
<tr>
<td class="form-contorl">장르<br>
<input type="radio" class="form-contorl" name="animeType" value="판타지"> 판타지
<input type="radio" class="form-contorl" name="animeType" value="로맨스"> 로맨스
<input type="radio" class="form-contorl" name="animeType" value="공포"> 공포
<input type="radio" class="form-contorl" name="animeType" value="시대극"> 시대극
<input type="radio" class="form-contorl" name="animeType" value="SF"> SF(공상과학)
<input type="radio" class="form-contorl" name="animeType" value="액션"> 액션
<input type="radio" class="form-contorl" name="animeType" value="코미디"> 코미디
<input type="radio" class="form-contorl" name="animeType" value="미스터리"> 미스터리
<input type="radio" class="form-contorl" name="animeType" value="스포츠"> 스포츠
</td>
</tr>
<tr>
<td class="form-contorl">추천도🍭<br>
<input type="radio" class="form-contorl" name="animeCandy" value="1"> <label for="1">1점</label>
<input type="radio" class="form-contorl" name="animeCandy" value="2"> <label for="2">2점</label>
<input type="radio" class="form-contorl" name="animeCandy" value="3"> <label for="3">3점</label>
<input type="radio" class="form-contorl" name="animeCandy" value="4"> <label for="4">4점</label>
<input type="radio" class="form-contorl" name="animeCandy" value="5"> <label for="5">5점</label>
</td>
</tr>
<tr>
<td>
<textarea class="form-control" placeholder="만화 내용" name="animeContent" maxlength="2048" style="height: 350px;"></textarea>
</td>
</tr>
</tbody>
</table>
<input type="submit" onclick="return confirm('등록하시겠습니까?')" class="btn btn-primary pull-right" value="글쓰기">
</form>
</div>
</div>
</body>
</html>
writeAction.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- user패키지의 User.DAO클래스를 그대로 가져옴
실질적으로 사용자가 로그인 시도 하려는걸 처리하는 페이지 -->
<%@ page import="animelist.AnimelistDAO" %>
<%@ page import="java.io.PrintWriter" %>
<% request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
%>
<!-- User를 자바빈즈로 사용/ SCOPE 현재 페이지 안에서만 빈즈가 사용될 수 있게 한다. property 값을 저장할 수 있는 거 -->
<jsp:useBean id="animelist" class="animelist.Animelist" scope="page" />
<jsp:setProperty name="animelist" property="animeTitle" />
<jsp:setProperty name="animelist" property="animeContent" />
<jsp:setProperty name="animelist" property="animeType" />
<jsp:setProperty name="animelist" property="animeCandy" />
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>회원가입</title>
</head>
<body>
<%
// 현재 세션 상태를 체크
String peopleID = null;
// 피플 아이디 이름으로 세션이 존재하는 회원들은
if(session.getAttribute("peopleID") != null) {
// 유저 아이디에 해당 세션값을 넣어준다.
peopleID = (String) session.getAttribute("peopleID");
}
if (peopleID == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('로그인을 하세요.')");
script.println("location.href = 'login.jsp'");
script.println("</script>");
} else {
if(animelist.getAnimeTitle() == null || animelist.getAnimeContent() == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('입력 되지 않은 사항이 있습니다.')");
script.println("history.back()");
script.println("</script>");
} else {
System.out.println(">>> " + animelist.toString());
AnimelistDAO animelistDAO = new AnimelistDAO();
int result = animelistDAO.write(animelist.getAnimeTitle(), peopleID, animelist.getAnimeContent(),
animelist.getAnimeType(), animelist.getAnimeCandy());
// -1은 디비 오류
if (result == -1) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('글쓰기에 실패했습니다.')");
script.println("history.back()");
script.println("</script>");
}
// 나머지는 다 성공적으로 글이 작성되면 게시판화면으로 이동하게 한다.
else {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("location.href = 'list.jsp'");
script.println("</script>");
}
}
}
%>
</body>
</html>
728x90
반응형
'토이프로젝트 > ToAnime(만화속으로)' 카테고리의 다른 글
ToAnime(update.jsp) (0) | 2021.07.14 |
---|---|
ToAnime(초기화면구상) (0) | 2021.07.12 |
ToAnime(list.jsp) (0) | 2021.07.12 |
ToAnime(index.jsp) (0) | 2021.07.12 |
ToAnime(logout.jsp) (0) | 2021.07.11 |