Spring MVC学习02

1. 使用注解创建入门项目

  1. 配置和01同样的web.xml文件

  2. 配置springmvc-servlet.xml配置文件,和01有所不同,这一次需要开启component-scan让IOC容器管理我们指定路径下的bean,同时使用一行配置代码省去了我们配置HandlerMapping和HandlerAdapter的麻烦。

<?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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--自动扫描包 让指定包下的注解生效-->
    <context:component-scan base-package="com.zalon.controller"/>
    <!--让spring mvc框架不处理静态资源-->
    <mvc:default-servlet-handler/>

    <!--配置之前的HandlerMapping和HandlerAdapter-->
    <mvc:annotation-driven/>

    <!--视图解析器-->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>
  1. 创建Controller类,使用到了@Controller和@RequestMapping这两个注解。@Controller能让IOC容器自动化地将Controller类注入到IOC容器之中。@RequestMapping这个注解位于一个返回类型为String的方法之上,方法名称不重要,方法需要的参数为Model。Model的setAttribute方法能够像之前ModelAndView对象的addObject方法一样添加数据,而返回的字符串就是需要的视图名称,之后会被Resolver解析并且添加上前缀以及后缀。@RequestMapping注解之中的值就是匹配的url路径,我们还可以在Controller类上面添加一个@RequestMapping注解,能够形成一个父子的url路径。
package com.zalon.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("msg", "hello mvc");

        return "hello";
    }
}

  1. 运行web容器,进行测试。
0
所有评论 0