일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 웹 브라우저 전쟁
- dbms
- 우아한테크
- 데이터베이스
- 웹브라우저 수용도
- 자바 오류
- Doit입문SQL
- 숫자 형식
- 생성자
- 배열 3요소
- 함수 선언
- 예제
- html
- SQL입문
- DoitSQL
- 자바 예외
- DoitSQL입문
- 예외
- HTML역사
- 키-값 데이터베이스
- 함수
- R1C3
- 크롤링 오류
- 페이지분석
- 자바
- DoIt
- 배열 예제
- 숫자형식오류
- 크롤링
- SQL
Archives
- Today
- Total
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 웹 브라우저 전쟁
- dbms
- 우아한테크
- 데이터베이스
- 웹브라우저 수용도
- 자바 오류
- Doit입문SQL
- 숫자 형식
- 생성자
- 배열 3요소
- 함수 선언
- 예제
- html
- SQL입문
- DoitSQL
- 자바 예외
- DoitSQL입문
- 예외
- HTML역사
- 키-값 데이터베이스
- 함수
- R1C3
- 크롤링 오류
- 페이지분석
- 자바
- DoIt
- 배열 예제
- 숫자형식오류
- 크롤링
- SQL
Archives
- Today
- Total
프로그래밍
[Web] day39 : 글 쓰기 / 오늘의 방문수 웹페이지 예제(세션, 어플리케이션, 내장객체 out 활용) 본문
728x90
반응형
2023.06.29.목
웹페이지 예제
세션, 어플리케이션, 내장객체 out 을 활용하여
로그인/로그아웃, 글 쓰기 및 오늘의 방문수를 보여주는 웹페이지를 구현하여 보자
글쓰기 웹페이지 예제
mainPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.ArrayList" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 페이지</title>
</head>
<body>
<div id="header">
<%
if (session.getAttribute("name") == null) {
%>
<form action="login.jsp" method="post">
아이디 <input type="text" name="mid">
비밀번호 <input type="password" name="mpw"> <input type="submit" value="로그인">
</form>
<%
} else {
%>
<%=session.getAttribute("name")%>님, 안녕하세요! :D | <a href="logout.jsp">로그아웃</a>
<hr>
<h2>글 작성하기</h2>
<form action="writePage.jsp" method="post">
<textarea rows="10" cols="70" name="memo"></textarea>
<input type="submit" value="작성하기">
</form>
<br>
<hr>
<div>
<%
ArrayList<String> write = (ArrayList<String>) application.getAttribute("write");
if (write == null) {
out.println("<p>작성된 글이 없습니다!</p>");
} else {
for (String v : write) {
out.println("<p>" + v + "</p>");
}
}
%>
</div>
<%
}
%>
</div>
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="model.MemberVO" %>
<jsp:useBean id="mDAO" class="model.MemberDAO" />
<jsp:useBean id="mVO" class="model.MemberVO" />
<jsp:setProperty property="*" name="mVO" />
<%
mVO = mDAO.selectOne(mVO);
if(mVO == null) {
out.println("<script> alert('로그인 실패...'); history.go(-1); </script>");
}
else{
session.setAttribute("name", mVO.getName());
}
response.sendRedirect("mainPage.jsp");
%>
logout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
session.removeAttribute("name");
response.sendRedirect("mainPage.jsp");
%>
writePage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import = "java.util.ArrayList" %>
<%
String memo = "["+session.getAttribute("name") + "님]: "+ request.getParameter("memo");
ArrayList<String> write =(ArrayList<String>)application.getAttribute("write");
if(write == null){
write =new ArrayList<String>();
application.setAttribute("write", write);
}
write.add(memo);
%>
<script>
alert('새로운 글이 추가되었습니다! :D');
location.href='mainPage.jsp';
</script>
d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="mDAO" class="model.MemberDAO" />
<jsp:useBean id="mVO" class="model.MemberVO" />
<jsp:setProperty property="*" name="mVO" />
<%
mVO=mDAO.selectOne(mVO);
if(mVO == null){
out.println("<script>alert('로그인 실패...');history.go(-1);</script>");
}
else{
session.setAttribute("name", mVO.getName());
response.sendRedirect("a.jsp");
}
%>
오늘의 방문 수 예제
test01.jsp
<%@ 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>
<%
application.setAttribute("memberName", "홍길동");
application.setAttribute("cnt", 0);
%>
<a href ='test02.jsp'>방문자 수 확인하기</a>
</body>
</html>
test02.jsp
<%@ 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>
<%
Integer cnt = (Integer)application.getAttribute("cnt");
cnt++;
application.setAttribute("cnt", cnt);
%>
오늘의 방문자 수는 <%= cnt %>명입니다.
</body>
</html>
깃허브
https://github.com/jihyean/Web/tree/main/day39
728x90
반응형
'Web > Web' 카테고리의 다른 글
[Web] day42 : JSTL(자바 서버 페이지 표준 라이브러리) (1) | 2023.08.03 |
---|---|
[Web] day41 : 웹페이지 MVC 패턴으로 분리 (0) | 2023.08.01 |
[Web] day39 : 어플리케이션(application)+내장객체 out (0) | 2023.08.01 |
[Web] day38 : 세션(+세션 활용 예제 쇼핑몰) (0) | 2023.07.31 |
[Web] day38 : 데이터 전송(foward / sendRedirect) (1) | 2023.07.31 |
Comments