(二)基于注解的控制器(包含@RequestMapping)

Spring2.5版本开始,增加了可基于注解的控制器,也即是说 控制器不用实现Controller接口,而是通过注释类型来描述。

1.用到的注解

2.SpringMVC基本开发步骤


1.用到注解:

@Controller  :表示某个类通过注解创建对象。

@RequestMapping :表示映射。如:

@RequestMapping(value=“/hello”)
public ModelAndView hello(){
        .......................
}

表示 /hello请求的(处理方法)为 public ModelAndView hello(){...}

如在浏览器输入:http://localhost/xx/hello   就会用 public ModelAndView hello(){}方法处理


2. SpringMVC基本开发步骤:

(0)目录树:(红色的是要关注的)

(二)基于注解的控制器(包含@RequestMapping)_第1张图片


导入的jar包:

(二)基于注解的控制器(包含@RequestMapping)_第2张图片


大概步骤:

(二)基于注解的控制器(包含@RequestMapping)_第3张图片

控制器由 两部分组成:用于拦截用户请求的 DispatcherServlet  和  处理用户请求的(@Controller标注的类)



(1)DispatcherServlet 是 SrpingMVC的核心 Servlet,在开始SrpingMVC项目前,DispatcherServlet 必需在 web.xml 部署。

(二)基于注解的控制器(包含@RequestMapping)_第4张图片

核心部分代码粘贴版:


	
		springmvc
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			/WEB-INF/spring-mvc.xml
		
		1
	
	
		springmvc
		/
	


(2)Spring 核心配置文件:

(二)基于注解的控制器(包含@RequestMapping)_第5张图片

(处理映射器)根据请求寻找映射。

同时由(处理适配器)来完成对(@Controller注解的类)的@ResquestMapping 标注方法的调用

最后配置(视图解析器)来解析视图,将View呈现给用户

*若代码对照无误,仍出现找不到某些东西的错误,有可能是有些jar包没有被导入。(这时候建议把Sring的jar包全部导入试试)


代码粘贴板:



	   	
	   	
		
		
		




(3)@Controller 标注的类(用于处理用户请求)

HelloController.java:

package com.anno;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {
	/*处理 /hello 请求方法*/
	@RequestMapping(value="/hello")
	public ModelAndView hello(){
		ModelAndView mv = new ModelAndView();	
		mv.addObject("message", "Hello World!");//往 ModelAndView 对象加入数据,message为数据名,Hello World!为数据值
		mv.setViewName("/WEB-INF/content/welcome1.jsp");//调用 /WEB-INF/content/ 下的 welcome1.jsp页面
		return mv;
	}
	
	/*处理 /hi 请求的方法*/
	@RequestMapping(value="/hi")
	public ModelAndView hi(){
		ModelAndView mv = new ModelAndView();
		mv.addObject("message", "Hi World!");
		mv.setViewName("/WEB-INF/content/welcome2.jsp");//调用 /WEB-INF/content/ 下的 welcome2.jsp页面
		return mv;
	}
}


(4)JSP页面(View)

welcome1.jsp:
(二)基于注解的控制器(包含@RequestMapping)_第6张图片


welcome2.jsp:

(二)基于注解的控制器(包含@RequestMapping)_第7张图片



运行结果:

当输入:http://127.0.0.1:8080/ Spring_mvc/ hello 时:

(二)基于注解的控制器(包含@RequestMapping)_第8张图片


当输入:http://127.0.0.1:8080/ Spring_mvc/ hi 时:

(二)基于注解的控制器(包含@RequestMapping)_第9张图片


你可能感兴趣的:(#,SpringMVC)