1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
6 <context:component-scan base-package="com.bjpowernode.controller"/>
7 <!--配置视图解析器 InternalResourceViewResolver-->
8 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
9 <property name="prefix" value="/WEB-INF/view/"/>
10 <property name="suffix" value=".jsp"/>
11 </bean>
12 </beans>
1 package com.bjpowernode.controller;
2
3 import org.springframework.stereotype.Controller;
4 import org.springframework.web.bind.annotation.RequestMapping;
5 import org.springframework.web.servlet.ModelAndView;
6
7 /**
8 * @Controller创建处理器对象,对象放在springmvc容器中
9 * 位置在类的上面
10 * 和spring中讲的@Service,@Component一样
11 * 能处理请求的都是控制器(处理器):myController能处理请求,叫做后端控制(back controller)
12 */
13 @Controller
14 public class MyController {
15 /*
16 * 处理用户提交的请求,springmvc中是使用方法类处理的,方法是自定义的,可以有多重返回值,多种参数,方法名称自定义
17 * */
18 /**
19 * 准备使用doSome方法处理some.do请求
20 * @RequestMapping:请求映射,作用是把一个请求地址和一个方法绑定在一起,一个请求指定一个方法处理
21 * 属性:1. value是一个String,标识请求的url地址的(some.do),value的值必须是唯一的,不能重复,在使用时,推荐地址以“/”开头
22 * 位置:在方法的上面或在类的上面
23 * 说明:使用RequestMapping修饰的方法叫做处理器方法或者控制器方法
24 * 使用@RequestMapping修饰的方法可以处理请求的,类似Servlet中的doget,doPost
25 * 返回值:ModelAndView标识本次请求的处理结果
26 * model:数据,请求处理完成后,要现实给用户的数据
27 * view:视图,比如jsp等等
28 */
29 @RequestMapping(value="/some.do")
30 public ModelAndView doSome(){
31 /*表示请求地址中是some.do的,都是使用doSome方法处理*/
32 ModelAndView mv = new ModelAndView();
33 mv.addObject("msg","欢迎使用springmvc做web开发");
34 mv.addObject("fun","执行的是doSome方法");
35 /*mv.setViewName("/WEB-INF/view/show.jsp");*/
36 /*只写文件名即可,视图解析器会根据前缀+文件名+后缀拼接出实际字段值*/
37 mv.setViewName("show");
38 return mv;
39 }
40 }