<Spring MVC 테스팅(static import)>

​* import static org.junit.Assert.*;

* import static

  org.springframework.test.web.servlet.request

  .MockMVCRequestBuilders.*;

* import static

  org.springframework.test.web.servlet.result.

  MockMvcResultMatchers.*;

* import static

  org.springframework.test.web.servlet.setup.

  MockMvcBuilders.*;

 

 

 

 

 


<Spring 3.2 비동기 처리 대응(web.xml)>

​<소스코드>

​<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   id="WebApp_ID" version="3.0">
  <!– 인코딩 필터 -->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <async-supported>true</async-supported>
          ・・・(생략)・・・    
    </filter>

  <!– SpringMVC용Servlet -->
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
 <load-on-startup>1</load-on-startup>
 <async-supported>true</async-supported>
・・・(생략)・・・    
</servlet>

</web-app>

 

 

 

 


<Spring 3.2 정의파일 변경>

​<소스코드>

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd   
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
       
・・・(생략)・・・
</beans>

 

 

 

 


<Spring 3.2 변경점>

​* 라이브러리 변경

* 정의 파일 변경

​- 라이브러리 변경

​: Spring 라이브러리 버전을 3.2.2 RELEASE 로 변경

: spring-asm 은 삭제 (Spring-core 에 포함됨)

: Cglib3.0은 삭제(Spring-core 에 포함됨)

: AspectJ1.7 지원하기 위해 1.7.x 로 변경

: Junit을 4.11 이상으로 변경 (Sring Tester 지원위해)

 

 

 

 

 

 



<권한 체크(인증, 인가 기능)> 



 

* 독자 어노테이션을 이용한 권한 체크 방법

 

 

 



<WebRequest클래스 이용한 관리>

​* 소스관리

​@Controller
@RequetMapping(value="/hoge")
public class SampleController {
   
    @RequestMapping
    public String hoge(WebRequest request, Model model) {
       
        // 세션 값 취득
        LoginUser loginUser = (LoginUser) request.getAttribute(
                "loginUser", RequestAttributes.SCOPE_SESSION);
       
        // 세션 값 등록
        String sessionData = "Session Data";
        request.setAttribute("sessionData", sessionData,  RequestAttributes.SCOPE_SESSION);
       
        // 세션 데이터 삭제
        request.removeAttribute("message", RequestAttributes.SCOPE_SESSION);
       
        // 리퀘스트에 값 등록
        String requestData = "request Data";
        request.setAttribute("requestData", requestData,  RequestAttributes.SCOPE_REQUEST);
       
        return "/fuga";
    }
}


 

 



<Spring MVC에서의 세션 관리>

​* WebRequest 클래스를 이용한 관리

* Spring Bean을 이용한 관리

* @SessionAttributes을 사용한 세션 관리

 

 




<SpEL속성 접근>

 

 

 

 

 

+ Recent posts