4.SpringWeb

一、创建项目

LomBok:辅助开发工具,减少代码编写

Spring Web:带上Spring MVC,可以做Web开发了

Thymleaf: Web开发末班引擎(不常用)

创建好,如下:

static/ 放置静态资源的根目录

templates/ 放置模板文件的根目录

二、资源配置

1、静态资源:全部放在src/main/resuorces/static/ 目录下即可

2、动态资源:

  1. 必须是被Spring管理的Bean对象&&要求必须使用@Controller修饰
  1. SpringMVC会去判断,只处理@Controller修饰的Bean对象
  1. 和Servlet不同,动态资源不是以一个个类作为基本单位。

而是以@Controller修饰的bean下的一个个方法作为基本单位。

换言之,一个类可以提供多个动态资源

  1. 方法通过@RequestMapping(url)来明确是动态资源+绑定资源路径

如图,提供了两个动态资源路径:

  1. 资源路径: /hello

支持的HTTP方法是:GET、POST等

  1. 资源路径: /world

支持的HTTP方法是:GET、POST等

三、必须掌握的

  1. 如何利用配置文件做最常见的修改: server.port=8080

  1. 静态资源所在根目录 src/main/resources/static [实际上就是配置中的默认的值,可以利用配置文件修改]

  1. 动态资源: M-V

(1)@Controller + @RequestMapping

(2)Model + src/main/resources/templates 前提(勾选了thymeleaf模板)


根据请求+ @RequestMapping可以确定本次请求是 DemoController#hello(Model)

内部的逻辑处理,此时是适配器:

此时真正执行我们的方法,然后返回一个ModelAndView


四、Spring Web

  1. 连接的功能:

将用户(浏览器)和Java程序连接起来,也就是访问一个地址能够调用我们的Spring程序。

那么如何关联动态资源,总的来说:通过

  1. @Contorller注解修饰类

把类注册成Spring bean ;

表示该bean用于控制器。

  1. @RequestMapping注解修饰方法,给出方法表示的资源的路径

控制台测试:出现了405状态,说明支支持get,不支持send

特殊之处:

可以通过@RequestMapping(method= .... )或者 @GetMapping / @PostMapping来限制动态资源支持的HTTP方法;

可以通过 @RequestMapping修饰类,给该类下的所有资源添加统一的URL前缀(prefix)

2.获取参数的功能

用户访问的时候,会带一些参数,在程序中要想办法获取到参数。

3.输出数据的功能:

执行了业务逻辑之后,要把程序执行的结果返回给用户。

4.方法的签名到底是什么样?

  1. 形参类型有哪些? https://docs.spring.io/spring-framework/docs/current/reference/html#mvc-ann-arguments

  1. 返回值类型有哪些?

只要是文档上的作为形参,Spring都可以正确的调用

mappedHandleer 指明了哪个方法要被执行。

HandleerAdapter(句柄 适配器) 根据方法签名中的形参,可以适配创建实参对象,利用反射去调用正确的方法。

5.方法签名中,最常用的几种模式

  1. 传统Servlet模式

  1. 使用ResponseBody注解

  1. 前后端分离,直接返回JSON

  1. @RequestPara注解,当变量名就是参数名时,可以省略

请求参数可以直接指定Int类型,Spring会帮我们转换

请求参数如果比较多,可以用一个对象进行接收(dog)


五、User登陆/注册/用户列表JSON的例子演示

1.SpringMVC(SpringWeb)的基本流程

  1. 从Servlet的流程,走到了Spring的DispatchServletdoDispatch的方法中

  1. 根据请求中的各种信息(方法、URL),在已注册的所有bean对象中(这些对象被@Controller修饰),查找对应的方法进行请求处理(依赖@RequestMapping注解)

  1. 根据方法中的不同请求参数类型以及返回值类型,生成调用的方法的参数(实参)信息

HandllerAdapter中完成

  1. 调用handle.invoke(...)得到ModelAndView对象

  1. 根据对应的解析引擎(视图引擎),得到view对象

  1. 渲染并生成Response对象

  1. 走Servlet流程发送响应对象

2.如何进行动态资源绑定

@Controller

@RequestMapping、@GetMapping、@PostMapping

3.参数的形式

  1. void (HttpServletRequest request,HttpServletResponse resp) 完全按照Servlet的模式处理即可

  1. @ResponseBody

String(@RequestParam(....) String paramName) 直接处理

其中,@RequestParam可以省略 修饰形参,表示形参的值来自请求参数

可以不写String

可以直接包装成对象

  1. @ResponseBody 用来修饰方法表示返回值会被完整的当成响应体

XXXObject(...) 返回JSON串

4.....(HttpSession session)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用Spring框架的MVC模式进行Web开发时,我们需要导入org.springframework.web.servlet包。这个包中包含了一些用于处理HTTP请求和响应的类和接口。 首先,在项目中使用Spring框架需要在项目的构建工具中加入spring-webmvc依赖,例如在Maven项目中,在pom.xml文件中添加以下依赖项: ```xml <dependencies> <!-- Spring webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.1.RELEASE</version> </dependency> </dependencies> ``` 然后,在我们的Java类中使用import语句导入org.springframework.web.servlet包中的相应类和接口。例如,在一个Controller类中,我们可能需要导入以下类: ```java import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; ``` 其中,Controller是一个接口,我们可以通过实现该接口来处理HTTP请求。ModelAndView类表示一个包含模型数据和相应视图的对象。 当我们导入了org.springframework.web.servlet包后,就可以使用其中的类和接口来编写处理Web请求的逻辑了。比如,我们可以创建一个实现了Controller接口的类,重写handleRequest方法来处理具体的请求,并返回相应的视图。 总结来说,导入org.springframework.web.servlet包是为了能够使用Spring框架提供的处理HTTP请求和响应的类和接口。这些类和接口可以帮助我们简化Web开发过程,并提供了一些方便的方法和工具来处理请求、渲染视图等操作。 ### 回答2: 为了使用org.springframework.web.servlet包,您需要执行以下步骤: 1. 打开您的Java项目,并确保您的项目已经配置了Maven或Gradle依赖管理工具。 2. 在您的项目配置文件(例如pom.xml或build.gradle)中添加Spring MVC的相关依赖。 3. 在依赖配置文件中,添加以下依赖项: - Maven: ```xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>您需要的版本号</version> </dependency> </dependencies> ``` - Gradle: ```groovy dependencies { implementation 'org.springframework:spring-webmvc:您需要的版本号' } ``` 4. 保存并更新您的项目配置文件,以便Maven或Gradle可以自动下载所需的库和依赖项。 5. 在您的Java类中,导入org.springframework.web.servlet相关类: ```java import org.springframework.web.servlet.*; ``` 6. 现在,您可以在您的代码中使用Spring MVC提供的类和功能。 通过遵循上述步骤,您就可以成功导入org.springframework.web.servlet包,并开始使用Spring MVC框架提供的功能开发Web应用程序。 ### 回答3: 导入org.springframework.web.servlet包是为了使用Spring MVC框架提供的Servlet相关的类和接口。Spring MVC是一种基于Servlet的Web应用程序框架,用于开发灵活、可扩展的Web应用程序。 在导入org.springframework.web.servlet包之前,需要首先在项目的构建管理工具中添加对Spring MVC框架的依赖,例如使用Maven的话,在项目的pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>版本号</version> </dependency> ``` 这将自动引入org.springframework.web.servlet包及其相关依赖。 在代码中导入org.springframework.web.servlet包,可以使用以下语句: ``` import org.springframework.web.servlet.*; ``` 导入该包后,可以使用Spring MVC提供的一系列类和接口,例如: - DispatcherServlet:Servlet派发器,用于将请求派发给相应的处理器。 - HandlerMapping:处理器映射,用于将请求映射到相应的处理器。 - HandlerAdapter:处理器适配器,用于处理请求并调用相应的处理器方法。 - ModelAndView:模型和视图,用于封装处理器处理后的数据和视图信息。 - ViewResolver:视图解析器,用于根据逻辑视图名解析出具体的视图。 导入org.springframework.web.servlet包后,就可以利用Spring MVC的功能进行Web应用程序的开发,包括URL映射、请求处理、参数绑定、模型和视图的处理等,提供了快速、简单和灵活的Web开发方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值