KIC/JSP
[JSP] notice
octopengj
2020. 9. 21. 23:15
1. WebContent에 notice 폴더 생성
2. notice폴더에 2020814.txt 파일 생성
3. WebContent에 index.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>
<script>
function test(){
//형식) window.open(1.불러온 문서명 2. 문서의 타이틀명 3. 창의 옵션(left, top, width, height))
window.open('/ServletTest/Notice', 'w', 'left=300, top=200, width=500, height=400')
}
</script>
</head>
<body onload="test()">
<h2>Welcome to JSP Study Site!</h2>
</body>
</html>
index.jsp 코드
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Notice
*/
@WebServlet("/Notice")
public class Notice extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=utf-8");//문서유형 정해준다.
PrintWriter out=response.getWriter();
out.println("<html><head></head>");
out.println("<body>");
//접속할때마다 공지사항창을 띄우기
out.println("<h2>오늘의 공지사항</h2>");
// /notice/2020814.txt
String fileName=""; // 불러올 파일명을 저장
// 날짜를 출력
Calendar cal = Calendar.getInstance();
fileName+=cal.get(Calendar.YEAR);//"2020"
fileName+=cal.get(Calendar.MONTH)+1; //0~11+1을 줘야 정상적인 월 표시
//"20208"
fileName+=cal.get(Calendar.DATE); //"2020814"
fileName+=".txt";
// 절대경로명+파일명
String realPath="C:/webtest/4.jsp/sou/ServletTest/WebContent/notice/"+fileName;
System.out.println("realPath=>"+realPath);
try {
//FileInputStream(영문위주) or FileReader(한글)
BufferedReader br = new BufferedReader(new FileReader(realPath));
String line=""; // 한줄씩 읽어들여서 저장할 변수
while((line=br.readLine())!=null) {
out.println(line+"<br>"); // 클라이언트의 브라우저로 전송
}
} catch(IOException e) {
System.out.println("불러올 파일의 경로와 파일명을 확인요망!"+e);
} catch(Exception e) {
System.out.println("오늘 공지사항이 없습니다."+e);
}
out.println("<p align=center>");
out.println("<hr>");
out.println("<input type='submit' value='창닫기' onclick='window.close()'>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
notice.java 코드
index.jsp에서 실행