spring-webmvc练习-日程管理-后端展示日程列表功能实现

1、pom.xml

  
    
      org.springframework
      spring-context
    
    
      org.springframework
      spring-webmvc
    
    
      jakarta.platform
      jakarta.jakartaee-web-api
    
    
      com.fasterxml.jackson.core
      jackson-databind
    
    
      org.projectlombok
      lombok
    
  

2、Schedule.java

package com.atguigu.schedule.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Schedule {
    private Integer id;
    private String title;
    private boolean completed;
}

3、web.xml




	
		DispatcherServlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:springmvc.xml
		
		1
	

	
		DispatcherServlet
		/
	

4、springmvc.xml




    
    
    

5、ScheduleController.java

package com.atguigu.schedule;
import com.atguigu.schedule.controller.Result;
import com.atguigu.schedule.service.ScheduleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/schedule")
public class ScheduleController {

    @Autowired
    private ScheduleService scheduleService;

    @GetMapping
    public Result list() {
        return Result.ok(scheduleService.getScheduleList());
    }
}

6、Result.java

package com.atguigu.schedule.controller;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private Integer code;
    private boolean flag;
    private Object data;
    private String msg;

    public static Result ok(Object data) {
        Result result = new Result();
        result.setFlag(true);
        result.setCode(200);
        result.setData(data);
        return result;
    }
}

7、ScheduleService.java

package com.atguigu.schedule.service;
import com.atguigu.schedule.pojo.Schedule;
import java.util.List;
public interface ScheduleService {
    List getScheduleList();
}

8、ScheduleServiceImpl.java

package com.atguigu.schedule.service.impl;
import com.atguigu.schedule.pojo.Schedule;
import com.atguigu.schedule.service.ScheduleService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class ScheduleServiceImpl implements ScheduleService {

    //准备假数据
    private static Map scheduleMap;
    private static  int maxId = 5;
    static {
        scheduleMap = new HashMap<>();

        Schedule schedule = null;

        schedule = new Schedule(1, "学习Java", false);
        scheduleMap.put(1, schedule);

        schedule = new Schedule(2, "学习H5", true);
        scheduleMap.put(2, schedule);

        schedule = new Schedule(3, "学习Css", false);
        scheduleMap.put(3, schedule);
        schedule = new Schedule(4, "学习JavaScript", false);
        scheduleMap.put(4, schedule);

        schedule = new Schedule(5, "学习Spring", true);
        scheduleMap.put(5, schedule);
    }

    @Override
    public List getScheduleList() {
        return new ArrayList<>(scheduleMap.values());
    }
}

spring-webmvc练习-日程管理-后端展示日程列表功能实现_第1张图片

 9、

   是Spring MVC框架中的一个标签,它的主要作用是将所有静态资源的请求,如HTML、CSS、JavaScript文件、图片等,都交给默认的Servlet处理器(通常是Tomcat、Jetty等Web服务器自带的默认Servlet)来处理。

      这个标签在Spring MVC的配置文件中使用,其主要的目的是为了解决静态资源的访问问题。在一个基于Spring MVC的Web应用程序中,所有的请求默认都会被Spring MVC的DispatcherServlet截获并处理。然而,对于静态资源的请求,我们通常不需要Spring MVC进行任何处理,而是直接交给Web服务器来处理即可。这样可以提高静态资源的访问效率,减轻Spring MVC的处理负担。

     当在Spring MVC的配置文件中添加了标签后,Spring MVC会自动将所有静态资源的请求转发给默认的Servlet处理器处理。这意味着,当你在浏览器中请求一个静态资源时,Spring MVC不会对该请求进行任何处理,而是直接将该请求转发给Web服务器默认的Servlet处理器来处理。这样,你就可以在Web应用程序中直接访问静态资源了,而不需要任何额外的配置。

      总之,标签是Spring MVC中一个非常有用的配置工具,它可以帮助开发人员解决静态资源的访问问题,提高Web应用程序的性能和效率。

 

    是Spring MVC中的一个标签,用于配置默认的Servlet处理器。当Spring MVC无法找到与请求相匹配的处理器时,该标签可以指定一个默认的Servlet来处理请求。

该标签通常在Spring MVC的配置文件中使用,用于配置默认的Servlet处理器。下面是一个示例配置:

在上面的示例中,标签没有指定任何属性,它只是简单地启用默认的Servlet处理器。当Spring MVC无法找到与请求相匹配的处理器时,它会使用默认的Servlet来处理请求。

    需要注意的是,标签只适用于基于Servlet的部署环境,例如在Web应用程序中使用Servlet容器(如Tomcat)进行部署。在基于Spring Boot的部署环境中,通常不需要使用该标签,因为Spring Boot会自动配置默认的Servlet处理器。

此外,如果你需要更细粒度的控制,可以通过实现HandlerInterceptor接口或使用其他拦截器来拦截请求并自定义处理逻辑。

 

     `` 是 Spring MVC 中的一个配置标签,它的作用是将请求转发到 Servlet 容器的默认 Servlet,通常用于处理静态资源(如:图片、CSS、JavaScript 等)。

      在 Spring MVC 中,DispatcherServlet 默认会处理所有请求,并将请求分发给相应的处理器(Controller)进行处理。但对于一些静态资源,由于这些资源不需要经过 Spring MVC 的处理,因此可以直接由 Servlet 容器(如:Tomcat)提供支持。

      在使用 `` 标签后,Spring MVC 框架会自动将所有未被处理的请求转发给 Servlet 容器的默认 Servlet 进行处理。这可以提高性能,避免不必要的处理和请求转发。

 

是Spring MVC中的一个标签,用于配置默认的Servlet处理器。它可以将未匹配到其他处理器的请求交给默认的Servlet处理器处理。

使用标签时,可以指定以下属性:

  • location:指定默认Servlet处理器的位置,即Servlet的URL映射路径。
  • servlet-name:指定默认Servlet处理器的Servlet名称。
  • servlet-class:指定默认Servlet处理器的Servlet类名。

下面是一个使用标签的示例:

        

上述配置将启用默认的Servlet处理器,并将未匹配到其他处理器的请求交给默认的Servlet处理器处理。默认Servlet处理器的位置为根路径("/"),可以使用location属性进行修改。

 

      用于配置一个用于处理静态资源(如图像、CSS、JavaScript 等)的默认 Servlet。当 DispatcherServlet 接收到一个请求并且无法匹配到控制器时,它会将该请求转发给默认 Servlet 进行处理。此标签还可以指定默认 Servlet 处理的请求路径前缀。 

      通常,我们会将静态资源放到 Web 应用程序的 WEB-INF 目录之外,这些资源可以被客户端直接访问。但是,在使用 Spring MVC 框架时,我们需要通过控制器来处理这些请求,这样会增加控制器的负担。

      使用 可以避免这种情况,即当 DispatcherServlet 接收到静态资源的请求时,请求将直接转发给默认 Servlet 处理。这样,就可以减轻控制器的负担,使应用程序更加高效、稳定。

     标签用于将所有请求都映射到默认的Servlet上,这个Servlet通常是Web容器中的默认Servlet,即tomcat中的org.apache.catalina.servlets.DefaultServlet。当请求中的路径没有被映射到其他任何处理程序时,它将被传递给默认的Servlet进行处理。 

    通常情况下,如果没有使用标签,如果请求中的路径没有被映射到任何处理程序,将返回404错误。因此,使用标签可以确保在请求中的路径没有被映射到其他处理程序时,仍能够响应请求,使应用程序更加健壮和完整。

你可能感兴趣的:(#,Spring,Web,MVC,springwebmvc,defaultservlet)