2021年04月15日 springMVC(2)_注解_过滤器
(控制转发,web .xml配置、spring.xml配置)
- 有很多的时候我们学习的只是知识的表层,我们要努力把“了解”变为“精通”。这个系列就是为了记录Java基础梳理。
- 希望在学习的过程中不是把知识简单的记忆住,更重要的是做到“有趣”,怎么做到呢?将代码理解为构建世界的语言,我们所在的世界的一草一木都可以用代码解释,Java是面向对象的,也是存在于我们的生活的,Java生活就是这个道理。
- 在以后可能会加一些拓展,
- 学习理科、技术最依靠的是理解、模型,不断应用,在应用中理解,记忆,才能对知识的理解更上一层。
一、基本的三个配置(Url处理映射器、控制处理适配器、内部资源视图解析器)
(1)使用mvc的servlet传统方式
都是这个包下的:org.springframework.web.servlet
URL处理映射器 | handler.SimpleUrlHandlerMapping |
控制器处理适配器 | mvc.SimpleControllerHandlerAdapter |
视图解析器 | view.InternalResourceViewResolver |
(2)注解方式:
只需要在spring.xml中配置:
<context:component-scan base-package="某某包">
spring就可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则自动把这些类注册为bean
二、spring组件
想看spring源码需要独立下载才能看到,我们看到的jar包是编译好的class文件
context:component-scan base-package
component: 组件;部件;组成部分
plug-in 插件
control 控件
component: @Controller 控制器 用类解决了:ModelAndView
@Service 业务层
@Repository 仓库(DAO)
note——标记;日记;便签;记事本
not——词根:标记;打结(海员)
add+notation——标记;注释;注解
三、过滤器
spring中自带的过滤器(CharacterEncodingFilter)
forceRequestEncoding false forceResponseEncoding true
四、code实例
web.xml配置:
springmvc.xml配置:
Controllers类
package com.hzy.demo.controller;import com.hzy.demo.model.Stu;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class Controllers { @RequestMapping("hello.do") public String control(String p1) { System.out.println("control111"); System.out.print("P1是" + p1); return "result.jsp"; } @RequestMapping("index.do") public String cont() { System.out.println("返回主页"); return "index.jsp"; } @RequestMapping("insertStu.do") public String add(Stu stu) { System.out.print("进入添加学生的业务。。。");// Stu stu = new Stu();// stu.setCode(Integer.valueOf(code));// stu.setName(name);// stu.setGender(gender); System.out.print(stu); return "add_success.jsp"; } @RequestMapping("insert.do") public String get(HttpServletRequest request) { return "index.jsp"; }}