广告图片怎么制作,网站优化外包费用,做游戏的软件app,淮安那家公司做网站目录 1.SpringMvc的常用注解 
2.参数传递 
基础类型#xff08;String#xff09; 
创建一个paramController类#xff1a;  
创建一个index.jsp 测试结果 
复杂方式 
编辑 测试结果 
RequestParam 
测试结果  
PathVariable 
测试结果  RequestBody 
pom.xml依赖导入 
输…目录 1.SpringMvc的常用注解 
2.参数传递 
基础类型String 
创建一个paramController类  
创建一个index.jsp 测试结果 
复杂方式 
编辑 测试结果 
RequestParam 
测试结果  
PathVariable 
测试结果  RequestBody 
pom.xml依赖导入 
输出结果  RequestHeader 测试结果 
3.返回值 
void 
测试结果 
Map 测试结果 
编辑 
String 测试结果 
Stringmodel 测试结果 
ModelAndView 
4.页面跳转 
转发 
测试结果 
编辑  
重定向 
测试结果 1.SpringMvc的常用注解 1. Controller用于声明一个控制器类。 2. RequestMapping用于映射请求 URL 到控制器类或处理方法上。 3. RequestParam用于获取请求参数的值。 4. PathVariable用于获取 URL 中的参数值。 5. ResponseBody用于将返回值转化为 JSON 格式或其他格式的数据。 6. ModelAttribute用于将请求参数绑定到模型对象上。 7. Valid用于验证请求参数。 8. InitBinder用于定义数据类型转换和格式化规则。 9. SessionAttributes用于将模型对象存储到会话中。 10. ExceptionHandler用于处理控制器方法中抛出的异常。 11. RequestMapping(value“”, methodRequestMethod.GET) 用于处理 GET 请求。 12. RequestMapping(value“”, methodRequestMethod.POST) 用于处理 POST 请求。 13. RequestMapping(value“”, methodRequestMethod.PUT) 用于处理 PUT 请求。 14. RequestMapping(value“”, methodRequestMethod.DELETE) 用于处理 DELETE 请求。 2.参数传递 
基础类型String 
RequestMapping(/hello1)public String toHello1(Integer bid,String bname){log.info( 基础类型String传参{},{},bid,bname);return index;}创建一个paramController类  
package com.zking.web;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** author bin人* site www.zking.com* company xy集团* create 2023-09-05-14:44*/
Slf4j
Controller
RequestMapping(/param)
public class ParamController {RequestMapping(/hello1)public String index(String bname,Integer bid){
//        System.out.println(放下屠刀);log.info(简单类型参数bname:{},bid:{},bname,bid);return index;}
} 
创建一个index.jsp 
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body
h1立地成佛/h1
/body
/html 测试结果 复杂方式 测试结果 RequestParam 
用了这个requiredfalse必须要传参数要不然进入不了方法 测试结果  
必须要传bname要不然会报错也接受不到值 
传了值之后就可以正常访问了  PathVariable RequestMapping(/hello4/{bid})public String hello4(PathVariable(bid) Integer bid){log.info(PathVariablebid:{},bid);
//      fail..error warning info debugreturn index;} 
测试结果  RequestBody 
RequestMapping(/hello5/{bid})public String hello5(Map map){log.info(RequestBodymap:{},map);
//      fail..error warning info debugreturn index;}RequestMapping(/hello6/{bid})public String hello6(RequestBody Map map){log.info(RequestBodymap:{},map);
//      fail..error warning info debugreturn index;} 
想要用这个注解就必须导入架包依赖 
pom.xml依赖导入 
?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.zking/groupIdartifactIdyxssm/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingnameyxssm Maven Webapp/name!-- FIXME change it to the projects website --urlhttp://www.example.com/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetmaven.compiler.plugin.version3.7.0/maven.compiler.plugin.version!--添加jar包依赖--!--1.spring 5.0.2.RELEASE相关--spring.version5.0.2.RELEASE/spring.version!--2.mybatis相关--mybatis.version3.4.5/mybatis.version!--mysql--mysql.version5.1.44/mysql.version!--pagehelper分页jar依赖--pagehelper.version5.1.2/pagehelper.version!--mybatis与spring集成jar依赖--mybatis.spring.version1.3.1/mybatis.spring.version!--3.dbcp2连接池相关 druid--commons.dbcp2.version2.1.1/commons.dbcp2.versioncommons.pool2.version2.4.3/commons.pool2.version!--4.log日志相关--log4j2.version2.9.1/log4j2.versionlog4j2.disruptor.version3.2.0/log4j2.disruptor.versionslf4j.version1.7.13/slf4j.version!--5.其他--junit.version4.12/junit.versionservlet.version4.0.0/servlet.versionlombok.version1.18.2/lombok.version!-- jstlstandard --jstl.version1.2/jstl.versionstandard.version1.1.2/standard.version!-- spring --spring.version5.0.2.RELEASE/spring.versionjackson.version2.9.3/jackson.version/propertiesdependencies!--1.spring相关--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-orm/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aspects/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion${spring.version}/version/dependency!--2.mybatis相关--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion${mybatis.version}/version/dependency!--mysql--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependency!--pagehelper分页插件jar包依赖--dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion${pagehelper.version}/version/dependency!--mybatis与spring集成jar包依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion${mybatis.spring.version}/version/dependency!--3.dbcp2连接池相关--dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-dbcp2/artifactIdversion${commons.dbcp2.version}/versionexclusionsexclusionartifactIdcommons-pool2/artifactIdgroupIdorg.apache.commons/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactIdversion${commons.pool2.version}/version/dependency!--4.log日志相关依赖--!-- log4j2日志相关依赖 --!-- log配置Log4j2  Slf4j --!-- slf4j核心包--dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactIdversion${slf4j.version}/versionscoperuntime/scope/dependency!--核心log4j2jar包--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion${log4j2.version}/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion${log4j2.version}/version/dependency!--用于与slf4j保持桥接--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j-impl/artifactIdversion${log4j2.version}/versionexclusionsexclusionartifactIdslf4j-api/artifactIdgroupIdorg.slf4j/groupId/exclusion/exclusions/dependency!--web工程需要包含log4j-web非web工程不需要--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-web/artifactIdversion${log4j2.version}/versionscoperuntime/scope/dependency!--需要使用log4j2的AsyncLogger需要包含disruptor--dependencygroupIdcom.lmax/groupIdartifactIddisruptor/artifactIdversion${log4j2.disruptor.version}/version/dependency!--5.其他--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/version!--scopetest/scope--/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion${servlet.version}/versionscopeprovided/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionscopeprovided/scope/dependency!-- spring mvc相关依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdjstl/groupIdartifactIdjstl/artifactIdversion${jstl.version}/version/dependencydependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion${standard.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion${jackson.version}/version/dependency/dependenciesbuildfinalNameyxssm/finalNameresources!--解决mybatis-generator-maven-plugin运行时没有将XxxMapper.xml文件放入target文件夹的问题--resourcedirectorysrc/main/java/directoryincludesinclude**/*.xml/include/includes/resource!--解决mybatis-generator-maven-plugin运行时没有将jdbc.properites文件放入target文件夹的问题--resourcedirectorysrc/main/resources/directoryincludesincludejdbc.properties/includeinclude*.xml/include/includes/resource/resourcespluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion${maven.compiler.plugin.version}/versionconfigurationsource${maven.compiler.source}/sourcetarget${maven.compiler.target}/targetencoding${project.build.sourceEncoding}/encoding/configuration/pluginplugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.3.2/versiondependencies!--使用Mybatis-generator插件不能使用太高版本的mysql驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependency/dependenciesconfigurationoverwritetrue/overwrite/configuration/pluginpluginartifactIdmaven-clean-plugin/artifactIdversion3.1.0/version/plugin!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --pluginartifactIdmaven-resources-plugin/artifactIdversion3.0.2/version/pluginpluginartifactIdmaven-compiler-plugin/artifactIdversion3.8.0/version/pluginpluginartifactIdmaven-surefire-plugin/artifactIdversion2.22.1/version/pluginpluginartifactIdmaven-war-plugin/artifactIdversion3.2.2/version/pluginpluginartifactIdmaven-install-plugin/artifactIdversion2.5.2/version/pluginpluginartifactIdmaven-deploy-plugin/artifactIdversion2.8.2/version/plugin/plugins/build
/project在导入依赖后我们还需要postman或者apipost/eolink等工具发送请求数据。 因为浏览器发送不了JSON数据请求。所以我们需要安装Eolink等第三方工具进行测试。   安装好后按照以下步骤把参数填写好query参数是往域名链接添加属性如下  
输出结果  
请看录像 
通过方法五跟方法六的对比可得出RequestBody适用于专门接受Json RequestHeader RequestMapping(/hello7)public String hello7(RequestHeader(jwt) String jwt){
//        System.out.println(刘三金去拿奶茶喽。。。);log.info(RequestHeader参数jwt:{},jwt);
//      fail..error warning info debugreturn index;}RequestMapping(/hello8)public String hello8(Book book,RequestBody Map map,RequestHeader(jwt) String jwt){
//        System.out.println(刘三金去拿奶茶喽。。。);log.info(BookBook:{},book.toString());log.info(RequestBody参数Map:{},map);log.info(RequestHeader参数jwt:{},jwt);
//      fail..error warning info debugreturn index;} 测试结果 3.返回值 
void 
先写工具类 
package com.zking.utils;import java.io.PrintWriter;import javax.servlet.http.HttpServletResponse;import com.fasterxml.jackson.databind.ObjectMapper;public class ResponseUtil {public static void write(HttpServletResponse response,Object o)throws Exception{response.setContentType(text/html;charsetutf-8);PrintWriter outresponse.getWriter();out.println(o.toString());out.flush();out.close();}public static void writeJson(HttpServletResponse response,Object o)throws Exception{ObjectMapper om  new ObjectMapper();
//		om.writeValueAsString(o)代表了json串write(response, om.writeValueAsString(o));}
}package com.zking.web;import com.zking.utils.ResponseUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;/*** author bing人* site* company xy集团* create 2023-09-06 22:12*/
Controller
RequestMapping(/rs)
public class ReturnController {RequestMapping(/hello1)public void hello1(HttpServletResponse response){MapString,Object mapnew HashMap();map.put(code,200);map.put(msg,成功添加。);try {ResponseUtil.writeJson(response,map);} catch (Exception e) {e.printStackTrace();}}
}测试结果 Map ResponseBody//响应json数据RequestMapping(/hello2)public Map hello2(HttpServletResponse response) {MapString, Object map  new HashMap();map.put(code, 200);map.put(msg, 成功添加。);return  map;} 测试结果 String RequestMapping(/hello3)public String hello3() {return index;} 测试结果 Stringmodel //StringmodelRequestMapping(/hello4)public String hello4(Model model, HttpServletRequest request) {model.addAttribute(currentName,浏阳鞭炮);request.setAttribute(location,来自于刘老板的);return index;}测试结果 ModelAndView 4.页面跳转 
转发 
// 场景一转发到后台的某一个方法(当前类)RequestMapping(/hello6)public String hello6(){System.out.println(hello6);return forward:hello2;}// 场景二转发到后台的某一个方法(其他类)RequestMapping(/hello7)public String hello7(){System.out.println(hello7);return forward:/param/hello1;}测试结果 重定向 // 场景三重定向到后台的某一个方法(当前类)RequestMapping(/hello8)public String hello8(){System.out.println(hello8);return forward:hello2;}// 场景四重定向后台的某一个方法(其他类)RequestMapping(/hello9)public String hello9(){System.out.println(hello9);return forward:/param/hello1;} 
测试结果