zoukankan      html  css  js  c++  java
  • Spring MVC,基于注解的Spring MVC应用

    本文引用自:《Java EE企业级应用开发教程》,请先阅读本篇前文:Spring MVC入门

    一、搭建项目环境

    需要引用Spring AOP所需的Jar包。如果是Maven项目,假定Spring版本为5.2.17,修改pom.xml如下:

            <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>5.2.17.RELEASE</version>
            </dependency>

    二、修改配置文件springmvc-config.xml

    <?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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
           http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-4.3.xsd">
        <!-- 指定需要扫描的包 -->
        <context:component-scan base-package="com.itheima.controller" />
        <!-- 定义视图解析器 -->
        <bean id="viewResolver" class=
        "org.springframework.web.servlet.view.InternalResourceViewResolver">
             <!-- 设置前缀 -->
             <property name="prefix" value="/WEB-INF/jsp/" />
             <!-- 设置后缀 -->
             <property name="suffix" value=".jsp" />
        </bean>
    </beans>  

    在文件中,首先通过组件扫描指定需要扫描的Package,然后定义视图解析器,并在视图解析器中设置视图文件的路径前缀和后缀。

    三、修改Controller

    package com.itheima.controller;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    /**
     * 控制器类
     */
    @Controller
    @RequestMapping(value="/hello")
    public class FirstController{
        @RequestMapping(value="/firstController")
        public String handleRequest(HttpServletRequest request,
                HttpServletResponse response, Model model) throws Exception {
            // 向模型对象中添加数据
            model.addAttribute("msg", "这是我的第一个Spring MVC程序");
            // 返回视图页面
            return "first";
        }
    }

    使用@Controller注解来标注控制器类,并使用@RequestMapping注解标注在类名和方法名上来映射请求方法。

    标注在类上的@RequestMapping注解的value为“/hello”,因此类中所有请求方法的路径都需要加上“/hello”。同理往推方法的@RequestMapping注解之value值即可。

    handleRequest方法返回类型为String,通常表示视图名,所以需要通过参数Model对象的addAttribute方法来添加数据信息。因为在配置文件中的视图解析器中,已经定义视图文件的前缀和后缀,所以handleRequest方法只需要返回“first”即可,系统会自动访问"WEB-INF/jsp"路径下名称为firstr的jsp文件。

    四、启动项目,测试应用

     

  • 相关阅读:
    2.截取部分字符串中的内容(可做文件上传时的文件重命名)
    1.git fetch的使用
    2.java.lang.IllegalStateException: Optional long parameter 'id' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it ......Springmvc报错
    彩色动态球
    小球落下的动画
    form表单
    repeating-radial-gradient示例
    background示例一
    css中关于以background开的的介绍
    块元素居中的范例
  • 原文地址:https://www.cnblogs.com/nayitian/p/15355400.html
Copyright © 2011-2022 走看看