赞
踩
Servlet属于web层开发技术,技术特点:
1. 每个请求都需要创建一个Servlet进行处理
2. 创建Servlet存在重复操作
3. 代码灵活性低,开发效率低是否有技术方案可以解决以上问题?
- web程序通过浏览器访问前端页面,发送异步请求到后端服务器
- 后台服务器采用三层架构进行功能开发
- 表现层负责接收请求和数据然后将数据转交给业务层
- 业务层负责调用数据层完成数据库表的增删改查,并将结果返给表现层
- 表现层将数据转换成json格式返回给前端
- 前端页面将数据进行解析最终展示给用户
变现层采用SpringMVC框架,SpringMVC主要负责的内容有:
- controller如何接收请求和数据
- 如何将请求和数据转发给业务层
- 如何将响应数据转换成json发回到前端
能基于SpringMvc快速开发一个web应用
搭建SpringMvc工程,定义UserController.save()方法处理/save请求,返回"{'module':'springmvc'}"。
- 创建Maven项目,并导入对应的jar包
- 创建控制器类
- 创建配置类
- 创建Tomcat的Servlet容器配置类
添加SpringMVC需要的依赖
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.wwc</groupId>
- <artifactId>springmvc_01_quickstart</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>war</packaging>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- </properties>
- <!--1. 导入SpringMVC与servlet的坐标-->
- <dependencies>
- <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>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <port>8080</port>
- <path>/</path>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
说明:servlet的坐标为什么需要添加
- scope是maven中jar包依赖作用范围的描述,
- 如果不设置默认是`compile`在在编译、运行、测试时均有效
- 如果运行有效的话就会和tomcat中的servlet-api包发生冲突,导致启动报错
- provided代表的是该包只在编译和测试的时候用,运行的时候无效直接使用tomcat中的,就避免冲突
2 创建控制器类
- //2.制作控制器类,等同于Servlet
- //2.1必须是一个spring管理的bean
- //2.2定义具体处理请求的方法
- //2.3设置当前方法的访问路径
- //2.4设置响应结果为String类型数据
- @Controller
- public class UserController {
-
- @RequestMapping("/save")
- @ResponseBody
- public String save(){
- System.out.println("user save ...");
- return "springmvc";
- }
- }
3 创建配置类
- //3.定义配置类加载Controller对应的bean
- @Configuration
- @ComponentScan("com.WWC.controller")
- public class SpringMvcConfig {
- }
4 创建Tomcat的Servlet容器配置类
- //4.定义servlet容器的配置类
- public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
- //加载springMVC配置
- protected WebApplicationContext createServletApplicationContext() {
- //初始化WebApplicationContext对象
- AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
- //加载指定配置类
- ctx.register(SpringMvcConfig.class);
- return ctx;
- }
-
- //设置Tomcat接收的请求哪些归SpringMVC处理
- protected String[] getServletMappings() {
- return new String[]{"/"};
- }
-
- //设置spring相关配置
- protected WebApplicationContext createRootApplicationContext() {
- return null;
- }
- }
配置Tomcat环境
浏览器访问
至此SpringMVC的入门案例就已经完成。
代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。但是我们如果我们发送的是`GET`请求可以直接使用浏览器,但是如果要发送的是`POST`请求呢?
如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.
PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件
登入官网安装即可
看到如下界面,就说明已经安装成功。
第一次请求需要创建一个新的目录,后面就不需要创建新目录,直接保存到已经创建好的目录即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。