精简共分步

新建一个web工程  导入核心就二包,因为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>org.example</groupId>
<artifactId>untitled</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>
<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>
</project>
++++++++++++++++++++++++++++++++++++++++++2++++++++++++++++++++++++++
spring核心配置
package com.ithm.zConfig;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.ithm.Config")
public class Springconfig {
}


+++++++++++++++++++++++++++++++++++++++++++++++++++++++3++++++++++++++++++++++++++++++++++++++

第三步 spring MVC 配置

package com.ithm.zConfig;

import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

import javax.servlet.Filter;

public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[0];
}

@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{Springconfig.class};
}

@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}

@Override
//本方来自spring web包,解析post 中文乱码
protected Filter[] getServletFilters() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
return new Filter[]{filter};
}
}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++4++++++++++++++++++++++++++

配置mvc那儿上面是精简写法,原写法为:
package com.ithm.zConfig;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;

public class ServletConfigInitbask extends AbstractDispatcherServletInitializer {
@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(Springconfig.class);
return ctx;
}

@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}

@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=最后一步是控制器++++++++++++
package com.ithm.Config;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserConfig {
@RequestMapping("/eee")
@ResponseBody
public String save(String name,String age){
System.out.println("name"+""+"="+ name);
System.out.println("age"+""+"="+ age);
return "{'a':'b2002'}";
}
@RequestMapping("/add")
@ResponseBody
public String add(){
System.out.println("kkkk");
return "{'d':'dddd'}";
}

}

 
 如果是乱码以下是乱码解决:


@Override
//本方来自spring web包,解析post 中文乱码
protected Filter[] getServletFilters() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
return new Filter[]{filter};
}
}

 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++最简化示例完整结束+++++++++++++++++++++++++++++++++++++
 
以下是参数使用:
 
 客户端传参和服务器不一样使用@RequestParam(“”)括号里面放浏览器传来的参数。
public String save(@RequestParam("name") String name, String age){
如果对方传数组,只需要参数中name一样
public string arrParam(String[] likes)
如果对方传list 只需要参数和数组一样传,服务器指定参数时写法增加@RequestParam
pulic string listParam (@requestParam List<String> likes)

服务器要想支持json 共分4步
要加载json包,还需要在spring配置支持 json转换 @EbdbkeWebMvc,最后还在服务器参数中后中加@requestBody
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 

 


最后浏览器发送,浏览器发送对像也可以pojo对象接收,json能自动处理

如果浏览器发送多个List 也可以用json接收

对于日期类型: 默认只支持Date 2008/2/5这样格式,加“-”这样就不行了

服务器返回,默认是返回页面,如果想直接返回数据:

REST 表现形式壮态转换

@RequestMapping(value = “/user/{id}”,method = RequestMethod.DELETE)

Public String delete(@pathVariable Integer id)

全部精简后写法:

不同请求方式示例:

精简前参考:

 

最后静态文件放行



++++++++++++++++++++++ist+++++++++++++++++++++++++


 

springMvc精简整理的更多相关文章

  1. 关于springMVC中component-scan的问题以及springmvc.xml整理

    关于springMVC中component-scan的问题以及springmvc.xml整理 一.component-scan问题和解决办法         最近在学习使用springMVC+myba ...

  2. [原创]spring及springmvc精简版--AOP

    接上一篇:[原创]spring及springmvc精简版--IOC 理解AOP.java是一种面向对象的语言.而AOP是面向切面,在我看来是面向逻辑或者业务编程,它是对一组逻辑的抽象和分配. 经典例子 ...

  3. SpringMVC 知识整理

    SpringMVC架构设计 MVC是一种架构模式,它把业务的实现和展示相分离. SpringMVC与struts2的区别 Struts2是类级别的拦截, 一个类对应一个request上下文,Sprin ...

  4. 二:SpringMVC知识整理

    springmvc复习: 1.SpringMVC介绍 2.SpringMVC入门程序 1)创建web工程 2)导入jar包 3)在web.xml中配置前端控制器(指定上下文件的路径 classpath ...

  5. [原创]spring及springmvc精简版--IOC

    本篇博客为自己学习spring和springmvc的一个总结.主要以代码为主,至于文字性描述理解性东西,可以自行百度.有认识不妥的地方,还望指出,相互学习. 以前很困惑spring中的一些概念,在学习 ...

  6. springmvc知识点整理

    1.Springmvc架构 2.Springmvc组件三大组件:处理器映射器,处理器适配器,视图解析器处理器映射器:注解式处理器映射器,对类中标记了@ResquestMapping的方法进行映射,根据 ...

  7. [原创]spring及springmvc精简版--继承数据源,声明式事物

    1.前期:导入c3p0 jar包,相关数据库连接jar包,我用的是mysql 2.关注事物管理器的配置和AOP配置 代码: 核心关注bean配置文件 application.xml <?xml ...

  8. SpringMVC问题整理

    JSP页面无法获取ModelAndView里的值 自己搭的项目突然EL表达式取不到值了 不管是用 ${msg} 还是用JSTL的<c:out value="${msg}"/& ...

  9. beego 框架基本使用 && 知识点整理

    beego 官网的教程已经整理的非常详细了,但作为一个刚接触的学习者,还是有必要做一下整理,这样在后面使用的时候遇到了不太熟悉的地方,还能反过头来看下自己整理的内容,快速的把知识再捞回来,下面是对官网 ...

  10. css高级应用及问题记录(持续更新)

    css 参考手册: 1.http://css.doyoe.com/ 1.混合选择器样式定义: .button.icon:before {    content: "";    po ...

随机推荐

  1. win10家庭版禁用更新

    前言 2020年初因为疫情在家远程办公,而我老家没有电脑,先后向两位大学生借了两台电脑来办公,发现一个现象:他们的电脑系统都是家庭版,也就是刚买电脑时安装的win10家庭版.也问了其它几位计算机专业的 ...

  2. 从零开始配置vim(27)——代码片段

    我们之前介绍过缩写相关的内容,缩写是可以自动帮我们将缩写的单词展开成一段完整的话.但是代码本身是结构话的,仅仅使用缩写来配置是无法完成自动生成代码这个步骤的.好在我们大量的插件来进行配置.本篇我们将要 ...

  3. TienChin 渠道管理-渠道导出

    ChannelController /** * 导出渠道列表 */ @PreAuthorize("hasPermission('tienchin:channel:export')" ...

  4. Markdown常用书写语法合集

    1. 文字设置 1.1 文字颜色 中常用的文字颜色有: 红色文字:<font color="red">红色文字</font> 浅红色文字:<font ...

  5. ARKit的理解与使用

    AR概述 AR的意义:让虚拟世界套与现实世界建立联系,并可以进行互动. AR的技术实现:通过实时地计算摄影机输出影像的位置及角度,并在内部通过算法识别将场景中的事物,然后在内部模拟的三维坐标系中给识别 ...

  6. CF1764H Doremy's Paint 2 题解

    题目链接:CF 或者 洛谷 高分题,感觉挺有意思的题,值得一提的是这个题的 \(1\) 和 \(3\) 版本却是两个基础题. 一开始以为跟这道差不多:P8512 [Ynoi Easy Round 20 ...

  7. 用GPT4聊天制作AI绘画搞笑视频,播放量近10w,附GPT4开通教程

    AI一天,人间一年 大家好,我是小卷,最近大家在视频号.抖音刷短视频时,是不是经常刷到那种用AI生成的聊天搞笑绘画视频.比如下面这个视频:南方小土豆来哈尔滨 又或者是AI眼中的各个大学 又或者是两个大 ...

  8. Python数组合并和数组分割(数组拆分)

    数组的合并和拆分 ## 将数组按照固定长度进行拆分,返回一个二维数组 def list_split(source_list, n): return [source_list[i:i+n] for i ...

  9. BeginCTF 2024(自由赛道)MISC

    real check in 题目: 从catf1y的笔记本中发现了这个神秘的代码 MJSWO2LOPNLUKTCDJ5GWKX3UN5PUEM2HNFXEGVCGL4ZDAMRUL5EDAUDFL5M ...

  10. 从零开始的react入门教程(五),了解react中的表单,何为受控组件与非受控组件

    壹 ❀ 引 我们在从零开始的react入门教程(四),了解常用的条件渲染.列表渲染与独一无二的key一文中介绍了react中常用的条件渲染操作,比如三元运算符,逻辑运算符等,结合react组件或者re ...