目录
一、SpringMVC。
(1)SpringMVC快速入门。
(2)SpringMVC的数据响应方式。
(1)页面跳转。
(2)回写数据。
(3)获取请求参数。
(4)请求数据乱码问题。
(5)参数绑定注解。
(6)获取Restful风格的参数。
(7)自定义类型转换器。
(8)获取Servlet相关API (请求头等)。
(9)文件上传。
(1)文件上传客户端的三要素。
(2)单文件上传。
(3)多文件上传。
(10)知识总结。
一、SpringMVC。
(1)SpringMVC快速入门。
@Controller是Spring框架中的一个注解,用于标注一个类为控制器。在Spring MVC应用程序中,控制器类负责接收和处理浏览器发来的请求,然后调用相应的业务逻辑进行处理,并最终返回响应结果。
@Controller注解会将标注的类注册为Spring容器中的Bean对象,并自动识别其中标注了@RequestMapping注解的方法作为请求处理方法。
@Controller注解作为Spring框架中的一个组件(Bean)的标识,在Spring和Spring MVC框架中使用时,有一些细微的区别:
在Spring框架中,@Controller注解用于定义一个类作为Spring容器中的组件(Bean),让Spring容器对其进行实例化和管理,并表明该类是应用程序中的控制器(Controller)。在这种情况下,控制器主要处理业务逻辑,而不是HTTP请求和响应。因此,它可以与其他技术(如JSP、Thymeleaf等)结合使用,实现Web应用程序开发的完整流程。
而在Spring MVC框架中,@Controller注解用于定义一个类作为处理客户端HTTP请求的控制器。通过使用@Controller注解,我们可以将请求路由到相应的处理方法上,从而实现对请求进行处理并返回数据到视图层。在这种情况下,控制器类通常包含多个带有@RequestMapping注解的方法,以实现不同的业务逻辑。
注意:要在web.xml中配置DispatcherServlet(前端控制器)等组件后,springMVC就会让控制器类(标识了@Controller的类)负责接收和处理浏览器发来的请求,还需要结合@RequestMapping注解进行方法级别的映射配置,以使Spring MVC框架能够将请求路由到相应的处理方法上。
<!--配置SpringMVC的前端控制器--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value><!--spring-mvc.xml是在resources目录下--></init-param><load-on-startup>1</load-on-startup><!--表示服务器一启动就加载,不配置的话,第一次访问时再加载--></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
@Controller//没有这个注解访问不了这个类的方法,标识这个类作为springMVC的控制器
@RequestMapping("/user")//不在类上面使用这个注解:http://localhost:8080/quick,在类上使用注解:http://localhost:8080/user/quick
public class UserController {
// @RequestMapping(value = "/quick",method = RequestMethod.GET,params = {"username","address","age!=100"})@RequestMapping(value = "/quick")public String save(){System.out.println("Controller save running....");return "success";}@RequestMapping(value = "/quick2")public ModelAndView save2(){/*** Model:模型 作用封装数据* View: 视图 作用展示数据*/ModelAndView modelAndView = new ModelAndView();//设置视图名称modelAndView.addObject("username","itcast");modelAndView.setViewName("success");return modelAndView;}@RequestMapping(value = "/quick3")public ModelAndView save3(ModelAndView modelAndView){modelAndView.addObject("username","itheima");modelAndView.setViewName("success");return modelAndView;}
}