2023.02.23

2023.02.23

JSP를 사용한 설정
build.gradle > 의존성 application.properties 폴더 생성
구현하다 ‘javax.servlet:jstl’
구현하다 ‘org.apache.tomcat.embed:tomcat-embed-jasper’
서버.포트=8081
spring.mvc.view.prefix=/WEB-INF/조회수/
spring.mvc.view.suffix=.jsp
소스 > 메인 > 웹앱 > WEB-INF > 보기
MVC(모델-뷰-컨트롤러)
모델 사용 보기 사용 방법 모델과 뷰를 사용하는 방법
● 컨트롤러
메서드의 매개변수로 선언
속성 추가(속성 이름, 값)
${속성 이름} 제어 장치
메서드 반환 유형 => ModelAndView
메서드에 선언
ModelAndView mv = new ModelAndView();
속성 값 할당
mv.addObject(속성 이름, 값);
명명된 뷰
mv.setViewName(JSPv 파일 이름);
반품
반환 MV;

<代码>

package com.human.springboot;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class MyController {
	@GetMapping("/test")
	public ModelAndView test() {
		ModelAndView mv = new ModelAndView();
		String nickname = "홍길동";
		mv.addObject("nickname",nickname);
		mv.addObject("mobile","12345678");
		mv.addObject("birthday",1443);
		mv.setViewName("root");
		
		return mv;
	}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
${nickname}<br>
${mobile}<br>
${birthday}<br>
</body>
</html>

<结果>



JSTL 라이브러리 대신 사용할 항목(build.gradle에서)
‘jakarta.servlet:jakarta.servlet-api’ 구현
‘jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api’ 구현
‘org.glassfish.web:jakarta.servlet.jsp.jstl’ 구현

for 문을 실행하여 alMenu의 내용을 표시합니다.

<代码>

내 컨트롤러

package com.human.springboot;

import java.util.ArrayList;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class MyController {
	@GetMapping("/test1")
	public String test1(Model model) {
		ArrayList<String> alMenu = new ArrayList<String>();
		alMenu.add("Latte");
		alMenu.add("Americano");
		alMenu.add("GreenTea");
		alMenu.add("Mocca");
		
		model.addAttribute("menu",alMenu);
		
		return "test1";
	}
}

테스트 1

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
Cafe입니다.<br>
#웹서버에서 처리를 끝낸다.
<c:forEach var="name" items="${menu}">
${name}<br>
</c:forEach>
</body>
</html>

build.gradle: 반환하려면 포함해야 합니다.

plugins {
	id 'java'
	id 'war'
	id 'org.springframework.boot' version '3.0.2'
	id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.human'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	implementation 'jakarta.servlet:jakarta.servlet-api'
	implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
	implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'
	implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
}

tasks.named('test') {
	useJUnitPlatform()
}

<结果>


<代码>

시험

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<%
	for(int i=2;i<10;i++){
		for(int j=1;j<10;j++){
			out.println(i+"x"+j+"="+(i*j)+"<br>");
		}	
	}
%>
</body>
</html>

<结果>


9번으로 왔습니다.

<代码>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<%
	out.println("<table border=1>");
	for(int i=2;i<10;i++){
		out.println("<tr>");
		for(int j=1;j<10;j++){
			out.println("<td>"+(i*j)+"</td>");
		}	
		out.println("</tr>");
	}
	out.println("</table>");
%>
</body>
</html>

<结果>



보기에서 데이터를 보내는 방법
<来自> 상표 아약스 요청 매개변수
컨트롤러에서 데이터를 받는 방법
HttpServlet 요청 사용 클래스
문자열 값 = 매개변수 가져오기(매개변수 이름)
요청 매개변수
URL?키 1=값 1&키 2=value2&…&keyN=valueN => URL에서 값을 삽입하는 방법
httpServletReaust 등록
값 = reg.getParameter(“키”)
document.laction=”http://localhost:8081/show?mobile=12345678&city=Jeju” => Java에서 직접 삽입하는 방법
http://localhost:8081/ 보여줍니다?mobile=12345678&city=제주도
http://localhost:8081/ 보여줍니다 주소
?mobile=12345678&city=제주도 요청 매개변수

<代码>

package com.human.springboot;

import java.util.ArrayList;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import jakarta.servlet.http.HttpServletRequest;

@Controller
public class MyController {
	@GetMapping("/show")
	public String show(HttpServletRequest req, Model model) {
		String str1 = req.getParameter("mobile");
		String str2 = req.getParameter("city");
		
		model.addAttribute("phone",str1);
		model.addAttribute("region",str2);
		return "show";
	}
}

디스플레이 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Show</title>
</head>
<body>
phone: ${phone}<br>
region: ${region}
</body>
</html>

<结果>


올바른 키 값을 입력하십시오. 그렇지 않으면 나는 그것을들을 수 없습니다.

<作业>

url:/gugu?dan=4를 실행하면 4개의 컬럼이 생성되어 표시된다.

<代码>

내 컨트롤러

package com.human.springboot;

import java.util.ArrayList;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import jakarta.servlet.http.HttpServletRequest;

@Controller
public class MyController {
	
	@GetMapping("/gugu")
	public String gugu(HttpServletRequest req, Model model) {
		String str1 = req.getParameter("dan");
		
		model.addAttribute("gugudan",str1);
		int i;
		for(i=1;i<10;i++) {
			int n = Integer.parseInt(str1);
			model.addAttribute("gugudan"+i,n+"x"+i+"="+(n*i));
		}
		return "gugu";
	}
}

cuckoo.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>
${gugudan}<br>
${gugudan1}<br>
${gugudan2}<br>
${gugudan3}<br>
${gugudan4}<br>
${gugudan5}<br>
${gugudan6}<br>
${gugudan7}<br>
${gugudan8}<br>
${gugudan9}<br>
</body>
</html>

<结果>


<作业>

a와 b의 최대 공약수와 최소 공배수를 찾으십시오. 이름은 common.jsp입니다.

<代码>

내 컨트롤러

package com.human.springboot;

import java.util.ArrayList;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import jakarta.servlet.http.HttpServletRequest;

@Controller
public class MyController {
	@GetMapping("/common")
	public String common(HttpServletRequest req, Model model) {
		String str1 = req.getParameter("a");
		String str2 = req.getParameter("b");
		
		int i;
		int max = 0;
		int a1 = Integer.parseInt(str1);
		int b1 = Integer.parseInt(str2);
		model.addAttribute("a",a1);
		model.addAttribute("b",b1);
		for(i=1; i<=a1 && i<=b1; i++) {
			if(a1%i==0 && b1%i==0)
			{
				max=i;
				
			}
		}
		int min = (a1*b1)/max;
		model.addAttribute("max",max);
		model.addAttribute("min",min);
		
		return "common";
	}
}

common.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>
a:${a}<br>
b:${b}<br>
최대공약수:${max}<br>
최소공배수:${min}<br>
</body>
</html>

<结果>


<作业>

테이블의 행과 열의 값을 받아서 테이블을 그립니다.

<代码>

package com.human.springboot;

import java.util.ArrayList;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import jakarta.servlet.http.HttpServletRequest;

@Controller
public class MyController {
	@GetMapping("/table")
	public String table(HttpServletRequest req, Model model) {
		String str1 = req.getParameter("row");
		String str2 = req.getParameter("col");
		
		int row1=Integer.parseInt(str1);
		int col1=Integer.parseInt(str2);
		model.addAttribute("row",row1);
		model.addAttribute("col",col1);
		String table="";
		int count=1;
		if(str1!=null && str2!=null) {
			for(int i=0;i<row1;i++) {
				table += "<tr>";
				for(int j=0;j<col1;j++) {
					table += "<td>"+count+"</td>";
					count++;
				}
				table += "</tr>";
			}
			table +="</table>";
			model.addAttribute("table","<table border=2 width=300 height=300 text=center>"+table);
		}else if(str1.equals("")||str2.equals("")||str1==null||str2==null){
			String err="행,열을 입력하세요";
			model.addAttribute("err",err);
			
		}
		
		return "table";
	}
}

form.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>
행 : ${row}<br>
열 : ${col}<br>
${table}

</body>
</html>

<结果>


왜… 내가 매트릭스에 들어갈 수 없다면, 매트릭스는 나에게 들어가라고 요구하지 않을 것입니다…

아아아아아아아아아아아아아아아아아아아아아아

Similar Posts

  • 영마켓 창업자 유튜버가 학교폭력 가해자?

    한 유튜버가 학교폭력 가해자로 지목됐다. 장터에서 노하후 촬영에 열중하는 7000세 청년 유튜버… 감사합니다 소상공인을 돕기 위해 열심히 일하며 이미지를 정리하고 생계를 꾸려가는 젊은 사업가입니다. 하지만… 아무리 미숙하더라도 학교폭력 피해자들은 평생 기억한다. 잘 먹고 혼자 사는 것이 좋은가? 지금이 아니라 지금이라도 모두가 색안경을 쓰고, 자신을 보는 방식을 느끼고, 어디가 잘못되었는지 알고, 과거를 반성해야 한다고 생각합니다. 영상에…

  • 피부재생 연고 마데카솔 발라보신 분?

    안녕하세요.(~`)) 오늘은 스팟케어에 관심있는 잇분들께 도움이 되는 잇 아이템을 가져왔습니다.제가 사용하는 피부재생연고랑 사슴크림인데 이렇게 사용하시면 효과가 제일 좋더라구요 ㅎㅎ 그래서 비좁은 고민이 있는 잇씨들에게도 어떤 제품이 좋은지, 어떻게 사용해야 하는지 제 노하우를 알려드리려고 가져왔어요. 마데카솔 연고와 더 할나이시 카이드 크림! 둘 다 잘 알려져 있으니까 아실지도 모르겠네요. 저는 이 두가지가 정말 많이 쓰이는 아이템이랍니다(웃음).더 할나이시…

  • 엄지발가락 통증을 유발하는 10가지 조건

    우리 인체에서 발은 인체의 제2의 심장이라고 할 수 있는 매우 중요한 부분입니다. 그래서 오늘 포스팅의 주제는 엄지발가락 통증에 관한 것입니다. 통증의 원인을 아는 것이 도움이 될 수 있습니다. 색인 엄지 발가락 통증 1. 엄지발가락 통증 – 신경절 통풍과 유사하게 밤에 엄지발가락 통증에 나타나는 신경절질환은 관절액이 변한 후 관절 옆에 주머니가 생긴 상태이다. 보통 엄지발가락 관절…

  • 발가락/발바닥 무좀의 증상과 원인, 치료 : 발바르는 무좀약, 먹는 무좀약 추천

    발가락/발바닥 무좀의 증상과 원인, 치료 발바르는 무좀약, 먹는 무좀약 추천 발가락/발바닥 무좀의 증상과 원인, 치료 발바르는 무좀약, 먹는 무좀약 추천 안녕하세요 류에입니다 우리가 생활하다 보면 다리 건강에 대해서는 별로 고려하지 않는 것 같아요.발은 아무래도 자신의 시선에서 잘 보이지 않는 부위이기 때문에 양말을 신거나 하면 더 신경쓰지 않지만 발을 제대로 청결하게 유지하지 않고 방치하면 발바닥/족지무좀 증상과…

  • 2023.07.02 1078일

    디도서 1:10-16 당신이 말하는 것은 거룩합니다 나는 그렇게 생각하지 않는다 당신이 말하는 것으로 판단하지 마십시오 당신이하는 일에주의를 기울이십시오 당신이 말하는 것은 거룩합니다 사실 그들은 자신의 이익을 추구할 뿐입니다. 당신이 말하는 것을 믿지 마십시오 그들의 행동을 잘 살펴보세요 말이된다 내 마음에 죄와 욕심이 있습니까? 미러 워드에 대해 생각해 봅시다 무엇보다 내 마음을 지켜줘 말이된다 나는 내…

  • 누가복음 12장.

    바리새인의 위선을 경계하라(마태복음 10:26-33; 12:32; 10:19-20) ~의~의 1 그 때에 수천 명의 사람들이 모여 서로 짓밟으려 하였더니 예수께서 먼저 제자들에게 이르시되 바리새인의 누룩 곧 외식을 주의하라 2숨겨진 것이 드러나지 않을 것이 없고 숨겨진 것이 알려지지 않을 것이 없습니다. 3 그러므로 네가 은밀히 말하는 모든 것이 광명한 데서 들리고 네가 은밀한 방에서 네 귀로 말하는 모든…