> Java > java지도 시간 > 본문

Java SpringMVC 데이터 응답 예시 분석

WBOY
풀어 주다: 2023-05-21 12:16:06
앞으로
779명이 탐색했습니다.

1) 페이지 점프

문자열 직접 반환: 이 메서드는 반환된 문자열을 뷰 파서의 접두어 및 접미어와 연결한 후 점프합니다.

Java SpringMVC 데이터 응답 예시 분석

접두사가 있는 문자열을 반환합니다.

Forward: 전달:/WEB-INF/views/index.jsp

Redirect: 리디렉션:/index.jsp

Return via ModelAndView object

@RequestMapping("/quick2")
public ModelAndView quickMethod2(){
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("redirect:index.jsp");
    return modelAndView;
}
@RequestMapping("/quick3")
public ModelAndView quickMethod3(){
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");
    return modelAndView;
}
로그인 후 복사

전달할 때, 데이터는 종종 요청 필드에 저장되고 jsp 페이지에 표시됩니다. 그러면 컨트롤러는 요청 필드에 데이터를 어떻게 저장합니까?

① SpringMVC 프레임워크에 의해 주입된 요청 객체의 setAttribute() 메소드를 통해 설정합니다.

@RequestMapping("/quick")
public String quickMethod(HttpServletRequest request){
    request.setAttribute("name","zhangsan");
    return "index";
}
로그인 후 복사

② ModelAndView의 addObject() 메소드를 통해 설정합니다.

@RequestMapping("/quick3")
public ModelAndView quickMethod3(){
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");
    modelAndView.addObject("name","lisi");
    return modelAndView;
}
로그인 후 복사

2) 데이터 다시 쓰기

문자열 직접 반환: 웹의 기본 단계에서 클라이언트가 서버에 접근하여 문자열을 직접 다시 쓰고 응답 본문으로 반환하려면 response만 사용하면 됩니다. .getWriter().print(" hello world"), 컨트롤러에서 직접 문자열을 다시 쓰려면 어떻게 해야 할까요?

① response.getWriter().print("hello world")를 사용하여 SpringMVC 프레임워크에 의해 주입된 응답 개체를 통해 데이터를 다시 씁니다. 이때 뷰 점프는 필요하지 않으며 비즈니스 메서드의 반환 값은 다음과 같습니다. 무효의.

@RequestMapping("/quick4")
public void quickMethod4(HttpServletResponse response) throws IOException {
    response.getWriter().print("hello world");
}
로그인 후 복사

② 다시 작성해야 할 문자열을 직접 반환하는데 이때 @ResponseBody 주석을 통해 SpringMVC 프레임워크에 알려야 합니다. 메서드에서 반환되는 문자열은 점프가 아니라 http 응답에서 직접 반환됩니다. 몸.

@RequestMapping("/quick5")
@ResponseBody
public String quickMethod5() throws IOException {
    return "hello springMVC!!!"; 
}
로그인 후 복사

개발 중에는 복잡한 Java 개체를 json 형식 문자열로 변환해야 하는 경우가 많습니다. 변환하려면 웹 단계에서 배운 json 변환 도구를 사용할 수 있습니다.

1. pom.xml에서 jackson 좌표를 가져옵니다.

<!--jackson-->
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-core</artifactId>
 <version>2.9.0</version>
</dependency>
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-databind</artifactId>
 <version>2.9.0</version>
</dependency> 
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-annotations</artifactId>
 <version>2.9.0</version>
</dependency>
로그인 후 복사

2. jackson을 통해 json 형식 문자열을 변환하고 해당 문자열을 다시 씁니다.

@RequestMapping("/quick7")
@ResponseBody
public String quickMethod7() throws IOException {
    User user = new User();
    user.setUsername("zhangsan");
    user.setAge(18);
    ObjectMapper objectMapper = new ObjectMapper();
    String s = objectMapper.writeValueAsString(user);
    return s;
}
로그인 후 복사

객체 또는 컬렉션 반환

SpringMVC를 사용하여 객체 또는 컬렉션을 json 문자열로 변환하고 다시 쓰고, 프로세서 어댑터에 대한 메시지 변환 매개변수를 구성하고, 객체 또는 컬렉션을 변환하기 위해 jackson 사용을 지정하는 데 도움이 됩니다. spring을 사용하려면 -mvc.xml에서 다음을 구성하세요:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
 <property name="messageConverters">
     <list>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
     </list>
 </property>
</bean>
로그인 후 복사

메소드에서 직접 개체 또는 컬렉션 반환

@RequestMapping("/quick8")
@ResponseBody
public User quickMethod8() throws IOException {
    User user = new User();
    user.setUsername("zhangsan");
    user.setAge(18);
    return user;
}
로그인 후 복사

3) 주석 드라이버를 구성하세요

json 형식의 문자열을 반환하려면 메서드에 @ResponseBody를 추가하세요. 구성이 더 까다롭고 구성 코드가 많기 때문에 위 구성 대신 mvc의 주석 드라이버를 사용할 수 있습니다.

SpringMVC의 다양한 구성요소 중 프로세서 매퍼, 프로세서 어댑터, 뷰 리졸버를 SpringMVC의 3대 구성요소라고 합니다.

을 사용하여 Spring-xml.xml 구성 파일 에서 사용할 수 있는 RequestMappingHandlerMapping(처리 매퍼) 및 RequestMappingHandlerAdapter(처리 어댑터)를 자동으로 로드합니다. 주석 프로세서 및 어댑터 구성.

도 사용하세요. 기본적으로 기본 레이어는 jackson을 통합하여 객체 또는 컬렉션의 json 형식 문자열을 변환합니다.

<!--在spring-mvc.xml中配置mvc的注解驱动--> 
<mvc:annotation-driven/>
로그인 후 복사

4) 지식 포인트

SpringMVC의 데이터 응답 방법

1) 페이지 점프

  • 문자열 직접 반환

  • ModelAndView 객체를 통해 반환

2 ) 데이터 다시 쓰기

  • 문자열 반환 직접

  • 객체 또는 컬렉션 반환

위 내용은 Java SpringMVC 데이터 응답 예시 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿