boot-mybatis

2024. 3. 12. 17:17Daily Codig Reminder

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>

'Daily Codig Reminder' 카테고리의 다른 글

thymeleaf, external_img  (0) 2024.03.12
redirect,thymeleaf  (0) 2024.03.12
boot-database  (0) 2024.03.11
component-scan  (0) 2024.03.11
list, map, @Autowired  (1) 2024.02.28