현재
[JSP] 예제1? 본문
파일위치
C:\WorkSpace\JSPWorkSpace\WebMVCEx\src\main\java\com\ja\pname\controller\SomeController.jsp
package com.ja.pname.controller;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ja.pname.dto.BoardDto;
/**
* Servlet implementation class SomeController
*/
@WebServlet("/test123")
public class SomeController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SomeController() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// response.getWriter().append("Served at: ").append(request.getContextPath());
System.out.println("test1 리퀘스트...");
//비즈니스 모델 호출... 클래스 메소드 호출...
String title = "안녕!! 반가워!!";
String nickname = "한조";
BoardDto boardDto = new BoardDto();
boardDto.setTitle(title);
boardDto.setWriter(nickname);
// request에 Dto를 담는 경우...
request.setAttribute("boardDto", boardDto);
Map<String, Object> map = new HashMap<>();
map.put("v1", "안녕하세요");
map.put("v2", 1234);
map.put("v3", boardDto);
request.setAttribute("map", map);
// request.setAttribute("title", title);
// request.setAttribute("nickname", nickname);
//출력할 데이터를 리퀘스트에 담고 포워딩 한다.
request.getRequestDispatcher("/WEB-INF/views/test1.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
파일위치
C:\WorkSpace\JSPWorkSpace\WebMVCEx\src\main\java\com\ja\pname\dto\BoardDto.java
package com.ja.pname.dto;
public class BoardDto {
private int id;
private String title;
private String writer;
//...
public BoardDto() {
super();
}
public BoardDto(int id, String title, String writer) {
super();
this.id = id;
this.title = title;
this.writer = writer;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
}
C:\WorkSpace\JSPWorkSpace\WebMVCEx\src\main\webapp\WEB-INF\views\test1.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>
<!--
test1.jsp를 실행하면 직접적으로 jsp파일을 실행한것
test1을 실행하면 Servlet을 실행(1회)
Servlet에서 get 요청을 받고 test1.jsp를 forwarding(2회)
즉, 한번의 리퀘스트에 2회 응답?
(웹 브라우저에서는 무엇을 호출 했는지 모름)
MVC에서는 모든 코드를 다돌리고 넘어올거기 때문에?
forwarding은 무조건 Jsp로
-->
야호!!!! 테스트!!!<br>
제목: ${boardDto.title}<br> <!-- expression Language -->
작성자: ${boardDto.writer}<br>
<br>
v1: ${map.v1}<br> <!-- key를 써주면 된다 -->
v2: ${map.v2 + 3333 + map.v2}<br>
제목: ${map.v3.title}<br>
<!-- tomcat에서 외부에서 view폴더에 접근하는것을 막는다. -->
</body>
</html>
'웹 프로그래밍 > JSP' 카테고리의 다른 글
| [JSP]웹 프로그래밍의 기초(전체적인 흐름) (0) | 2023.11.22 |
|---|---|
| [JSP] Annotation 및 xml 설정 (0) | 2023.10.19 |
| [JSP] JSTL( 조건문, 반복문 등 ) (0) | 2023.10.19 |
| [JSP] EL(Expression Language) (0) | 2023.10.19 |
| [JSP] Cookie (0) | 2023.10.18 |