栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC创建及入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC创建及入门

SpringMVC入门案例 1、在pom.xml文件中导入坐标

    UTF-8
    1.8
    1.8
    5.2.12.RELEASE
  
​
  
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      javax.servlet
      servlet-api
      2.5
      provided
    
    
      javax.servlet.jsp
      jsp-api
      2.0
      provided
    
    
      junit
      junit
      4.12
      test
    
  
2、配置springmvc.xml文件


​
    
    
    
    
        
        
    

3、web.xml配置核心控制器

添加的中文过滤器


  Archetype Created Web Application
  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    
public class StringToDateConverter implements Converter {
    
    @Override
    public Date convert(String source) {
        // 判断
        if (source == null) {
            throw new RuntimeException("参数不能为空");
        }
        try {
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            // 解析字符串
            Date date = df.parse(source);
            return date;
        } catch (Exception e) {
            throw new RuntimeException("类型转换错误");
        }
    }
}

2、注册时间类型转换器,在springmvc.xml配置⽂件中编写配置
    
    
        
            
                
            
        
    
    
    

8、restful风格(注解@PathVariable)
    
        删除
    
@RequestMapping("/hello1/{id}")
public String hello1(@PathVariable("id") String id){
    System.out.println("删除:"+id);
    return "success";
}

9、RequestHeader注解的使用 9.1、作用:
  • 获取指定请求头的值

9.2、使用代码:

获取所有的请求头

    //获取所有的head
    @RequestMapping("/headMap")
    public String headMap(@RequestHeader Map head){
        System.out.println(head);
        return "success";
    }

获取特定的请求头:host

//获取所有的一个head
@RequestMapping("/headOne")
public String headOne(@RequestHeader("host") String host){
    System.out.println(host);
    return "success";
}

10、cookievalue注解(了解)
  1. 作用:用于获取指定cookie的名称的值

  2. 属性

    1. value:cookie的名称

  3. 代码

        @RequestMapping("/cookie")
        public String cookie(@cookievalue("JSESSIONID") String cookie) {
            System.out.println("获取的cookie值:"+cookie);
            return "success";
        }
11、ModelAttribute注解
  1. 作用

    1. 出现在方法上:表示当前方法会在控制器方法执行前线执行。

    2. 出现在参数上:获取指定的数据给参数赋值。

  2. 具体的代码

    1. 修饰的方法没有参数

      //处理前端路径请求
      @Controller
      //这里写的模块路径
      @RequestMapping(path = "/user")
      public class HelloServlet {
      ​
          @ModelAttribute
          public void populateModel() {
              System.out.println("方法执行前");
          }
      ​
          //处理/hello路径的一个方法
          @RequestMapping(path = "/hello")
          public String sayHello() {
              System.out.println("hello请求");
      ​
              return "success2";//跳转的jsp界面
          }
    2. 修饰的方法有参数

      1. 请求的地址入门案例4,带了参数

      //处理前端路径请求
      
      @Controller
      //这里写的模块路径
      @RequestMapping(path = "/user")
      public class HelloServlet {
      ​
          @ModelAttribute
          public void populateModel(String name) {
              System.out.println("方法执行前"+name);
          }
      ​
          //params = {"name=xh"}只允许带这个参数请求通过
          @RequestMapping(path = "/hello4",params = {"name=xh"})
          public String sayHello4(){
              System.out.println("hello请求4,控制请求的参数条件");
              return "success2";
          }

12、SessionAttributes注解
  1. 作用:用于多次执行控制器方法间的参数共享

  2. 属性

    1. value:指定存入属性的名称

      a、该注解只能应用在类上;

      b、该注解用于将Map、ModelMap、Model或ModelAndView中的数据暂存到HttpSession中以使其可以在多个请求之间共用数据;

  3. 代码如下

    @RequestMapping("/user")
    @Controller
    @SessionAttributes("user")
    public class UserController {
    ​
        //获取要获取是的一个集合,那么要加上@RequestParam("hobby")
        @RequestMapping(path = "/setUser")
        public String sayHello(Map map){
    ​
            map.put("user", "xh");
    ​
            return "success2";
        }
    ​
        //@SessionAttribute("user"):这个注解是用来获取session域中的值
        @RequestMapping("/getUser")
        public String testModelAttribute(@SessionAttribute("user") String user2,Map map){
            //同时会在map中放入("user",user)
            String user = map.get("user");
            System.out.println(map);
            System.out.println(user);
            System.out.println("session值:: " + user2);
            return "success2";
        }
    }

    获取session数据:

    html

    设置user
    getUser

    success2的代码

    <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
    
    
        Title
    
    入门成功!! 
    ​
    ${user}
    ​
    requestScope域
    ${requestScope}
    session域
    ${sessionScope}
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号