자료공유거나 페이지이동하는 application
(include와 web.xml을 사용하지 않고 내용을 공유한다)
(1) application을 이용한 예제
JSP에서 application이라는 내장객체를 사용할때,
공유를 위해서 setAttribute(변수명,값), getAttribute(변수명)을 사용합니다.
또한, application.getInitParameter("name값"); 을 통해서 시작할때 한번만 값을 초기화한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<body>
<h1>
우리 과정은
<%=application.getInitParameter("title") %>
이며 종료날짜는
<%=application.getInitParameter("enddate") %>
입니다.
</h1>
<%
int i=200;
String s ="app7";
application.setAttribute("share", i); //변수하고자하는이름을 share%>
<%=application.getAttribute("share") %>
</body>
|
8-2) 우의 코드와 연결되는 코드입니다.
또한 setAttribute와 getAttribute의 응용코드입니다.
Attribute는 Object반환되기때문에 필수적으로 값을 저장하기위해서는 형변환해야한다.
그리고 setAttribute를 통해 변수에 값을 저장할때 연산도 같이 적어도 상관없다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<body>
<h1>
우리 과정은
<%=application.getInitParameter("title") %>
이며 종료날짜는
<%=application.getInitParameter("enddate") %>
입니다.
</h1>
<% Object share= application.getAttribute("share"); %> <!-- Object타입 -->
<%-- <%= ((String)share).toUpperCase() %> --%>
<% application.setAttribute("share", (int)share+100); %>
<%= application.getAttribute("share") %>
</body>
</html>
|
8-3) application의 사용을 위와 다르게 Servlet에서 사용해보았습니다.
위의 코드와는 연결됩니다.
application의 공유범위는 프로젝트안에 있으면 모든 jsp와 서블릿은 공유할 수 있습니다.
application의 공유기간은 실행시, tomcat서버가 종료될 때까지 계속 실행된다입니다.
또한, 서블릿을 이용해서 application을 하려면, 객체를 직접 만들어서 사용해야한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class ShareServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext application = getServletContext();
Object share = application.getAttribute("share");
application.setAttribute("share",((Integer)share)+1000);
response.setContentType("text/html; utf-8");
PrintWriter out = response.getWriter();
out.println("<h3>"+application.getAttribute("share")+"</h3>");
}
}
|
※ 이는 (1).jsp => (2).jsp => 3.java순서로 실행한다.
FileReader를 이용한 로그 읽기 : 파일을 스캐너방식을 이용해서 한줄한줄 반복처리로 전체를 브라우저 출력. (이떄, DB로 저장하는게 아니라 파일로 저장하도록 )
이전 게시글과 반대로 FileReader fr = new FileReader("경로")를 통해서 파일에 저장된 값을 읽어올 객체를 생성합니다. 그리고, 반복문안에서 스캐너에 fr를 대입하고, 한줄씩 읽을 값이 있다면? 한줄씩 line변수에 읽어서 저장한다.
그리고 최종 출력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.io.*, java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8">
<title> 파일읽어오기 (log_read)</title>
</head>
<body>
<%
//파일을 읽는다, 로그Read
FileReader fr= new FileReader("c:/log.txt");
Scanner sc= new Scanner(fr);
while(sc.hasNextLine()==true){ //다음라인에 읽을게 없을때까지 반복
String line = sc.nextLine(); //한줄 읽기위해
out.println(line +"<br>"); //브라우저에 한 줄씩 출력
}
%>
</body>
</html>
|
'WEB 기초 > Jsp' 카테고리의 다른 글
[JSP] 13. 표준 액션 태그 (java Bean & java Property) (0) | 2018.04.23 |
---|---|
[JSP] 12. forward 이용하기 (include 대신해서) (0) | 2018.04.23 |
[JSP] 10. include객체 (0) | 2018.04.23 |
[JSP] 9. out & request객체 (0) | 2018.04.23 |
[JSP] 8. (2-9)단 구구단 (테이블 이용) (0) | 2018.04.23 |