Spring MVC 入门

Spring MVC 入门,第1张

一、什么是springMVC?

1、SpringMVC是一种基于Java的、实现MVC设计模型的、请求驱动类型的(基于HTTP协议)、轻量级Web框架,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

2、SpringMVC已经成为目前最主流的 MVC 框架之一,并且随着Spring3.0的发布,全面超越 Struts2,成为最优秀的 MVC(web层的) 框架。

3、它通过一套注解,让一个简单的Java类成为处理请求的控制器(Controller),而无须实现任何接口(跟Servlet对比)。同时它还支持RESTful编程风格的请求。

二、快速入门
  1. 创建maven工程,导入依赖

  2. 创建Controller, 处理的请求

  3. 创建一个index.jsp页面, success.jsp

  4. 配置springmvc.xml

  5. 配置web.xml 启动时加载springmvc.xml 【配置DispatcherServlet】

实现:

1、导入依赖:

springmvc与servelet依赖

2、编写jsp页面,index.jsp

这是首页~
点我发起请求

编写成功页面:success.jsp


这是成功的页面~

3、编写controller页面

@Controller
public class Controller01 {
     @RequestMapping("/sayHi")
    public String sayHi(){
        System.out.println("调用了Controller01的sayHi方法~!~");
        return "/success.jsp";
    }

4、编写配置文件:










    
    



5、修改web.xml文件:



    dispatcher
    org.springframework.web.servlet.DispatcherServlet
    
    
        contextConfigLocation
        classpath:Springmvc.xml
    
    1




    dispatcher
    /

6、运行测试:启动项目,通过超链接访问首页,

自定义类型转换器

默认情况下,SpringMVC已经实现一些数据类型自动转换。 内置转换器全都在: org.springframework.core.convert.support 包下 ,如遇特殊类型转换要求,需要我们自己编写自定义类型转换器。

)

3.2.1 场景

  • 页面

提交包含日期的参数:
  用户名:
  密 码:
  出生日期:
   
  • User04

package com.itheima.bean;
​
import lombok.Data;
​
import java.util.Date;
​
@Data
public class User04 {
    private String username;
    private String password;
    private Date birthday;
}
​
  • Controller01.java

package com.itheima.controller;
​
import com.itheima.bean.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
​
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
​
​
@Controller
public class Controller01 {
​
     /*
        获取日期格式的数据
     */
    @RequestMapping("/requestDateParam")
    public String requestDateParam(User04 user04){
        System.out.println("user04 = " + user04);
        return "success";
    }
​
}
  • 报错了:

3.2.2 自定义类型转换器

步骤:

  1. 创建一个类实现Converter 接口

  2. 配置类型转换器

实现:

  • 定义一个类,实现 Converter 接口

    该接口有两个泛型,S:表示接受的类型, T:表示目标类型(需要转的类型)

package com.itheima.converter;
​
import org.springframework.core.convert.converter.Converter;
​
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
​
​
/*
    自定义日期格式转换器
        1. 定义类,实现接口Converter
            里面有两个泛型: S : 表示的是源数据的类型 , T: 表示的是目标数据的类型
        2. 实现方法convert
 */
public class DateConverter implements Converter {
​
    /**
     *
     * @param source 从页面接收到的数据
     * @return 转化出来的日期对象。
     */
    public Date convert(String source) {
        try {
            System.out.println("来到我们的日期转化器了:" + source);
            //1. 定义SimpleDateFormat对象
            SimpleDateFormat sf =null ;
            if(source .contains("-")){
                sf = new SimpleDateFormat("yyyy-MM-dd");
            }else if(source.contains("/")){
                sf = new SimpleDateFormat("yyyy/MM/dd");
            }
            //2. 转化
            return sf.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
}
​

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/794089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存