SpringMVC 기본 구성에 대한 자세한 소개
이 글은 SpringMVC의 기본 구성에 대해 자세히 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
오늘은 SpringMVC의 기본 구성에 대해 이야기하겠습니다. 현재 점점 더 많은 주류 프레임워크가 주석을 지원하고 있으며, 우리의 무적 Spring도 주석을 기반으로 한 "제로 구성"을 지원합니다.
XML과 비교한 주석의 장점: Java의 반사 메커니즘을 최대한 활용하여 클래스의 구조적 정보를 얻을 수 있습니다. 이 정보는 구성 작업을 효과적으로 줄일 수 있으며 Java 코드가 하나의 파일에 위치하므로 유지 관리가 더 편리합니다.
참고: 주석은 Spring 2.5 버전 이후에만 사용할 수 있습니다.
Annotation 메소드는 Bean의 정의 정보와 Bean의 구현 클래스를 결합한 것으로 Spring에서 제공하는 Annotation이 포함되어 있습니다.
@Component: 공통 Bean 클래스 선언
@Repository: 지속성 레이어 Dao 클래스 선언
@Service: 비즈니스 레이어 클래스 선언
@Controller: 컨트롤러 클래스 선언
나는 이 4개의 주석을 믿습니다. 이미 잘 알고 있으니 쓸데없는 말을 할 필요도 없습니다. 주석을 사용할 때는 수업 시간에 주석을 스캔하는 것을 잊지 마세요! ! !
@RequestMapping(매우 핵심 주석), 이 주석은 컨트롤러의 요청 URL을 지정하는 데 사용됩니다.
컨트롤러 클래스 정의에서: 예비 매핑 정보를 제공하고 클래스 아래의 모든 요청 메서드에 접두사를 추가합니다.
컨트롤러 클래스의 메서드 정의: 추가 매핑 정보 제공 및 메서드의 요청 경로 제공
DispacherServlet이 요청을 가로챈 후 컨트롤러에서 @RequestMapping이 제공한 매핑 정보에 해당하는 요청을 확인합니다. 행동 양식.
@Controller @RequestMapping("user") public class UserController { @RequestMapping("/hello") public String hello(){ return "hello"; } }
현재 요청 경로는 http://localhost:8080/SpringMvcDemo2/user/hello
@RequestMapping 요청 URL 요청 매핑 외에도 요청 메소드, 요청 매개변수 및 요청을 사용할 수도 있습니다. 헤더 요청, 주석에는 여러 매개변수가 있습니다:
1) 값: 요청의 URL을 나타냅니다.
2) 메소드: 요청 메소드(GET/POST)를 나타냅니다.
3) 매개변수: 요청의 매개변수를 나타냅니다.
4) Heads: 요청 헤더
이들 사이의 관계는 and이며, 여러 요청을 함께 사용하면 요청이 더 정확해질 수 있습니다.
@RequestMapping(value="hello2",method=RequestMethod.POST,params={"username","userpass"},headers="contentType=text/*") public String hello2(){ return "hello"; }
이 코드는 요청된 주소가 hello임을 나타냅니다. 요청 방법은 Post이며 두 개의 매개변수(username 및 userpass)를 전달해야 합니다. 요청 헤더 contentType은 text/로 시작해야 합니다. 동일한 방법으로 두 개의 URL을 작성할 수 있습니다. 하나는 POST이고 다른 하나는 GET이며 설정에 따라 엄격하게 호출됩니다.
@RequestMapping은 Ant 스타일 URL도 지원하며 Ant에서는 3개의 와일드카드를 지원합니다.
? : 캐릭터 구성을 나타냅니다.
*: 모든 문자 일치
**: 다중 레이어 경로 일치
SpringMVC의 매개변수 처리:
@pathVariable: URL 템플릿 메서드
URL에서 자리 표시자를 매핑하는 데 사용됨, 매핑된 변수 name은 자리 표시자의 이름과 일치해야 합니다. 이 경우 요청 주소는 http://localhost:8080/SpringMvcDemo2/user/testPathVariable/Miya가 됩니다. 이 miya는 우리가 기존 URL testPathVariable에서 전달한 매개 변수입니다. username=miya이지만 이는 Baidu를 포함하는 데 도움이 되지 않습니다.
@RequestMapping("/testPathVariable/{username}") public String hello3(@PathVariable("username")String username){ System.out.println("username : " + username); return "hello"; }
@RequestParam: 요청 매개변수를 가져옵니다. 요청 매개변수 이름이 유형 이름과 일치하는 경우 이 주석을 생략해도 값을 계속 받을 수 있습니다.
@RequestMapping("/textParam") public String hello4(@RequestParam("username")String username,@RequestParam("userpass")String userpass){ System.out.println("userpass : " + userpass); return "hello"; }
@RequestHeader: 요청 헤더의 매개변수를 가져옵니다
여기에는 세 가지 매개변수가 있습니다. value: 매개변수의 이름을 지정합니다. 필수: 매개변수가 필요한지 여부를 지정합니다. defualtValue: 기본값을 지정합니다. 매개변수.
@RequestMapping("/testRequestHeader") public String hello5(@RequestHeader("Accept-Language") String language){ System.out.println("language=" + language); return "hello"; }
@CookieValue: 클라이언트 쿠키 정보를 얻는 데 사용됩니다.
@RequestMapping("/testCookieValue") public String hello6(@CookieValue("JSESSIONID")String sessionid){ System.out.println("sessionid=" + sessionid); return "hello"; }
SpringMVC는 ServletAPI를 요청 메소드의 매개변수로 사용할 수 있습니다.
@RequestMapping("/testServletAPI") public String hello7(HttpServletRequest request,HttpServletResponse response,HttpSession session){ //我们可以在这里使用 return "hello"; }
SpringMVC는 모델 데이터를 처리하기 위해 다음과 같은 방법을 제공합니다.
1) ModelAndView: 모델 객체를 통해 모델 데이터를 추가하기 위해 처리 메소드의 반환 유형을 ModelAndView 메소드 본문으로 설정합니다. 뷰와 모델 정보 모두 포함
@RequestMapping("/testModelAndView") public ModelAndView hello8(){ ModelAndView modelAndView = new ModelAndView("hello"); //添加单个值 modelAndView.addObject("h","Hello Spring MVC"); return modelAndView; }
2) 맵 및 형식 매개변수: 형식 매개변수가 Map, Model, ModelMap인 경우 처리 방법이 반환되면 Map에 있는 데이터가 자동으로 모델에 추가됩니다. .
Spring MVC는 내부적으로 모델 인터페이스를 사용하여 데이터를 저장합니다. 메소드를 호출하기 전에 암시적 모델 객체가 데이터 모델의 저장 컨테이너로 생성됩니다. 전달된 매개변수가 Map, Model, ModelMap인 경우 SpringMVC는 이를 자동으로 컨테이너에 저장합니다
@RequestMapping("/testMap") public String hello9(Map<String,Object> map){ map.put("mapdata", "map data"); return "hello"; }
3)@SessionAttributes:将这个模型中的某个属性存储到Session中,以便多个请求之间共享这个属性,只能用来修饰类。在里面的方法如果参数容器中如map里卖弄保存一个与定义的属性名字相同会保存到容器中共享
4)@ModelAttribute:方法形参标记该注解后,形参对象就会放到模型中。
SpringMVC在调用方法之前会逐个调用方法上标注了这个注解的方法。将@ModelAttribute中的属性保存到map中,可在执行表单提交生成对象之前,替换执行方法名相同的参数。
@ModelAttribute public User getUser(){ User user = new User(); System.out.println("调用 getUser 方法"); //默认保存名字为类名首字母小写的user对象到Request中 return user; } @ModelAttribute public void getUserById(Integer id,Map<String,Object> map){ User myuser = new User(); map.put("myuser", myuser); //手动指定user对象的名称,到Request中 System.out.println("调用 getUser 方法"); }
由@SessionAttributs会引发一个很容易轻视的错误当类使用@SessionAttributes修饰,而方法中使用了和SessionAttributes修饰同名的映射参数,确没有添加@ModelAttribute修饰时,则会报错。
위 내용은 SpringMVC 기본 구성에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SpringBoot와 SpringMVC는 모두 Java 개발에서 일반적으로 사용되는 프레임워크이지만 둘 사이에는 몇 가지 분명한 차이점이 있습니다. 이 기사에서는 이 두 프레임워크의 기능과 용도를 살펴보고 차이점을 비교할 것입니다. 먼저 SpringBoot에 대해 알아봅시다. SpringBoot는 Spring 프레임워크를 기반으로 하는 애플리케이션의 생성 및 배포를 단순화하기 위해 Pivotal 팀에서 개발되었습니다. 독립 실행형 실행 파일을 구축하는 빠르고 가벼운 방법을 제공합니다.

SpringBoot와 SpringMVC의 차이점은 무엇입니까? SpringBoot와 SpringMVC는 웹 애플리케이션 구축을 위한 매우 인기 있는 두 가지 Java 개발 프레임워크입니다. 별도로 사용되는 경우가 많지만 차이점은 분명합니다. 우선, SpringBoot는 Spring 프레임워크의 확장 또는 향상된 버전으로 간주될 수 있습니다. 개발자를 돕기 위해 Spring 애플리케이션의 초기화 및 구성 프로세스를 단순화하도록 설계되었습니다.

spring과 springmvc의 차이점: 1. 위치 지정 및 기능 2. 핵심 기능 4. 확장성 세부 소개: 1. 포지셔닝 및 기능 Spring은 종속성 주입, 관점 지향 프로그래밍, 트랜잭션 관리 및 기타 기능을 제공하는 포괄적인 애플리케이션 개발 프레임워크이며, Spring MVC는 엔터프라이즈 수준 애플리케이션의 개발을 단순화하도록 설계되었습니다. Spring 프레임워크는 웹 애플리케이션 개발에 사용되며 MVC 패턴을 구현합니다. 2. 핵심 기능 등.

SpringBoot와 SpringMVC는 Java 개발에 일반적으로 사용되는 두 가지 프레임워크입니다. 둘 다 Spring 프레임워크에서 제공되지만 기능과 사용법에 약간의 차이가 있습니다. 이번 글에서는 SpringBoot와 SpringMVC의 특징과 차이점을 각각 소개하겠습니다. 1. SpringBoot의 특징: 단순화된 구성: SpringBoot는 구성보다 관례의 원칙을 통해 프로젝트 구성 프로세스를 크게 단순화합니다. 프로젝트와 개발자가 요구하는 매개변수를 자동으로 구성할 수 있습니다.

springboot와 springmvc의 차이점은 다음과 같습니다. 1. 다양한 구성 3. 다양한 개발 시간 5. 다양한 JAR 패키징 기능 구현 여부 제공되는 기능 8. 다양한 기능 9. 다양한 커뮤니티 및 문서 지원 10. 배포 설명이 필요한지 여부

인터셉터의 역할 SpringMVC의 인터셉터는 프로세서를 전처리하고 후처리하는 데 사용되는 서블릿 개발의 필터와 유사합니다. 인터셉터들은 일정한 순서로 체인으로 연결되는데, 이 체인을 인터셉터 체인(InterceptorChain)이라고 합니다. 인터셉트된 메서드나 필드에 액세스하면 인터셉터 체인의 인터셉터가 이전에 정의된 순서대로 호출됩니다. 인터셉터는 AOP 아이디어의 구체적인 구현이기도 합니다. 인터셉터와 필터의 차이점: 필터(Filter) 인터셉터(Intercepter)의 사용 범위는 서블릿 사양의 일부이며 모든 JavaWeb 프로젝트에서 사용할 수 있습니다.

인터넷의 발달로 웹 서비스가 점점 더 보편화되고 있습니다. 애플리케이션 프로그래밍 인터페이스인 JavaAPI는 다양한 애플리케이션 시나리오에 적응하기 위해 지속적으로 새 버전을 출시하고 있습니다. 널리 사용되는 오픈 소스 프레임워크인 SpringMVC는 웹 애플리케이션을 쉽게 구축하는 데 도움을 줍니다. 이 기사에서는 SpringMVC 구성, 컨트롤러 작성 및 사용을 포함하여 JavaAPI 개발에서 웹 서비스 처리에 SpringMVC를 사용하는 방법을 자세히 설명합니다.

SpringBoot와 SpringMVC의 유사점과 차이점 분석 SpringBoot와 SpringMVC는 Java 분야에서 매우 중요한 개발 프레임워크입니다. 둘 다 Spring 프레임워크의 일부이지만 사용법과 기능에는 몇 가지 명백한 차이점이 있습니다. 이 기사에서는 SpringBoot와 SpringMVC를 비교하고 이들 간의 유사점과 차이점을 분석합니다. 먼저 SpringBoot에 대해 알아봅시다. 스프링보
