您的位置:首页 > 科技 > 能源 > 上海最大企业前十名_音乐制作软件app_seo搜索引擎优化课后答案_seo平台是什么意思

上海最大企业前十名_音乐制作软件app_seo搜索引擎优化课后答案_seo平台是什么意思

2025/4/16 11:06:17 来源:https://blog.csdn.net/weixin_69032308/article/details/145793338  浏览:    关键词:上海最大企业前十名_音乐制作软件app_seo搜索引擎优化课后答案_seo平台是什么意思
上海最大企业前十名_音乐制作软件app_seo搜索引擎优化课后答案_seo平台是什么意思

1. Spring MVC 简介

Spring MVC技术与Servlet功能技术等同,均属于web层开发技术

2. Spring MVC 入门案例

2.1 导入sevlet和springmvc坐标

pom.xml

    <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency>

2.2 创建SpringMVC控制器类

com.gtc.controller.UserController.java

@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("/save")@ResponseBodypublic String save(){System.out.println("user save...");return "{'user':'save'}";}@RequestMapping("/delete")@ResponseBodypublic String delete(){System.out.println("user delete...");return "{'user':'delete'}";}
}

2.3 初始化SpringMVC环境(同Spring环境),设定SpringMVC加载对应的bean

com.gtc.config.SpringMvcConfig.java

@Configuration
@ComponentScan("com.gtc.controller")
public class SpringMvcConfig {}

2.4 初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC技术处理的请求

com.gtc.config.ServletContainerInitConfig.java
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {// 加载springmvc容器配置@Overrideprotected WebApplicationContext createServletApplicationContext() {// 创建空容器AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();// 注册容器的配置context.register(SpringMvcConfig.class);return context;}// 加载哪些请求归属springmvc处理@Overrideprotected String[] getServletMappings() {// 所有请求都由mvc处理return new String[]{"/"};}// 加载spring容器配置@Overrideprotected WebApplicationContext createRootApplicationContext() {return null;}
}

2.5 导入Tomcat插件(或用本地Tomcat)

 <build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>80</port><path>/</path></configuration></plugin></plugins></build>

2.6 启动服务器

 3. bean 加载控制

SpringMVC容器加载controller的表现层bean

Spring容器控制service的业务bean、dao的数据bean等

因为功能不同,如何避免Spirng错误加载到SpringMVC的bean?

解决办法:SpringMvcConfig只加载mvc的bean,Spring加载所有(排除掉springmvc的bean)的bean

  • SpringMVC相关bean加载控制
    • SpringMVC加载的bean对应的包均在com.gtc.controller内
  • Spring相关bean加载控制
    • 方式一: Sring加载的bean设定扫描范围为com.gtc,排除掉controller包内的bean
    • 方式二: Spring加载的bean设定扫描范围为精准扫描,例如service包、dao包等

3.1 Spring MVC加载表现层bean

com.gtc.config.SpringMvcConfig.java

@Configuration
@ComponentScan("com.gtc.controller")
public class SpringMvcConfig {
}

3.2 Spring加载其他bean

com.gtc.config.SpringConfig.java

方式一:Sring加载的bean设定扫描范围为com.gtc,排除掉controller包内的bean

@Configuration
@ComponentScan(value="com.gtc", excludeFilters = @ComponentScan.Filter(type= FilterType.ANNOTATION,classes=Controller.class))
public class SpringConfig {
}

方式二: Spring加载的bean设定扫描范围为精准扫描,例如service包、dao包等

@Configuration
@ComponentScan("com.gtc.service","com.gtc.dao")
public class SpringConfig {
}

4. 请求与响应

4.1 请求映射路径

@RequestMapping注解实现

4.2 请求参数

在Postman中发送Get请求:

在Postman中发送Post请求:

普通参数传递:

@Controller
public class ParamController {// 普通参数@RequestMapping("/commonParam")@ResponseBodypublic String commonParam(String name, int age) {System.out.println("普通参数传递 name ==> " + name);System.out.println("普通参数传递 age ==> " + age);return "{'module':'common param'}";}// 普通参数---请求参数与形参名不同@RequestMapping("/commonParam02")@ResponseBodypublic String commonParam02(@RequestParam("name") String userNname, int age) {System.out.println("普通参数2传递 name ==> " + userNname);System.out.println("普通参数2传递 age ==> " + age);return "{'module':'common param'}";}
}

POJO类型参数

前提:有一个User类,定义了String name和int age两个属性,写了getter和setter方法和toString方法

  // POJO类型参数@RequestMapping("/pojoParam")@ResponseBodypublic String pojoParam(User user) {System.out.println("pojo类型参数传递 ==> " + user);return "{'module':'pojo param'}";}

4.3 响应json数据

Postman发送json数据

 (1)加入jackson-databind坐标

 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency>

(2)配置SpringMvcConfig.java加入EnableWebMvc注解

package com.gtc.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration
@ComponentScan("com.gtc.controller")
@EnableWebMvc // 开启外部发送的json转换为对象功能
public class SpringMvcConfig{}

(3)

  // 集合参数: json格式@RequestMapping("/listParamForJson")@ResponseBodypublic String listParamForJson(@RequestBody List<String> likes){System.out.println(likes);return "{'module':'list param'}";}

4.4 响应

响应页面

@Controller
@RequestMapping("/user")
public class UserController {// 响应页面@RequestMapping("/toJumpPage")public String toJumpPage() {System.out.println("跳转页面");return "index.jsp";}
}

响应数据

5. REST风格

5.1 REST简介

REST(Representational State Transfer),表现形式状态转换

 

 

5.2 RESTful入门案例 

SpringMVC支持的八种请求方式:

主要四种:增PUT删DELETE改POST查GET

 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com