티스토리 뷰
1. RESTful 이란 하나의 URI는 하나의 고유한 리소스를 의미하도록 설계 한다는 의미 이다.
기존 : http://simpleBoard.com/sports.htmll?category=baseball
변경 : http://simpleBoard.com/sports/baseball
2. 기존 GET, POST 방식 외에 PUT, DELETE 방식이 추가된다.
Create : POST
Read : GET
Update : PUT
Delete : DELETE
3. PUT, DELETE는 form요소에서 정식으로 지원되지 않으므로 아래와 같이 해야 한다.
<input type="hidden" name="_method" value="PUT" />
<input type="hidden" name="_method" value="DELETE" />
※ servlet.xml 에서는 PUT, DELETE를 인식 할 수 있도록 filter를 등록
<!-- POST방식일때 _method(PUT/DELETE)요청 Filter 설정 -->
<filter>
<filter-name>method</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>method</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4. RESTful 에서 ajax 처리 방식의 두가지 방법
1) RestController를 따로 만들어서 사용(ajax 전용으로 해야함)
- class 상단 어노테이션을 @Controller가 아닌 @RestController로 지정
2) equestMapping 어노테이션에 produces 이용
@RequestMapping(value = "/test", produces = "application/json")
@ResponseBody
public Product test() {
Product p = new Product();
p.setName("테스트");
return p; // View 페이지 에서는 json 형태로 반환 된다.
}
5. web.xml 설정시 servlet-mapping시 url-pattern을 / 로 지정 한다.
<!-- DispatcherServlet url mapping -->
<servlet-mapping>
<servlet-name>simpleBoard</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
6. 모든 경로가 DispatchServlet으로 들어가기 때문에 정적인 리소스 경로 명시
1) servlet.xml
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/img/" mapping="/img/**" />
<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/fonts/" mapping="/fonts/**" />
2) View Page에서는 실제 리소스 호출시 절대 경로로 적어줘야 한다
<link rel="stylesheet" href="/css/reset.css" />
<link rel="stylesheet" href="/css/font-awesome.min.css" />
<link rel="stylesheet" href="/css/noto.sans.korea.css" />
<link rel="stylesheet" href="/css/main.css" />
<script src="/js/jquery.js"></script>
'Java' 카테고리의 다른 글
Java: Spring프로젝트에 이메일 인증 기능 추가 (28) | 2016.10.07 |
---|---|
Java: Spring mybatis 환경에서 xml 파일 변경시 서버 재시작 없이 반영 방법 (0) | 2016.10.06 |
Java: Spring project 생성 [ Dynamic Web Project ] (0) | 2016.10.06 |
Java: Spring IDE 플러그인 설치 (0) | 2016.10.06 |
Java: Tomcat 환경 구축 (2) (0) | 2016.10.06 |
- Total
- Today
- Yesterday