일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- O(n)
- 빅오표기법
- java
- Oracle
- JSP
- DTO
- 데이터베이스
- DEFAULT
- break
- Vo
- mvc디자인패턴
- 자바
- 접근제한자
- Oracle SQL Developer
- sql
- DAO
- oracle db
- oracle developer
- o(log n)
- C#접근제한자
- DB 제약조건
- java접근제어자
- 메이븐업데이트
- DATABASE
- 오라클
- DB
- JavaSwing
- 자바연산자
- C#접근제어자
- C언어 표준 라이브러리
Archives
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
<구구단 페이지 만들기> 본문
Q. chap01/gugudan으로 접속하는 사용자에게 멋있는 구구단 페이지를 응답하는 서블릿을 만들어보세요
package chap01.servlet;
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;
//chap01/gugudan으로 접속하는 사용자에게 멋있는 구구단 페이지를 응답하는 서블릿을 만들어보세요
@WebServlet("/gugudan2")
public class GugudanServlet2 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.print("<!DOCTYPE html>");
out.print("<html>");
out.print("<head>");
out.print("<meta charset=\"UTF-8\">");
out.print("<title>구구단</title>");
//out.print("<link rel=\"stylesheet\" href=\"http://localhost:9000/chap01/assets/gugudan.css\">");
// 절대경로를 쓰지 않고 상대경로를 쓴다
//out.print("<link rel=\"stylesheet\" href=\"/chap01/assets/gugudan.css\">"); -> 상대경로
// @WebServlet("/gugudan2/") -> gugudan2 안의 / 빈 인덱스가 됨으로
//out.print("<link rel=\"stylesheet\" href=\"../assets/gugudan.css\">"); -> 상대경로를 쓸때 ../ 하나더 상위 폴더로 들어가야한다
out.print("<link rel=\"stylesheet\" href=\"./assets/gugudan.css\">"); // -> 상대경로
// 절대경로는 프로토콜 이름부터 시작 되는 경로
// 상대경로는 이 페이지에 접속했던 URL기준의 상대경로
// a, link, img, script 태그 등은 사용 하는 것만으로도 서버로 요청을 보내 자원을 받아워서 활용한다
out.print("</head>");
out.print("<body>");
out.print("<h2># Gugudan #</h2>");
out.print("<div id=\"gugudan\">");
for (int gop = 0; gop <= 9; ++gop) {
for (int dan = 2; dan <= 9; ++dan) {
if (gop == 0) {
out.print(String.format("<div class=\"dan\">%d단</div>", dan));
} else {
out.print(String.format("<div class=\"data\">%d x %d = %d</div>", dan, gop, dan * gop));
}
out.print("");
}
}
out.print("</div>");
out.print("</body>");
out.print("</html>");
}
}
#gugudan{
display: grid;
grid-template-columns : repeat(8, 1fr);
}
.dan{
background-color : black;
color : white;
}
package chap01.servlet;
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;
//chap01/gugudan으로 접속하는 사용자에게 멋있는 구구단 페이지를 응답하는 서블릿을 만들어보세요
@WebServlet("/gugudan")
public class GugudanServlet extends HttpServlet {
private void gugudan(PrintWriter out) {
for (int step = 2; step <= 9; ++step) {
out.print("<h2 id=\"maincolor\">" + step + "dan" + "</h2>");
for (int mul = 1; mul <= 9; ++mul) {
out.print("<div id=\"servecolor\">"+step + " X " + mul + " = " + (step * mul) + "<br>"+"</div>");
}
}
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.print("<html>");
out.print("<head>");
out.print("<title>Gugudan Page</title>");
out.print("<style>");
out.print("#maincolor { background-color: seagreen; color: white; width: 180px; margin: 15px; text-align: center;}");
out.print("#servecolor { background-color: cornsilk; color: black; width: 200px;margin: 5px; text-align: center;}");
out.print("</style>");
out.print("</head>");
out.print("<body>");
out.print("<h2># Gugudan #</h2>");
gugudan(out);
out.print("</body>");
out.print("</html>");
}
}
'백엔드개발 > JSP' 카테고리의 다른 글
JSP에서 사용되는 주석 (0) | 2024.01.13 |
---|---|
HTML source > input / form (1) | 2024.01.13 |
서블릿이란? Servlet (0) | 2024.01.13 |
JSP(Java Server Pages) (0) | 2024.01.13 |