3月22日
24472 ワード
きょう習った
Framework
「スケルトンまたは基幹を構成するコードの集合」
Frameworkには4つのメリットがあります.
ある程度完成した場合、必要な部分を組み立てる形を開発することができる.
一定の品質保証のある製品を得ることができる.
開発時間を短縮できます.
Frameworkタイプ
SpringMVC(JavaのWebフレームワーク);
Django(PythonのWebフレームワーク)、
Flask(PythonのマイクロWebフレームワーク);
Ruby on Rails(RubyのWebフレームワーク)、
.NET Framework,
Node.js(Express.jsフレームワーク)など
SpringFramework
開発後はメンテナンスが容易で開発が容易であるが,多くの機能を有するため,かなり重い機能を用い,多様な機能を有するために多くの練習が必要である.
インストールSTS 4
https://spring.io/
Projects -> Spring Tools 4
ダウンロードしたファイル.jarファイルなので解凍する
cmdウィンドウまたは右クリックしたgitbashhereメニューを使用します.
JAva-jar[ファイル名]入力時に自動解凍
Window=>Preferences=>Java=>インストールJREで、Addボタンをクリックします.
jdk-11をバージョンに変更します.
General=>符号化をutf-8に変更
Springbootを使用して表示
基本的な使い方
package com.myapp.demo.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
// 주소창에 주소를 적으면 안의 메소드가 요청을 받는다.
@RestController
// 주소창에 localhost:포트번호 /hello 이면 이 클래스로 온다
@RequestMapping("/hello")
public class HelloController {
// get메소드로 / 들어오면 return
// /hello 안에 /basic을 적으면 이 메소드를 return 함
@GetMapping("/basic")
public String sayHello() {
return "<h1>헬로우 월드2</h1>";
}
@GetMapping("/korean")
public String translate() {
return "<h1>GetMapping 테스트 </h1>";
}
@GetMapping("/japan")
public String translatejp() {
return "<h1>GetMapping 테스트 </h1>";
}
@GetMapping("/form")
public String form() {
return "<form method=\"POST\" action=\"/hello/formPost\">\r\n"
+ " <p>\r\n"
+ " <strong>아이디</strong>\r\n"
+ " <input type=\"text\" name=\"name\" value=\"\">\r\n"
+ " </p>\r\n"
+ " <p>\r\n"
+ " <strong>비밀번호</strong>\r\n"
+ " <input type=\"password\" name=\"password\" value=\"\">\r\n"
+ " </p>\r\n"
+ " <p>\r\n"
+ " <strong>성별</strong>\r\n"
+ " <input type=\"radio\" name=\"gender\" value=\"남성\">남자\r\n"
+ " <input type=\"radio\" name=\"gender\" value=\"여성\">여자\r\n"
+ " </p>\r\n"
+ " <p>\r\n"
+ " <strong>응시분야</strong>\r\n"
+ " <input type=\"checkbox\" name=\"part\" value=\"영어\">영어\r\n"
+ " <input type=\"checkbox\" name=\"part\" value=\"수학\">수학\r\n"
+ " </p>\r\n"
+ " <p>\r\n"
+ " <input type=\"submit\" value=\"제출\">\r\n"
+ " </p>\r\n"
+ "</form>";
}
// post 방식에 /formPost로 전송받을 때
@PostMapping("/formPost")
public String formpost(@RequestParam("name") String name,
@RequestParam("password") String password,
@RequestParam("gender") String gender,
@RequestParam("part") String part) {
return "아이디는 " + name + ", 비밀번호는 " + password + ", 성별은 " + gender + ", 응시과목은 " + part;
}
// post주소와 같아도 주소에 바로 넣는 get 방식이면 get이 실행됨
@GetMapping("/formPost")
public String formtest() {
return "<h1>post와 같은 주소 </h1>";
}
// /{id} 주소에 들어가는 PathVarialble
// getParmeter와 PathVariable은 유사하지만 다르다
@GetMapping("/orders/{id}")
public String order(@PathVariable String id) {
return "주문 아이디는 : " + id;
}
package com.myapp.demo.web;
import java.util.Arrays;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.myapp.demo.domain.Product;
@RestController
@RequestMapping("/user") // https://localhost:8070/user
public class UserController {
@GetMapping("/{id}")
public String userid(@PathVariable String id) {
return "유저아이디 : " + id;
}
@GetMapping("/{id}/contact")
public String displayContact(@PathVariable String id,
@RequestParam(value = "phone", defaultValue = "폰 없음") String phone) {
return "유저아이디는 " + id + " 전화번호는 " + phone;
}
// 리스트 리턴해보기 => 제이슨 형식으로 변환되어서 출력됨
@GetMapping("/{id}/items")
public List<String> displayUserItems() {
return Arrays.asList("가방","노트북","신발","태블릿");
}
// 객체를 리턴해보기 => 제이슨 형식으로 변환되어서 출력됨
@GetMapping("/{id}/products")
public List<Product> displayUserProducts() {
return Arrays.asList(new Product(1, "모자", 5000),
new Product(2, "가방", 20000),
new Product(3, "노트북", 18000000),
new Product(4, "태블릿", 1000000));
}
}
Springbootポートを変更するには:
デフォルトポート8080を使用している場合は、
アプリケーションpropertiesファイル
server.port=ポート番号を入力してポート番号を変更します.
Reference
この問題について(3月22日), 我々は、より多くの情報をここで見つけました https://velog.io/@tutu10000/3월-22일テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol