JSP/연습

fetch써서 get방식 연습 / txt파일로 가져오는것도 포함

SEOKIHOUSE 2023. 7. 14. 12:21
  • 1) 평범한 방식 PrintWrite로 out.print

<%@ 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>
	<button class="btn1" onclick="f()" value="1">1page</button>
	<button class="btn1" onclick="f()" value="2">2page</button>
	<hr>
	<p id="demo"></p>
	<script>
		function f() {
			let values = event.target.value;
			
			fetch('fetchServlet2?value='+values)
	        	.then(resp => resp.text())
	        	.then( value1 => document.getElementById("demo").innerHTML = '<img src="images/'+value1+'">')
		}
		<%--
		function f() {
			let values = event.target.value;
			
			fetch('Texttest?value='+values)
	        	.then(resp => resp.text())
	        	.then( value1 => document.getElementById("demo").innerHTML = value1)
		}
		--%>
	</script>
	
</body>
</html>
package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/fetchServlet2")
public class FetchServlet2 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String values = request.getParameter("value");
		
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		if(values.equals("1")) {
			out.print("캡처.PNG");
		}else if(values.equals("2")){
			out.print("캡처2.PNG");
		}
		
	}

}

  • 2) txt파일에 내용적어서 연결해보기

<%@ 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>
	<button class="btn1" onclick="f()" value="1">1page</button>
	<button class="btn1" onclick="f()" value="2">2page</button>
	<hr>
	<p id="demo"></p>
	<script>
	<%--
		function f() {
			let values = event.target.value;
			
			fetch('fetchServlet2?value='+values)
	        	.then(resp => resp.text())
	        	.then( value1 => document.getElementById("demo").innerHTML = '<img src="images/'+value1+'">')
		}
		--%>
		function f() {
			let values = event.target.value;
			
			fetch('Texttest?value='+values)
	        	.then(resp => resp.text())
	        	.then( value1 => document.getElementById("demo").innerHTML = value1)
		}
	</script>
	
</body>
</html>
package servlets;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Texttest")
public class Texttest extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String values = request.getParameter("value");
		response.setContentType("text/html;charset=utf-8");
		
		response.sendRedirect("sample" +values +".txt");
		
	}

}

sample1.txt

<img src="images/캡처.PNG">
<h1>기메진바보</h1>

sample2.txt

<img src="images/캡처2.PNG">
<h1>기메진바보</h1>