boot-mybatis
jsp
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
}
#내장 tomcat
server.port=8090
server.servlet.context-path=/app
#view-resolver
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.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>
main.jsp
</body>
</html>
jsp-css-image
main
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
}
properties
server.port=8090
server.servlet.context-path=/app
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.static-path-pattern=/resources/**
<%@ 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>
<script src="resources/js/script.js"></script>
<link rel="stylesheet" href="resources/css/style.css">
</head>
<body>
main.jsp
<h1>static 파일 설정</h1>
<img src="resources/images/a.jpg" >
</body>
<
mybatis
main
@Controller
public class MainController {
@Autowired
DBDao dao;
@Autowired
DBService service;
//@Autowired
//SqlSessionTemplate session;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
// @GetMapping(value = "/test")
@PostMapping("/test")
public String testPost() {
System.out.println("testPost===");
return "main";
}
@GetMapping(value = "/test")
//@PostMapping("/test")
public String testGet() {
// System.out.println(service);
// System.out.println(dao);
// System.out.println(session);
System.out.println("testGet===");
return "main";
}
@GetMapping("/list")
// @ResponseBody
public String list(Model m) {
List<Dept> allData = service.list();
System.out.println(allData);
m.addAttribute("allData",allData);
return "list";
}
// 부서추가, 수정 만들기
@GetMapping("/deptDelete")
public String deptDelete(int deptno) {
System.out.println(deptno);
service.delete(deptno); //db삭제
return "redirect:/list"; //list 재요청
}
}
dao service mapper 다 복붙
properties
#데이터 소스 설정
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=scott
spring.datasource.password=tiger
#mybatis 설정
mybatis.mapper-locations=com/example/mapper/*.xml
mybatis.type-aliases-package=com.example.*
#server
server.port=8090
server.servlet.context-path=/app
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.static-path-pattern=/resources/**
list.jsp
<%@ 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>Insert title here</title>
</head>
<body>
list.jsp<br>
<h1>부서 정보 테이블</h1>
<table border="1">
<tr>
<th>부서번호</th>
<th>부서명</th>
<th>위치</th>
<th>삭제</th>
<th>수정</th>
</tr>
<c:forEach var="dept" items="${allData }">
<tr>
<td>${dept.deptno}</td>
<td>${dept.dname}</td>
<td>${dept.loc}</td>
<td><a href="deptDelete?deptno=${dept.deptno }">삭제</a></td>
<td><a href="deptUpdate?deptno=${dept.deptno }">수정</a></td>
</tr>
</c:forEach>
</table>
<a herf="insertForm">등록화면</a>
</body>
</html>
main.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>
main.jsp<br>
<a href="test">test GET</a>
<hr>
<form action="test" method="post">
<button>submit</button>
</form>
</body>
</html>
requestbody-json-ajax
cdn
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
jsp 사용 dependency
<!-- JSP 사용 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
main
package com.example.controller;
import java.util.ArrayList;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.dto.Login;
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("test====");
return "main";
}
@RequestMapping(value = "/zzz")
@CrossOrigin //cors 허용
public @ResponseBody String zzz(@RequestParam String userid,
@RequestParam String passwd) {
System.out.println(userid+"\t"+passwd);
return "hello";
}
@RequestMapping(value = "/aaa")
@CrossOrigin //cors 허용
public @ResponseBody String aaa(@RequestBody Login dto) {
System.out.println(dto);
return "hello";
}
@RequestMapping(value = "/bbb")
@CrossOrigin //cors 허용
public @ResponseBody String bbb(@RequestBody ArrayList<Login>list) {
System.out.println(list);
return "hello";
}
}
dto
main.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>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#z").on("click",function(){
$.ajax({
url:'zzz',
type: 'get',
dataType:'text',
data:{
'userid':"홍길동",
'passwd':'1234'
},
success:function(data,status,xhr){
console.log(data);
},
error: function(xhr, status,error){
}
});
});
$("#a").on("click",function(){
$.ajax({
url:'aaa',
type: 'post',
dataType:'text',
headers:{
"Content-Type":"application/json"
}, // Missing comma here
data:JSON.stringify({
userid:'홍길동',
passwd:'1234'
}),
success:function(data,status,xhr){
console.log(data);
},
error: function(xhr, status,error){
}
});
});
$("#b").on("click",function(){
$.ajax({
url:'bbb',
type: 'post',
dataType:'text',
headers:{
"Content-Type":"application/json"
}, // Missing comma here
data:JSON.stringify([{
userid:'홍길동',
passwd:'1234'
},
{
userid:'홍길동2',
passwd:'9999'
}
]),
success:function(data,status,xhr){
console.log(data);
},
error: function(xhr, status,error){
}
});
});
});
</script>
</head>
<body>
main.jsp<br>
<button id="z">일반파라미터</button>
<button id="a">LoginDTO</button>
<button id="b">ArrayList</button>
<div id="result"></div>
</body>
</html>
[Login [userid=홍길동, passwd=1234], Login [userid=홍길동2, passwd=9999]]
#server
server.port=8090
server.servlet.context-path=/app
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
@RequestBody_json_ajax
main
package com.example.controller;
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("test====");
return "main";
}
@RequestMapping(value = "/aaa")
@ResponseBody
@CrossOrigin //cors 허용
public Login aaa() {
Login login = new Login();
login.setUserid("홍길동");
login.setPasswd("1234");
return login;
}
@RequestMapping(value = "/bbb")
@ResponseBody
@CrossOrigin //cors 허용
public ArrayList<Login> bbb() {
ArrayList<Login> list= new ArrayList<Login>();
list.add(new Login("홍길동1","20"));
list.add(new Login("홍길동2","20"));
list.add(new Login("홍길동3","20"));
list.add(new Login("홍길동4","20"));
return list;
}
@RequestMapping(value = "/ccc")
@ResponseBody
@CrossOrigin //cors 허용
public HashMap<String, ArrayList<Login>> ccc() {
HashMap<String, ArrayList<Login>> map = new HashMap<String, ArrayList<Login>>();
ArrayList<Login> list = new ArrayList<Login>();
list.add(new Login("홍기동1", "20"));
list.add(new Login("홍기동2", "30"));
list.add(new Login("홍기동3", "40"));
ArrayList<Login> list2 = new ArrayList<Login>();
list2.add(new Login("유관순1", "20"));
list2.add(new Login("유관순2", "30"));
list2.add(new Login("유관순3", "40"));
map.put("one", list);
map.put("two", list2);
return map;
}
}
<%@ 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>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#aaa").on("click",function(){
$.ajax({
url:'aaa',
type: 'get',
dataType:'json',
success:function(data,status,xhr){
console.log(data, data.userid, data.passwd);
$("#result").text(JSON.stringify(data));
},
error: function(xhr, status,error){}
});
});
$("#bbb").on("click",function(){
$.ajax({
url:'bbb',
type: 'get',
dataType:'json',
success:function(data,status,xhr){
console.log(data, data.userid, data.passwd);
$("#result").text(JSON.stringify(data));
},
error: function(xhr, status,error){}
});
});
$("#ccc").on("click",function(){
$.ajax({
url:'ccc',
type: 'get',
dataType:'json',
success:function(data,status,xhr){
console.log(data);
console.log(data.one);
console.log(data.two);
$("#result").text(JSON.stringify(data));
},
error: function(xhr, status,error){}
});
});
})
</script>
</head>
<body>
main.jsp<br>
<button id="aaa">aaa호출: Login</button><br>
<button id="bbb">bbb호출: ArrayList</button><br>
<button id="ccc">ccc호출: HashMap</button><br>
<div id="result"></div>
</body>
</html>
aaa
bbb
ccc
@ResponseBody_json_ajax
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
@RequestMapping(value = "/board/name/{xxx}")
public String board(@PathVariable("xxx") String name) {
System.out.println("/board/name/{xxx}: "+name);
return "main";
}
@RequestMapping(value = "/board2/name/{xxx}/age/{yyy}")
public String board2(@PathVariable("xxx") String name,
@PathVariable("yyy") int age){
System.out.println("/board/name/{xxx}/age/{yyy}: "+name+"\t"+age);
return "main";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Main</title>
</head>
<body>
main.jsp<hr>
<a href="/app/board/name/홍길동">board</a><br>
<a href="/app/board2/name/이순신/age/20">board2</a><br>
</body>
</html>
/board/name/{xxx}: 홍길동
/board/name/{xxx}/age/{yyy}: 이순신 20
HandlerInterceptor
main
@Controller
public class MainController {
//insercepter 미적용
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
return "main";
}
//insercepter 미적용
@RequestMapping(value = "/zzz")
public String zzz() {
System.out.println("/ zzz 주소요청");
return "main";
}
@RequestMapping(value = "/xyz") //intercepter 사용
public String xyz() {
System.out.println("/xyz 주소요청");
return "main";
}
@RequestMapping(value = "/login") //intercepter 사용
public String login() {
System.out.println("/login 주소요청");
return "main";
}
@RequestMapping(value = "/login/test") //intercepter 사용
public String loginTest() {
System.out.println("/loginTest 주소요청");
return "main";
}
}
MyHandlerInterceptor
public class MyHandlerInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("prehandle 실행");
return true; ///////계속 진행 false: 진행 정지
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("postHAndler 실행");
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
}
WebConfig
@Configuration
public class WebConfig implements WebMvcConfigurer{
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyHandlerInterceptor()). //처리 클래스
addPathPatterns("/login/**","/xyz"); //처리주소
}
}
true 시
prehandle 실행 /loginTest 주소요청 postHAndler 실행
false 시
prehandle 실행
prehandle 에서 로그인이 안된경우 /login주소를 요청하고
loginForm.jsp 로 이동하게 하고 로그인이 된 경우 계속진행
springboot
value="/" => main.jsp : loginlink
/login => loginForm.jsp
loginForm.jsp : id/pw 입력 /login:post 요청
/login id 파싱 session 에 저장
/cart : cart.jsp :session 의 출력
@Controller
public class MainController {
//insercepter 미적용
@GetMapping(value = "/")
public String main() {
System.out.println("/주소요청");
return "main";
}
//insercepter 미적용
@GetMapping(value = "/cart")
public void cart() {
}
@GetMapping(value = "/login") //intercepter 사용
public String login() {
System.out.println("/login 주소요청");
return "loginForm";
}
@PostMapping("/login")
public String login(String username, String password, HttpSession session) {
// 사용자 이름과 비밀번호를 유효성 검사 (데이터베이스에서 확인할 수 있음)
// 사용자를 세션에 저장
session.setAttribute("username", username);
return "main";
}
@GetMapping(value = "/logout") //intercepter 사용
public String logout(HttpSession session) {
session.invalidate();
System.out.println("/login 주소요청");
return "redirect:/login";
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer{
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyHandlerInterceptor()). //처리 클래스
addPathPatterns("/cart"); //처리주소
}
}
public class MyHandlerInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
HttpSession session = request.getSession();
System.out.println("preHandler 실행");
String username = (String) request.getSession().getAttribute("username");
if (username == null) {
// 로그인하지 않았다면 로그인 페이지로 리다이렉트
response.sendRedirect("login");
return false; // 요청을 더 이상 처리하지 않도록 설정
}
return true; // 요청 계속 진행
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("postHAndler 실행");
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cart</title>
</head>
<body>
<h1>Cart Page</h1>
<p>Welcome, ${sessionScope.username}!</p>
<a href="logout">logout</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
login.jsp<hr>
<a href="loginForm">loginForm</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>LoginForm</title>
</head>
<body>
loginForm.jsp<hr>
<form method="post" action="login">
id: <input type="text" name="username" required><br>
pw: <input type="text" name="password" required><br>
<input type="submit" value="Login">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Main</title>
</head>
<body>
main.jsp<hr>
<a href="login">Login</a>
</body>
</html>
/주소요청
/login 주소요청
preHandler 실행
postHAndler 실행
@RestController_ajax
<%@ 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>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#a").on("click",function(){
//Ajax
$.ajax({
url:'aaa',
type:'get',
dataType:'json',
success:function(data,status,xhr){
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.log(error);
}
});
});
$("#b").on("click", function(){
//Ajax
$.ajax({
url:'bbb',
type:'get',
dataType:'json',
success:function(data,status,xhr){
console.log(data);
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#c").on("click", function(){
//Ajax
$.ajax({
url:'ccc',
type:'get',
dataType:'text',
success:function(data,status,xhr){
console.log(data);
$("#result").text(data);
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#d").on("click", function(){
//Ajax
$.ajax({
url:'ddd',
type:'get',
dataType:'html',
success:function(data,status,xhr){
console.log(data);
$("#result").html(data);
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#e").on("click", function(){
//Ajax
$.ajax({
url:'eee',
type:'get',
dataType:'xml',
success:function(data,status,xhr){
console.log(data);
$("#result").text($(data).find("name").text()+
"\t"
+$(data).find("age").text());
},
error:function(xhr,status,error){
console.error(error);
}
});
});
});
</script>
</head>
<body>
main.jsp<br>
<button id="a">LoginDTO</button>
<button id="b">ArrayList</button>
<button id="c">String</button>
<button id="d">html</button>
<button id="e">xml</button>
<div id="result"></div>
</body>
</html>
main
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
}
Test
@RestController
public class TestController {
@RequestMapping("/aaa")
@CrossOrigin
public Login aaa() {
Login dto= new Login("aaaa", "1234");
return dto;
}
@RequestMapping("/bbb")
@CrossOrigin
public ArrayList<Login> bbb() {
Login dto = new Login("asdf", "1234");
Login dto2 = new Login("eeee", "999");
Login dto3 = new Login("gsfasf", "777");
ArrayList<Login> list = new ArrayList<Login>();
list.add(dto);
list.add(dto2);
list.add(dto3);
return list;
}
@RequestMapping(value = "/ccc", produces = "text/plain;charset=UTF-8")
@CrossOrigin
public String ccc() {
return "홍길동";
}
@RequestMapping(value = "/ddd", produces = "text/plain;charset=UTF-8")
@CrossOrigin
public String ddd() {
String mesg ="<h1>Hello 안녕하세여</h1>";
return mesg;
}
@RequestMapping(value = "/eee", produces = "text/plain;charset=UTF-8")
@CrossOrigin
public String eee() {
String mesg ="<person><name>홍길동</name><age>20</age></person>";
return mesg;
}
}
Restful_ajax
main
@Controller
public class MainController {
@RequestMapping(value = "/")
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
}
Test
@RestController
public class TestController {
@RequestMapping(value = "/aaa", method = RequestMethod.GET)
@CrossOrigin
public String aaa() {
System.out.println("/aaa get");
return "get";
}
@RequestMapping(value = "/aaa", method = RequestMethod.POST)
@CrossOrigin
public String bbb() {
System.out.println("/aaa post");
return "post";
}
@RequestMapping(value = "/aaa", method = RequestMethod.PUT)
@CrossOrigin
public String ccc() {
System.out.println("/aaa put");
return "put";
}
@RequestMapping(value = "/aaa", method = RequestMethod.DELETE)
@CrossOrigin
public String ddd() {
System.out.println("/aaa delete");
return "delete";
}
}
<%@ 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>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#a").on("click", function(){
//Ajax
$.ajax({
url:'aaa',
type:'get',
dataType:'text',
success:function(data,status,xhr){
$("#result").text(data);
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#b").on("click", function(){
//Ajax
$.ajax({
url:'aaa',
type:'post',
dataType:'text',
success:function(data,status,xhr){
console.log(data);
$("#result").text(data);
},
error:function(xhr,status,error){
console.log(error);
}
});
});
$("#c").on("click", function(){
//Ajax
$.ajax({
url:'aaa',
type:'put',
dataType:'text',
success:function(data,status,xhr){
console.log(data);
$("#result").text(data);
},
error:function(xhr,status,error){
console.log(error);
}
});
});
$("#d").on("click", function(){
//Ajax
$.ajax({
url:'aaa',
type:'delete',
dataType:'text',
success:function(data,status,xhr){
console.log(data);
$("#result").text(data);
},
error:function(xhr,status,error){
console.log(error);
}
});
});
});
</script>
</head>
<body>
main.jsp<br>
<button id="a">get</button>
<button id="b">post</button>
<button id="c">put</button>
<button id="d">delete</button>
<div id="result"></div>
</body>
</html>
Restful_ajax_swagger
http://localhost:8090/app/swagger-ui.html#
config
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors
.basePackage("com.example.controller"))
.paths(PathSelectors.any())
.build();
}
}
main
@Controller
public class MainController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String main() {
System.out.println("/주소요청");
System.out.println("/주소요청33333");
return "main";
}
@RequestMapping(value = "/test",method = RequestMethod.GET)
@ResponseBody
public Login test(Login login) {
System.out.println("/test");
return login;
}
}
Test
@RestController
public class TestController {
@RequestMapping(value = "/aaa" , method = RequestMethod.GET)
@CrossOrigin
public String aaa (String name) {
System.out.println("/aaa get");
return "get: "+name;
}
@RequestMapping(value = "/aaa" , method = RequestMethod.POST)
@CrossOrigin
public String bbb(String name) {
System.out.println("/aaa get");
return "post: "+name;
}
@RequestMapping(value = "/aaa" , method = RequestMethod.PUT)
@CrossOrigin
public List<Login> ccc() {
System.out.println("/aaa put");
ArrayList<Login> list= new ArrayList<Login>();
list.add(new Login("a", "111"));
list.add(new Login("b", "222"));
return list;
}
@RequestMapping(value = "/aaa" , method = RequestMethod.DELETE)
@CrossOrigin
public Login ddd(String name, String pw) {
System.out.println("/aaa delete");
return new Login(name,pw);
}
}
properties
#내장 tomcat
server.port=8090
server.servlet.context-path=/app
#view-resolver
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
#swagger 용 추가
spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER
pom.xml
<!-- swagger 설정 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- swagger 설정 끝-->
<%@ 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>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#a").on("click", function(){
//Ajax
$.ajax({
url:'aaa',
type:'get',
dataType:'json',
success:function(data,status,xhr){
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#b").on("click", function(){
//Ajax
$.ajax({
url:'bbb',
type:'post',
dataType:'json',
success:function(data,status,xhr){
console.log(data);
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#c").on("click", function(){
//Ajax
$.ajax({
url:'ccc',
type:'put',
dataType:'json',
success:function(data,status,xhr){
console.log(data);
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.error(error);
}
});
});
$("#d").on("click", function(){
//Ajax
$.ajax({
url:'ddd',
type:'delete',
dataType:'json',
success:function(data,status,xhr){
console.log(data);
$("#result").text(JSON.stringify(data));
},
error:function(xhr,status,error){
console.error(error);
}
});
});
});
</script>
</head>
<body>
main.jsp<br>
<button id="a">get</button>
<button id="b">post</button>
<button id="c">put</button>
<button id="d">delete</button>
<div id="result"></div>
</body>
</html>